2011-08-12 37 views
0

我有一個小的gradle構建,它使用第三方插件,它在運行gradle命令時效果很好,然後添加包裝器任務,以便分發代碼,並且可以使用非gradle用戶。當我去測試gradlew命令時,我甚至無法運行gradlew任務它失敗,說該插件丟失。使用包裝器時未找到Gradle插件

是否還有其他需要配置的配置?

我的包裝任務:

task wrapper(type: Wrapper) { 
    gradleVersion = '1.0-milestone-2' 
    jarFile = 'wrapper/wrapper.jar' 
} 

全力打造文件:https://github.com/beckje01/Multi-Combobox/blob/master/build.gradle

+0

你的錯誤信息是什麼?它與包裝或第三方插件有關嗎?在嘗試通過「gradlew」發佈任何內容之前,你運行過「gradle wrapper」嗎? –

+0

是的,我首先運行包裝,錯誤信息是找不到插件。 –

+0

你可以發佈定義插件的Gradle腳本部分嗎? –

回答

1

基於此插件,你得從源代碼構建它,並把它放進你的搖籃的目錄lib/pluginsdocumentation分配。我的猜測是你在切換到Gradle包裝之前所做的。每當你使用Gradle包裝時,你的本地安裝的發行版都不再使用了。 Gradle下載發行版並將其放在~/.gradle/wrapper/dists/gradle-1.0-milestone-2之下。實現這種運行的一種方法是將插件放在那裏,就像以前一樣。但是,這不會讓其他人檢查你的代碼並運行構建。這是使用Gradle包裝器的關鍵。

我會在你的情況下做的是將插件工件上傳到中央存儲庫,並在您的構建腳本中引用它。雖然它看起來不像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' 
    } 
} 
+0

看起來它應該工作我會試一試,我只是覺得包裝任務的關鍵點實際上是爲你捆綁所有的東西,所以我認爲它會爲你安裝插件,但我想我有點偏離。 –