Gradle中使用idea外掛的一些實踐

黃博文發表於2013-12-04

如果你的專案使用了Gradle作為構建工具,那麼你一定要使用Gradle來自動生成IDE的專案檔案,無需再手動的將原始碼匯入到你的IDE中去了。

如果你使用的是eclipse,可以在build.gradle中加入這麼一行.

1
apply plugin: 'eclipse'

然後在命令列中輸入gradle eclipse就可以生成eclipse的專案檔案,直接使用eclipse開啟生成的專案檔案即可。

當然作為Java程式開發者,最好使的IDE還是Intellij,昨天聽聞Intellij 13已經發布了,增加了不少新功能,看來又要掏腰包了。如果要讓Gradle自動生成Intellij的專案檔案,需要使用idea外掛。

1
apply plugin: 'idea'

命令列下輸入gradle idea,就會生成Intellij的專案檔案,真是省時省力。如果在已經存在Intellij的專案檔案情況下,想根據build.gradle中的配置來更新專案檔案,可以輸入gradle cleanIdea ideacleanIdea可以清除已有的Intellij專案檔案。

Intellij專案檔案主要有三種型別。

  • .ipr Intellij工程檔案

  • .iml Intellij 模組檔案

  • .iws Intellij 工作區檔案

如果只簡單的使用gradle idea生成Intellij的工程檔案,其實在使用Intellij開啟專案以後,我們還要做一些手工配置,比如指定JDK的版本,指定原始碼管理工具等。Gradle的idea命令本質上就是生成這三個xml檔案,所以Gradle提供了生成檔案時的hook(鉤子),讓我們可以方便的做定製化,實現最大程度的自動化。這就需要自定義idea這個任務了。

1
2
3
4
idea.project {
     jdkName = '1.6'
     languageLevel = '1.6'
}

這個用來配置專案的jdk及languageLevel。

如果要指定原始碼管理工具型別,就需要呼叫hook修改生成的ipr檔案。

1
2
3
4
5
6
7
8
9
idea.project {

    ipr {
        withXml { provider ->
            provider.node.component.find { it.@name == 'VcsDirectoryMappings' }.mapping.@vcs = 'Git'
        }
    }

}

通過這種方式可以最大限度的實現對Intellij專案檔案的定製化。

相關文章