gpt4 book ai didi

git - 如何使用gradle解析git clone的输出

转载 作者:行者123 更新时间:2023-12-03 05:40:48 29 4
gpt4 key购买 nike

我需要从命令执行git clone https://user:pass@domain.com/testing/project.git的输出中解析出项目名称,然后像克隆的项目一样重打印它:gradle中的“project-name”。

当我在没有gradle的终端中简单地运行命令时,我得到的输出模式如Cloning into'project'...,然后是一些其他无关的行。项目名称始终以单引号引起来。

我检查了其他线程中提到的一些建议,但是仍然在终端上打印出了默认输出。因此,我无法从那里获取项目名称。

这是我的build.gradle:

def getProjectName = { ->
def cloneOutput = new ByteArrayOutputStream()
exec {
commandLine "git", "clone", "https://user:pass@domain.com/testing/project.git"
standardOutput = cloneOutput
}

return cloneOutput.toString().trim()
}

task printProjectName {
doLast {
println getProjectName()
}
}

任何的想法?

最佳答案

可以使用Gradle-git plugin进行克隆。要使用该插件,您应该先下载它:

buildscript {
repositories { mavenCentral() }
dependencies { classpath 'org.ajoberstar:gradle-git:0.2.3' }
}

然后编写这样的任务:
import org.ajoberstar.gradle.git.tasks.*

task cloneGitRepo(type: GitClone) {
def destination = file("destination_folder")
uri = "your_git_repo_uri"
destinationPath = destination
bare = false
enabled = !destination.exists() //to clone only once
}

关于git - 如何使用gradle解析git clone的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53136077/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com