2015-01-09 97 views
4

我正在使用Gradle maven插件來構建一個用於另一個不相關項目的人造物。隨着內置的.jar人造體,我還想生成並安裝它旁邊的人造物。Gradle:使用javadocs進行gradle安裝

使用gradle clean build javadoc install產生在當地構建文件的JavaDoc,並安裝內置假象,以本地資源庫,但目前不建立和沿側將其安裝-javadoc.jar

有沒有辦法在Gradle中使用mavenjavadoc插件來做到這一點?我不介意寫一個自定義任務來完成它,但如果存在的話,我寧願使用「官方支持」的方式。

的build.gradle文件:

project.group = "org.example.artefact" 
project.version = "1.0-SNAPSHOT" 

apply plugin: 'java' 
apply plugin: 'maven' 

dependencies { 
    // ... 
} 

uploadArchives { 
    repositories { 
     mavenDeployer { 
      // Custom repository location 
      repository(url: "file:///home/user/.m3/repository") 
     } 
    } 
} 
+0

很好的問題......我確實讓我的build.gradle文件來做到這一點,但我不明白他們爲什麼會工作... – fge

回答

6

的Javadoc由javadoc任務(我想你被錯誤指的是它作爲一個插件)製作。運行buildinstall時,此任務實際上並未被默認執行。另外,您需要定義一個jar任務來捆綁javadoc並通過將其添加到artifacts {...}塊來告訴您的構建發佈該構件。

task javadocJar(type: Jar) { 
    classifier = 'javadoc' 
    from javadoc 
} 

artifacts { 
    archives javadocJar 
} 

運行install應該同時創建javadoc jar並將其發佈到maven local。此外,運行uploadArchives會將該工件發佈到任何配置的存儲庫。

編輯:更新後,添加javadoc jar任務的定義。

+0

謝謝。這有助於解決方案。唯一的問題是javadoc任務沒有生成Jar artefact(在我使用的Gradle版本中:2.2.1),所以我不得不介紹一個自定義任務來生成javadoc jar。 – lmika

+0

是的,對不起。我已經更新了我的答案,以反映需要創建額外的'jar'任務。 –

相關問題