當前位置:編程學習大全網 - 源碼下載 - Groovy源代碼含義

Groovy源代碼含義

最近的項目挺煩的。Maven同意標準的Java項目代碼結構;

項目

- src

-主

- java

-資源

-測試

- java

-資源

“Grad LEIDEA”構建intelliJ項目文件並幫助設置源根目錄測試源根目錄。我在部門工作,希望更容易考unitintg2類別。測試的目的與為構建管道提供運行相同類別測試的能力是壹樣的。我們部門的標準Java項目結構:

項目

- src

-主

- java

-資源

-測試

-常見

- java

-單位

- java

-資源

- intg

- java

-資源

目錄結構我有兩個問題要解決:

1.在哪裏運行IntegrationTestUnit測試?

2.如何保證‘Grad Le Idea’需要重置?測試源Rootgradle具有識別新代碼結構的能力。

如何編寫Gradle插件

語言:

JavaGroovyScala推薦Groovy。畢竟Gradle本質上說的是用Groovy寫DSL更合適。

註射類型:

Gradle支持三種形式的定制插件註入:

1.直接插件源代碼直接寫構建腳本面。

2.Pluigin源代碼寫root project dir/buildrsrc/src/main/groovy目錄。

3.用單獨的項目寫插件源代碼,以jar依賴的形式註入到項目中。

我想大家都想自己寫壹個插件,為項目設置壹個公共插件,或者直接為插件代碼寫壹個腳本,自定義插件。我認為它需要以壹個單獨的罐子的形式被註射。

編寫項目結構插件:

Gradle寫插件不容易。首先,添加項目依賴項。我用Groovy寫插件添加的localGroovy依賴項。

格雷爾碼

應用插件:“groovy”

依賴關系{

編譯gradleApi()

編譯localGroovy()

}

要寫插件實現代碼,妳需要實現插件接口,也就是我需要實現代碼做兩件事來定制項目代碼結構。其次,添加integrationTest任務,該任務運行* Integration Test。類,並在生成管道階段運行單元TestIntegrationTest。

Groovy代碼

導入org.gradle.api.Plugin

導入org.gradle.api.Project

導入org . grad le . API . tasks . testing . test

類ProjectStructurePlugin實現插件{

@覆蓋

作廢應用(項目項目){

project.logger.info“為project.name配置項目結構”

project.configurations {

integrationTestCompile { extends from test compile }

integrationTestRuntime { extends from integrationTestCompile,testRuntime }

}

配置資源集(項目)

addIntegrationTestTask(項目)

}

私有void addIntegrationTestTask(項目項目){

Test intgTest = project.getTasks()。create("integrationTest ",test . class);

int gtest . test classes dir = project . source sets . integration test . output . classes dir

int gtest . includes =[* */* integration test . class "]

intgTest.inputs.dir 'src '

int gtest . outputs . dir project . source sets . integration test . output . classes dir

project . check . depends on project . integration test

依賴於項目

}

私有void configureSourceSets(項目項目){

project.sourceSets {

測試{

java

srcDir 'src/test/unit/java '

srcDir 'src/test/common/java '

}

資源{

src dir ' src/測試/單元/資源'

}

}

集成測試{

java

srcDir 'src/test/intg/java '

srcDir 'src/test/common/java '

}

資源{

srcDir 'src/test/intg/resources '

}

compileClasspath = project . source sets . main . output+project . source sets . test . output+project . configuration s . integrationtestcompile

runtime class path = output+compile class path+project . configuration s . integration testruntime

}

}

}

}

然後項目src/main/resources/meta-INF/grad le-Plugins目錄創建壹個文件:。屬性,它指定插件實現類:

Java代碼

implementation-class = com . xianlinbox . plugins . projectstructureplugin

該項目使用這個插件。

首先需要build.gradle腳本來引入Pluginjar包的依賴文件形式。建議發布jar包,註入Maven庫的Maven依賴形式。此示例使用了此文件依賴關系:

Groovy代碼

構建腳本{

依賴關系{

類路徑文件樹(目錄:' libs ',包含:' *。罐子’)

}

}

註入和編寫插件。註意,這個插件必須由java plugin使用。它使用SourceSets屬性。該插件被引入到:

Groovy代碼

應用插件:“java”

應用插件:“項目-結構”

插件通過“gradle test”和“gradle integration test”運行UnitTestIntrgrationTest。

要解決自行設置測試源根的問題,需要通過build.gradleideaModule任務來增加識別測試源根的能力,即:

Groovy代碼

應用插件:“想法”

...

想法{

模塊{

testSourceDirs+= file(' src/test/intg/Java ')

testSourceDirs+= file(' src/test/intg/resources ')

}

}

我編寫插件來設置項目結構:

Groovy代碼

......

compileClasspath = project . source sets . main . output+project . source sets . test . output+project . configuration s . integrationtestcompile

runtime class path = output+compile class path+project . configuration s . integration testruntime

project.idea {

模塊{

testSourceDirs = testSourceDirs +新文件(' src/test/intg/java') +新文件(' src/test/intg/resources ')

}

}

1,安裝

Maven的Gradle安裝需要加載()= = "解壓縮= = "配置環境變量(gradle _ home &;PATH)配置環境變量。記住使用source命令使新的環境變量有效地配置函數。命令行gradle -v "驗證是否安裝了該函數。

2.Gradle編譯Maven風格的java項目。

首先,在項目根目錄下創建壹個“build.gradle”文件。要編譯壹個java項目,需要使用gradlejava插件。

Groovy代碼

應用插件:“java”

要集成maven功能,需要添加maven插件。

Groovy代碼

應用插件:“maven”[

然後配置項目存儲庫樣式。

Groovy代碼

存儲庫{

maven central();

}

該示例使用默認的maven中央庫,並希望使用該庫的壹般配置。

Groovy代碼

def localMavenRepo = ' File://'+new File(system . getproperty(' user . home '),' . m2/repository ')。絕對路徑

存儲庫{

//使用本地Maven repo位置。如果我們只想安裝,我們不需要這個

//壹個工件,但是如果我們想從本地使用依賴項,我們確實需要它

//知識庫。

maven repo URL:localMavenRepo

mavenCentral()

}

重新配置項目取決於第三個庫配置模板:

Groovy代碼

依賴關系{

編譯組:“”,名稱:“”,版本:“”

}

例如,假設項目依賴於版本4.10的junit配置。

Groovy代碼

編譯組:“junit”,名稱:“junit”,版本:“4.10”

此外,Depencies縮寫為

Groovy代碼

編譯“::”

例子

Groovy代碼

編譯“junit:junit:4.10”

鶴子項目發布庫

Groovy代碼

上傳檔案{

存儲庫{

mavenDeployer {

存儲庫(URL:“file://localhost/tmp/my repo/”)

}

}

  • 上一篇:大智慧中的威廉指標的用法,請詳細解釋壹下,謝謝!
  • 下一篇:想要學人工智能需要學些什麽python的知識
  • copyright 2024編程學習大全網