我有一个运行脚本的gradle项目,在其中的某个地方,我需要克隆一个git存储库。我以前用svn运行过它,但是我将我们公司的SCM更改为gitlab,我需要修改代码,这样它就可以从git克隆回购了。
我需要一些类似于SVN代码的东西:
task exportLibs(type: SvnExport) {
svnUrl = "http://<svn-url>"
targetDir = "<target-dir-to-download-files>"
}所以我读到了关于Grgit的文章,但是没有一个在线的例子,就是如何做一个简单的git克隆(只有这个链接http://ajoberstar.org/grgit/docs/groovydoc/org/ajoberstar/grgit/operation/CloneOp.html)。如果有人能帮我解决这个问题,或者让我参加他的grgit项目,让我从中学习,那就太棒了!
-编辑--
当我尝试使用grgit时,如下所示:
group 'test'
version '1.0-SNAPSHOT'
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "org.ajoberstar:gradle-git:1.7.2"
}
}
apply plugin: 'java'
apply plugin: 'org.ajoberstar.grgit'
org.ajoberstar.grgit.auth.hardcoded.allow=true
task pullFromGit{
doLast {
//grgit.pull()
}
}
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12'
}我已经使用这个属性对其进行了初始化,并得到了以下错误:
评估根项目“grgit”时出现了一个问题。 无法获得org.gradle.api.Project类型的根项目“grgit”的未知属性“org”。
发布于 2017-08-09 12:02:27
我的代码中可能包含了一些特殊的导入,因为最终我能做的唯一的克隆就是shell exec。问题解决了,但不是我的窃听器.
发布于 2017-07-24 11:26:57
项目的github页面上有指向一些示例和API文档的链接。下面的代码片段将解决您的问题(在本例中,它将将grgit项目克隆到grgit目录)
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'org.ajoberstar:grgit:1.7.2'
}
}
task hello {
doLast {
org.ajoberstar.grgit.Grgit.clone(dir: 'grgit', uri: 'https://github.com/ajoberstar/grgit.git')
}
}对编辑问题的答复
文档声明org.ajoberstar.grgit.auth.hardcoded.allow是一个系统属性。您的赋值不是设置系统属性的有效方法,有关在groovy中设置系统属性的示例,请参阅这个问题的答案。
https://stackoverflow.com/questions/45275731
复制相似问题