2017-08-01 32 views
0

對於幾乎所有的Java項目,我都定義了一個新的Gradle任務來構建帶有javadoc的jar。具體來說,我添加以下幾乎所有build.gradleIntellij:定義用於所有新Java項目的默認任務

task jarJavadoc(type: Jar, dependsOn: ['javadoc']) { 
    classifier = 'javadoc' 
    from javadoc.destinationDir 
} 

artifacts { 
    archives jarJavadoc 
} 

是否有配置的IntelliJ這樣它會自動將這些線的每一個新的搖籃Java項目的方法嗎?

+1

你可以開發一個搖籃插件,它實現了這個功能。然後,你只需要在相應的Gradle構建文件中應用該插件即可。 –

回答

2

我想你可以探索一些選項:

  • 第一個是你的GRADLE_HOME目錄中創建一個gradle這個文件(例如:init.gradle)(例如〜/ .gradle/)並在那裏定義公共部分。在處理構建腳本時,Gradle始終應用這些文件first。請注意,您配置的所有內容都將在您機器上每個Gradle項目的 中提供。這意味着例如如果您依賴於Java插件上的 (就像您在您提供的示例中那樣)並且創建了其他不依賴於Java的項目,則此方法可能會產生 配置錯誤,請謹慎使用它。

  • 您可以編寫一個簡單的Gradle插件,將您需要的常見任務添加到項目中。通過這種方法,您仍然需要複製apply plugin: 'your plugin'

  • 您可以利用File and Code templates並更新Gradle構建腳本模板以包含公共代碼。
  • 你也可以混合最後2個例子並編寫一個配置常用任務的插件並修改Gradle構建腳本模板以包含你的插件。
0

您可以應用nebula.javadoc-jar插件。

如:

plugins { 
    id 'nebula.javadoc-jar' version '5.1.0' 
} 
相關問題