Contenu connexe Similaire à Spring in-summer-gradle-hands on-withanswers (20) Plus de Takuma Watabiki (13) Spring in-summer-gradle-hands on-withanswers6. 自己紹介
• 綿引 琢磨(わたびき たくま)
• 株式会社デライトテクノロジーズ 代表取締役
• JGGUG運営委員
• @bikisuke
• 共著『Gradle徹底入門』
18. 柔軟な記述
task hello << {
println new Messenger().greet(‘Gradle’)
}
public class Messenger {
private String message = “Hello,“;
public String greet(String name) {
return message + name + “!”;
}
}
スクリプト内でクラスを
定義することも可能
22. マルチ言語対応
• JVM
• Java, Groovy, Scala
• Android
• Android Studio のビルドツールとして採用
• Native
• C, C++, Objective-C, など
• その他
• C#(コミュニティプラグイン)など
26. GVMによるインストール
$ gvm i gradle
Downloading: gradle 2.6
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 354 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0
100 62.4M 100 62.4M 0 0 3495k 0 0:00:18 0:00:18 --:--:-- 4370k
Installing: gradle 2.6
Done installing!
Do you want gradle 2.6 to be set as default? (Y/n): Y
Setting gradle 2.6 as default.
61. 標準プラグイン
カテゴリ プラグイン名 プラグインID 概要
言語 Javaプラグイン java
Javaプロジェクトのビ
ルド機能
言語 Groovyプラグイン groovy
Groovyプロジェクトの
ビルド機能
統合 Applicationプラグイン application
Javaプロジェクトのビルド
とコマンドライン実行機能
統合 Warプラグイン war
Javaプロジェクトのビルド
とWARファイル生成機能
開発 Checkstyleプラグイン checkstyle
Javaソースの静的解析
とレポート出力機能
開発 PMDプラグイン pmd
Javaソースの静的解析
とレポート出力機能
62. コミュニティプラグイン
カテゴリ プラグイン名 プラグインID 概要
統合 Tomcatプラグイン com.bmuschko.tomcat
組み込みTomcatの起動
停止やデプロイ機能
言語 SSHプラグイン org.hidetake.ssh
SSHによるコマンド実
行やファイル転送機能
統合 Bintrayプラグイン com.jfrog.bintray
Bintrayへのアーティフ
ァクト発行機能
統合
Spring-Boot
プラグイン
spring-boot Spring-boot実行機能
86. /**
* 3-1-1. 「Hello, Gradle!」と出力するHelloタスクを作成してください。
* 出力には「println '文字列'」が使えます。
*/
task Hello << {
println 'Hello, Gradle!'
}
/**
* 3-1-2. 3-1-1で作成した「Helloタスク」と同じ処理をdoLastを使った
*「Hello2タスク」として作成してください。
*/
task Hello2 {
doLast {
println 'Hello, Gradle!'
}
build.gradle(1/2)
89. 依存関係の定義方法
task TASK_A << {
// タスク処理
}
task TASK_B << {
// タスク処理
}
// TASK_B は TASK_A に依存している
TASK_B.dependsOn TASK_A
90. 順序付けの定義方法
task TASK_A << {
// タスク処理
}
task TASK_B << {
// タスク処理
}
// TASK_B は TASK_Aの後に実行される
TASK_B.mustRunAfter TASK_A
TASK_B.shouldRunAfter TASK_A
103. タスクの実行と確認
• 定義したタスクを実行します。
‣ gradle deployWar startTomcat
• タスク実行前にTomcatが起動していたら、
shutdown.sh(bat)で停止してください。
• 「BUILD SUCCESSFUL」となることを確認
してください。
• 期待通りの結果になることを確認してください。
106. apply plugin: 'war'
sourceCompatibility = 1.8
targetCompatibility = 1.8
repositories {
mavenLocal()
}
dependencies {
compile group: 'org.springframework', name: 'spring-webmvc',
version:'4.1.7.RELEASE'
providedCompile group: 'javax.servlet', name: 'javax.servlet-api', version:'3.0.1'
}
build.gradle(1/2)
107. war {
baseName = 'helloApp'
version = ''
}
task deployWar(type: Copy) {
from 'build/libs/helloApp.war'
into '../../tomcat/webapps'
}
task startTomcat(type: Exec) {
workingDir '../../tomcat/bin'
commandLine 'cmd', '/c', 'startup.bat'
}
deployWar.dependsOn build
startTomcat.mustRunAfter deployWar
build.gradle(2/2)