我想在我的系统中克隆一个私有(private)存储库。我可以克隆 公众 repo 使用:
def myrepo = org.ajoberstar.grgit.Grgit.clone(dir:'', uri:'')
但如果是私有(private) repo ,我需要提供克隆凭证。我经历过这个link ,但此处给出的属性如
Force
, Hardcoded
在我的 gradle 中不可用。所以,我无法使用这里给出的属性。以下属性可供我使用:
org.ajoberstar.grgit.auth.AuthConfig.FORCE_OPTION
org.ajoberstar.grgit.auth.AuthConfig.USERNAME_OPTION
org.ajoberstar.grgit.auth.AuthConfig.PASSWORD_OPTION
如果我给这些值任何值,我会得到错误 Cannot assign value to final fields
任何人都可以帮助认证部分吗?
我正在使用依赖
org.ajoberstar:grgit:1.3.0
.
最佳答案
您提供的链接明确指出 系统属性需要用来传递适当的设置。
因此,您需要通过命令行运行 gradle 并传递所有属性。假设这是 build.gradle
文件:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'org.ajoberstar:grgit:1.3.0'
}
}
task cloneRepo << {
org.ajoberstar.grgit.Grgit.clone(dir: '', uri: '<link to private repo>')
}
运行它:
gradle cloneRepo -Dorg.ajoberstar.grgit.auth.username=your_username -Dorg.ajoberstar.grgit.auth.password=your_pass -Dorg.ajoberstar.grgit.auth.force=sshagent
关于gradle - 通过提供身份验证在任务中克隆 git 存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34715981/