我有一个小的gradle构建,它使用第3方插件,在运行gradle命令时效果很好,然后添加了wrapper任务,这样我就可以分发代码,并且可以由非gradle用户构建。当我去测试gradlew命令时,我什至无法运行gradlew任务,但它失败了,提示缺少插件。
是否需要进行其他配置?
我的包装任务:
task wrapper(type: Wrapper) {
gradleVersion = '1.0-milestone-2'
jarFile = 'wrapper/wrapper.jar'
}
完整的构建文件:https://github.com/beckje01/Multi-Combobox/blob/master/build.gradle
最佳答案
基于此插件的documentation,您必须从源代码构建它,并将其放入Gradle发行版的lib/plugins
目录中。我的猜测是您切换到Gradle包装器之前所做的。每当您使用Gradle包装器时,就不再使用本地安装的发行版。 Gradle下载发行版并将其放在~/.gradle/wrapper/dists/gradle-1.0-milestone-2
下。一种运行该方法的方法是像以前一样将插件放入其中。但是,这不会使它为 checkout 您的代码并运行构建的其他人运行。这就是使用Gradle包装器的全部要点。
在您的情况下,我要做的就是将插件 Artifact 上传到中央存储库,并在构建脚本中引用它。它看起来似乎无法在Maven Central上使用。您可以将其上传到GitHub项目,并在构建脚本中引用它,如下所示:
buildscript {
repositories {
add(new org.apache.ivy.plugins.resolver.URLResolver()) {
name = 'GitHub'
addArtifactPattern 'http://cloud.github.com/downloads/[organisation]/[module]/[module]-[revision].[ext]'
}
mavenCentral()
}
dependencies {
classpath 'beckje01:jslib:0.5'
classpath 'com.google.javascript:closure-compiler:r706'
}
}
关于gradle - 使用包装器时找不到Gradle插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7034385/