2015-09-05 312 views
0

像Maven一樣,我們可以定義一個全球公司POM,可以用於所有項目。Gradle公司的母公司

這是如何工作的搖籃?

我想定義一個可用於所有即將開展的項目的全局父項,但我不知道如何使用Gradle完成此操作。我正在閱讀文檔,但這只是談論項目/父母的風格,而不是全球風格。

回答

1

而不是讓你的項目從一個共同的父母「繼承」,你通常會封裝常見的登錄信息Gradle plugin並將該插件應用到所有項目。

0

這個問題與已經回答的問題gradle parent pom like feature非常相似。我想指出從那以後Gradle發生了什麼變化。

Gradle沒有直接與Mavens母POM結構相比的概念。確實,可以使用自定義Gradle插件將公司默認應用於由Gradle構建的項目。我發現一個很好的Blog Post詳細描述了這一點。

但是搖籃不止於此。 Gradle有Initialization Scripts用於在公司內的項目之間共享構建邏輯。下面的例子,manifest_defaults.gradle腳本,可以用來添加默認MANIFEST條目罐子通過基於Java項目生成的文件建立:

allprojects { 
    afterEvaluate { project -> 
     if (project.plugins.hasPlugin('java')) { 
      project.jar { 
       manifest { 
        attributes { 
         "Implementation-Title": project.archivesBaseName, 
         "Implementation-Vendor": "My Company" 
        } 
       } 
      } 
     } 
    } 
} 

在企業初始化腳本結合最好使用定製company Gradle distributions。將其與Gradle Wrapper相結合是一個強大的功能。