2013-02-03 42 views
3

我開始使用Gradle進行多項目。但是,Gradle手冊沒有提供關於子項目命名最佳實踐的許多提示。Gradle多項目命名:如何爲所有子項目設置屬性(例如baseName)?

我有一個名爲「數據記錄器」,它由兩個子項目「核心」和「項」的多項目:

- datalogger 
--- core 
--- entries 

當我生成項目,我得到的罐子「核心 - 1.0.jar '和'entries-1.0.jar'。我如何以通用的方式管理命名爲'datalogger-core-1.0.jar'和'datalogger-entries-1.0.jar'?我知道,我可以更改文件夾的名稱,如下所示:

- datalogger 
--- datalogger-core 
--- datalogger-entries 

但我不認爲這是好方法。我也可以手動更改每個項目的archivesBaseName。但如前所述,我寧願找到一種通用的方法來實現這一點。

+0

[春](https://github.com/ SpringSource/spring-framework)通過命名每個子項目spring-xxx來完成它。 [hibernate](https://github.com/hibernate/hibernate-orm)也是這樣做的。 –

+0

@JBNizet:謝謝,也許這是不錯的做法,因爲我首先假設。它實際上可以解決所有問題。 –

回答

8
subprojects { 
    tasks.withType(Jar) { 
     baseName = "datalogger-$project.name" 
    } 
} 

或者,您可以用類似的方法設置archivesBaseName

+1

Maven發佈任務忽略archivesBaseName – cmcginty

相關問題