Gradle (OSX上的2.12版本)无法在下面的示例中找到Grgit的定义,除非git.gradle的内容被复制到build.gradle中。如何在不丢失git.gradle的情况下修复此错误?
build.gradle
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'org.ajoberstar:gradle-git:1.4.2'
}
}
apply from: 'git.gradle'git.gradle
import org.ajoberstar.grgit.*
task clone << {
Grgit.clone(dir: file('build/repo'), uri: 'git@github.com:user/repo.git')
}这是输出:
$ gradle clone
...
Execution failed for task ':clone'.
> Could not find property 'Grgit' on task ':clone'.发布于 2016-04-03 14:35:30
找到解决办法:将Grgit添加为ExtraPropertiesExtension project.ext,将其公开给导入的Gradle脚本。(不确定是否有更清洁的方法.)
build.gradle
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'org.ajoberstar:gradle-git:1.4.2'
}
}
// expose Grgit to `git.gradle`
project.ext.Grgit = org.ajoberstar.grgit.Grgit
apply from: 'git.gradle'git.gradle
// no import needed here
task clone << {
Grgit.clone(dir: file('build/repo'), uri: 'git@github.com:user/repo.git')
}撇开:通过应用gradle-git,插件自动project.ext.grgit。如果您只需要使用当前项目的Git,就不需要公开来自build.gradle的build.gradle,git.gradle可能如下所示:
apply plugin: 'org.ajoberstar.grgit'
task commitReadme << {
grgit.add(patterns: ['README.md'])
grgit.commit(message: "Update README for ${rootProject.version}")
}https://stackoverflow.com/questions/36385526
复制相似问题