package com.fishimport org.gradle.api.Pluginimport org.gradle.api.Project/** * Created by fish on 17/1/24. */class FirstPlugin implements Plugin9、此时plugin已经有了,就是FirstPlugin,我们需要把他传到Maven Central或者jcenter上,这样大家都可以用了,这里只是个demo,我就不上传了,我把他放在本地。如何配置:{ void apply(Project project) { def showTipTask = project.tasks.create("showTips") << { println(hello I am the first custom plguin) } showTipTask.group = "funny" showTipTask.description = "Hello baby" }}
在build.gradle内加如下代码,这些代码事件上是定义了一个task叫uploadArchives,执行uploadArchives就会把gradle插件打包然后上传到本地或者远端。
apply plugin: mavenuploadArchives { repositories { mavenDeployer { repository(url: uri(repo)) } }}10、此时可以尝试生成插件,执行uploadArchives这个任务就行,有2种方法。方法1是点击view-tool windows-gradle,在右边找到uploadArchives,找不到的话可以点击蓝色刷新按钮刷新一下,如下所示
方法2是还可以在IJ的terminal窗口执行./gradlew uploadArchives,推荐使用这种方法,可以看到清楚的日志,特别是失败时日志信息很关键
10、不幸的是,失败了,日志如下
Starting a Gradle Daemon (subsequent builds will be faster):compileJava UP-TO-DATE:compileGroovy FAILEDFAILURE: Build failed with an exception.
可以用./gradlew uploadArchives --stacktrace看更详细的信息,得到信息如下所示
Caused by: groovy.lang.GroovyRuntimeException: Conflicting module versions. Module [groovy-all is loaded in version 2.4.7 and you are trying to load version 2.3.11 ... 10 more
看来是有2个groovy-all,原来IJ依赖了我默认的groovy是2.4.7版本的,然后这里工程又依赖了2.3.11版本的,所以当然会出错了,解决方法是在build.gradle里注释掉compile org.codehaus.groovy:groovy-all:2.3.11这行代码。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-35525-2.html
这种做错事不道歉的官僚作风不除
尤其改革开放初期