前面有介紹如何建立web專案或是Java專案等等,本章詳細說明Gralde
- 多Gradle腳本運用
當你需要載入其他gradle腳本時,使用apply from 還載入
語法: apply from: <Path of otherfile.gradle>
範例一、 多Gradle腳本載入 C\:>calcuate.gradle //計算 apply plugin: 'java' task task1 { println "task1" } C\:>project.gradle apply from: "calcuate.gradle" task mainTask { task1 |
二位元插件
二進位插件必須實做Plugin的介面功能後,你可以載入它到你的建構腳本。Gradle已經內件函式庫
可以使用。如果你想要使用其他third-party pluings,需要確定可用的classpath路徑,請使用buildscript{}
來設定。
語法 : apply plugin: '<pluginid>'
範例一、 apply plugin : “java”
- Gradles內建plugins
(1) 建構和測試常用plugins
Java , Groovy , Scala, War
(2) 分析plugins
Checkstyle ,FindBugs ,Sonar ,Sonar Runner ,PMD
(3) IDE plugins
Eclipse, IDEA ..etc
參考: https://docs.gradle.org/current/userguide/userguide.
- Third plugins
- Java plugin
Java plugin是Gradle的核心一部份,它可以保證我們建構Java專案可以正確編譯、測試和打包。
載入方式為apply plugin: 'java'。
接下來討論建構的任務,我們可以在命令列執行下列的指令:
$ gradle tasks --all
可以看出顯示任務不同有建構任務、測式任務、文件任務等等,使用Java plugin需要符合內建的規範
例如: compileJava和processResources會執行src/main/java 的src/main/resources內的檔案,所以將
完成的java檔和環境設定檔需要分別放在src/main/java 的src/main/resources裡面。接下來我們會說明
gradle的Java plugin指令的功用
/build/classes底下,可以下面看到gradle所執行任務的流程。
$ gradle classes :compileJava |
範例二、testClasses用來編譯測試檔與測試環境,編譯後的.classes會放在/build/classes/test底下,
可以下面看到gradle所執行任務的流程。
$ gradle testClasses :compileJava UP-TO-DATE |
範例三、任務test除了編譯檔案外,他會幫我們產生測試報表,放在/build/reports裡面
$ gradle test C:\Users\bryan\workspace\ex1>gradle test |
範例四、使用assemble任務或是jar任務會打包.class和resource的資料到jar檔中並放在build/libs
檔案命名為<project-name>.jar ,如果有加入版本會以<name>-<version>.jar.
$ gradle assemble Total time: 11.204 secs |
範例五、 Gradle也有提供一連串完成的任務叫做build,它會從編譯、打包、測試到完整執行,就不需要
分別的執行,其中clean任務會先清除在build/裡面的資料,再進行build任務
$ gradle clean $ gradle build C:\Users\bryan\workspace\ex1>gradle clean
BUILD SUCCESSFUL |
範例六、可以在build.gradle列印出這些變數,顯示出目前目前專案libs路徑、程式的路徑等等。詳細可以查https://docs.gradle.org/current/userguide/java_plugin.html.
task displayJavaPluginConvention << { |
- 專案環境設定
在上面我們學到如何是用預設環境(default properties or conventions)去建立java專案且可以成功編譯,在本節
會學習到如何根據我們的需求客置設定環境
範例一、我們有一個專案需要將編譯的路徑做一些調整如下: 系統預設: src/main/java => src/sale 系統預設: src/test/java => src/saleTest 系統預設: buildDir = 'buildfolder' testResultsDirName = "$buildDir/new-test-result" |
留言
張貼留言