2012-07-19 83 views
4

我使用Gradle作爲我的Scala項目的構建工具。我也使用Eclipse進行開發,所以我總是在構建文件中使用apply plugin: 'eclipse'Gradle全球插件

還有一種方法可以定義全球範圍內的apply plugin嗎? SBT已經有such a feature。我之所以想這樣做,是因爲使用我的項目的其他開發人員可能不使用Eclipse,而是使用另一個IDE,他們必須根據需要更改構建腳本。如果有全局配置文件,可以將個人配置放在那裏,並且不會與其他配置衝突。

+1

我不確定問題是什麼......如果其他用戶不使用Eclipse,那麼他們不會運行'gradle eclipse'。你也可以添加另一個插件(IDEA),如果他們想要的話,他們可以使用它。據我瞭解,'apply'只是使插件可用。它不會強制所有用戶使用它。 – 2012-07-19 22:48:09

+0

嗯,沒錯。從來沒有這樣想過。我來自SBT並錯過了這個功能。 :) – pvorb 2012-07-20 10:56:23

回答

5

你可以把這個變成~/.gradle/init.gradle

rootProject.allprojects { 
    apply plugin: "eclipse" 
} 

這種方法的缺點是,它使得構建較少的重複性。人們現在需要添加一些東西到他們的init.gradle,使(構建的某些方面)工作。因此,我建議在主構建腳本中應用Eclipse插件;它不會傷害不使用它的人。

+0

現在應該是:'rootProject {apply plugin:「eclipse」}' – 2013-09-26 22:21:47

+0

對於多項目構建,'eclipse'插件必須應用於所有項目。 – 2013-09-27 04:49:56

+0

@PeterNiederwieser如果第三方插件不帶gralde並且需要添加到類路徑中,該怎麼辦? init.gradle仍然可以用這種方式嗎? – Andrejs 2015-02-19 06:44:03

0

您可以在buildSrc中創建一個build.gradle,該實現您的自定義邏輯。只是不檢查它到版本控制。要將其應用於多個項目,您可以創建一箇中央目錄,並在要應用它的項目中創建符號鏈接。