Enviar búsqueda
Cargar
Gradleどうでしょう
•
39 recomendaciones
•
17,215 vistas
Takuma Watabiki
Seguir
G*ワークショップ Z 札幌 2014 のスライドです。 某書の抜粋的な何かです。
Leer menos
Leer más
Software
Denunciar
Compartir
Denunciar
Compartir
1 de 46
Descargar ahora
Descargar para leer sin conexión
Recomendados
Gradle布教活動
Gradle布教活動
Nemoto Yusuke
Form認証で学ぶSpring Security入門
Form認証で学ぶSpring Security入門
Ryosuke Uchitate
Consistent hash
Consistent hash
paulowniaceae
Gradle - the Enterprise Automation Tool
Gradle - the Enterprise Automation Tool
Izzet Mustafaiev
Spring Framework - AOP
Spring Framework - AOP
Dzmitry Naskou
Introduction to Spring Boot
Introduction to Spring Boot
Purbarun Chakrabarti
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
NTT DATA Technology & Innovation
Spring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjug
Masatoshi Tada
Recomendados
Gradle布教活動
Gradle布教活動
Nemoto Yusuke
Form認証で学ぶSpring Security入門
Form認証で学ぶSpring Security入門
Ryosuke Uchitate
Consistent hash
Consistent hash
paulowniaceae
Gradle - the Enterprise Automation Tool
Gradle - the Enterprise Automation Tool
Izzet Mustafaiev
Spring Framework - AOP
Spring Framework - AOP
Dzmitry Naskou
Introduction to Spring Boot
Introduction to Spring Boot
Purbarun Chakrabarti
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
NTT DATA Technology & Innovation
Spring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjug
Masatoshi Tada
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Chihiro Ito
Writing and using Hamcrest Matchers
Writing and using Hamcrest Matchers
Shai Yallin
Spring boot introduction
Spring boot introduction
Rasheed Waraich
Nouveautés Java 9-10-11
Nouveautés Java 9-10-11
Mahamadou TOURE, Ph.D.
Introduction into ES6 JavaScript.
Introduction into ES6 JavaScript.
boyney123
Gradle handson
Gradle handson
Nemoto Yusuke
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
Taku Miyakawa
pg_bigmを触り始めた人に伝えたいこと
pg_bigmを触り始めた人に伝えたいこと
Masahiko Sawada
怖くないSpring Bootのオートコンフィグレーション
怖くないSpring Bootのオートコンフィグレーション
土岐 孝平
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
Recruit Technologies
Open Policy Agent (OPA) 入門
Open Policy Agent (OPA) 入門
Motonori Shindo
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
Takahiro YAMADA
ジェネリクスの基礎とクラス設計への応用
ジェネリクスの基礎とクラス設計への応用
nagise
[Golang] 以 Mobile App 工程師視角,帶你進入 Golang 的世界 (Introduction of GoLang)
[Golang] 以 Mobile App 工程師視角,帶你進入 Golang 的世界 (Introduction of GoLang)
Johnny Sung
今こそ知りたいSpring Web(Spring Fest 2020講演資料)
今こそ知りたいSpring Web(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
An Introduction to Gradle for Java Developers
An Introduction to Gradle for Java Developers
Kostas Saidis
ReactiveだけじゃないSpring 5 & Spring Boot 2新機能解説
ReactiveだけじゃないSpring 5 & Spring Boot 2新機能解説
Masatoshi Tada
Spring Core
Spring Core
Pushan Bhattacharya
Groovyで楽にSQLを実行してみよう
Groovyで楽にSQLを実行してみよう
Akira Shimosako
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
onozaty
Jjug 20140430 gradle_basic
Jjug 20140430 gradle_basic
Takuma Watabiki
Grails 2.0.0.M1の話
Grails 2.0.0.M1の話
Tsuyoshi Yamamoto
Más contenido relacionado
La actualidad más candente
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Chihiro Ito
Writing and using Hamcrest Matchers
Writing and using Hamcrest Matchers
Shai Yallin
Spring boot introduction
Spring boot introduction
Rasheed Waraich
Nouveautés Java 9-10-11
Nouveautés Java 9-10-11
Mahamadou TOURE, Ph.D.
Introduction into ES6 JavaScript.
Introduction into ES6 JavaScript.
boyney123
Gradle handson
Gradle handson
Nemoto Yusuke
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
Taku Miyakawa
pg_bigmを触り始めた人に伝えたいこと
pg_bigmを触り始めた人に伝えたいこと
Masahiko Sawada
怖くないSpring Bootのオートコンフィグレーション
怖くないSpring Bootのオートコンフィグレーション
土岐 孝平
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
Recruit Technologies
Open Policy Agent (OPA) 入門
Open Policy Agent (OPA) 入門
Motonori Shindo
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
Takahiro YAMADA
ジェネリクスの基礎とクラス設計への応用
ジェネリクスの基礎とクラス設計への応用
nagise
[Golang] 以 Mobile App 工程師視角,帶你進入 Golang 的世界 (Introduction of GoLang)
[Golang] 以 Mobile App 工程師視角,帶你進入 Golang 的世界 (Introduction of GoLang)
Johnny Sung
今こそ知りたいSpring Web(Spring Fest 2020講演資料)
今こそ知りたいSpring Web(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
An Introduction to Gradle for Java Developers
An Introduction to Gradle for Java Developers
Kostas Saidis
ReactiveだけじゃないSpring 5 & Spring Boot 2新機能解説
ReactiveだけじゃないSpring 5 & Spring Boot 2新機能解説
Masatoshi Tada
Spring Core
Spring Core
Pushan Bhattacharya
Groovyで楽にSQLを実行してみよう
Groovyで楽にSQLを実行してみよう
Akira Shimosako
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
onozaty
La actualidad más candente
(20)
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Writing and using Hamcrest Matchers
Writing and using Hamcrest Matchers
Spring boot introduction
Spring boot introduction
Nouveautés Java 9-10-11
Nouveautés Java 9-10-11
Introduction into ES6 JavaScript.
Introduction into ES6 JavaScript.
Gradle handson
Gradle handson
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
pg_bigmを触り始めた人に伝えたいこと
pg_bigmを触り始めた人に伝えたいこと
怖くないSpring Bootのオートコンフィグレーション
怖くないSpring Bootのオートコンフィグレーション
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
Open Policy Agent (OPA) 入門
Open Policy Agent (OPA) 入門
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
ジェネリクスの基礎とクラス設計への応用
ジェネリクスの基礎とクラス設計への応用
[Golang] 以 Mobile App 工程師視角,帶你進入 Golang 的世界 (Introduction of GoLang)
[Golang] 以 Mobile App 工程師視角,帶你進入 Golang 的世界 (Introduction of GoLang)
今こそ知りたいSpring Web(Spring Fest 2020講演資料)
今こそ知りたいSpring Web(Spring Fest 2020講演資料)
An Introduction to Gradle for Java Developers
An Introduction to Gradle for Java Developers
ReactiveだけじゃないSpring 5 & Spring Boot 2新機能解説
ReactiveだけじゃないSpring 5 & Spring Boot 2新機能解説
Spring Core
Spring Core
Groovyで楽にSQLを実行してみよう
Groovyで楽にSQLを実行してみよう
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
Similar a Gradleどうでしょう
Jjug 20140430 gradle_basic
Jjug 20140430 gradle_basic
Takuma Watabiki
Grails 2.0.0.M1の話
Grails 2.0.0.M1の話
Tsuyoshi Yamamoto
TDD勉強会キックオフ for Java
TDD勉強会キックオフ for Java
Yuta Kawadai
Gws 20130315 gradle_handson
Gws 20130315 gradle_handson
Nobuhiro Sue
TDC20111031_Groovy_Geb
TDC20111031_Groovy_Geb
Nobuhiro Sue
明日から使えるgradle
明日から使えるgradle
kimukou_26 Kimukou
React Native GUIDE
React Native GUIDE
dcubeio
今すぐブラウザでES6を使おう
今すぐブラウザでES6を使おう
Hayashi Yuichi
脱・独自改造! GebでWebDriverをもっとシンプルに
脱・独自改造! GebでWebDriverをもっとシンプルに
Hiroko Tamagawa
Springでdao 20070413
Springでdao 20070413
Funato Takashi
Groovy base gradle_20130309
Groovy base gradle_20130309
Nobuhiro Sue
SDLoader SeasarCon 2009 Whire
SDLoader SeasarCon 2009 Whire
Akio Katayama
MoteMote Compiler Plugin
MoteMote Compiler Plugin
yoshiaki iwanaga
Couch Db勉強会0623 by yssk22
Couch Db勉強会0623 by yssk22
Yohei Sasaki
C#実装から見るDDD(ドメイン駆動設計)
C#実装から見るDDD(ドメイン駆動設計)
Takuya Kawabe
scala-kaigi1-sbt
scala-kaigi1-sbt
Kenji Yoshida
G * magazine 0
G * magazine 0
Tsuyoshi Yamamoto
Gws 20120521 gradle
Gws 20120521 gradle
Nobuhiro Sue
どこよりも早い Spring Boot 1.2 解説 #渋谷Java
どこよりも早い Spring Boot 1.2 解説 #渋谷Java
Toshiaki Maki
gulp + sass で目指せ倍速コーディング(第2回 gulpfile.jsの分割管理と画像作成の効率化)
gulp + sass で目指せ倍速コーディング(第2回 gulpfile.jsの分割管理と画像作成の効率化)
Toshimichi Suekane
Similar a Gradleどうでしょう
(20)
Jjug 20140430 gradle_basic
Jjug 20140430 gradle_basic
Grails 2.0.0.M1の話
Grails 2.0.0.M1の話
TDD勉強会キックオフ for Java
TDD勉強会キックオフ for Java
Gws 20130315 gradle_handson
Gws 20130315 gradle_handson
TDC20111031_Groovy_Geb
TDC20111031_Groovy_Geb
明日から使えるgradle
明日から使えるgradle
React Native GUIDE
React Native GUIDE
今すぐブラウザでES6を使おう
今すぐブラウザでES6を使おう
脱・独自改造! GebでWebDriverをもっとシンプルに
脱・独自改造! GebでWebDriverをもっとシンプルに
Springでdao 20070413
Springでdao 20070413
Groovy base gradle_20130309
Groovy base gradle_20130309
SDLoader SeasarCon 2009 Whire
SDLoader SeasarCon 2009 Whire
MoteMote Compiler Plugin
MoteMote Compiler Plugin
Couch Db勉強会0623 by yssk22
Couch Db勉強会0623 by yssk22
C#実装から見るDDD(ドメイン駆動設計)
C#実装から見るDDD(ドメイン駆動設計)
scala-kaigi1-sbt
scala-kaigi1-sbt
G * magazine 0
G * magazine 0
Gws 20120521 gradle
Gws 20120521 gradle
どこよりも早い Spring Boot 1.2 解説 #渋谷Java
どこよりも早い Spring Boot 1.2 解説 #渋谷Java
gulp + sass で目指せ倍速コーディング(第2回 gulpfile.jsの分割管理と画像作成の効率化)
gulp + sass で目指せ倍速コーディング(第2回 gulpfile.jsの分割管理と画像作成の効率化)
Más de Takuma Watabiki
「普通の設計」をするということ
「普通の設計」をするということ
Takuma Watabiki
バックエンドのエンジニアがiOSアプリ開発をやってみて思うこと - フロントエンドのアーキテクチャの考察 -
バックエンドのエンジニアがiOSアプリ開発をやってみて思うこと - フロントエンドのアーキテクチャの考察 -
Takuma Watabiki
『現場で役立つシステム設計の原則』は一般的なSI現場で役立つのか?
『現場で役立つシステム設計の原則』は一般的なSI現場で役立つのか?
Takuma Watabiki
Grailsでドメイン駆動設計を実践する時の勘所
Grailsでドメイン駆動設計を実践する時の勘所
Takuma Watabiki
JGGUG Community LT 2016
JGGUG Community LT 2016
Takuma Watabiki
Spring in-summer-gradle-hands on-withanswers
Spring in-summer-gradle-hands on-withanswers
Takuma Watabiki
システム開発を前進させるためのGradle導入法
システム開発を前進させるためのGradle導入法
Takuma Watabiki
Spock's world
Spock's world
Takuma Watabiki
スーパー戦隊進化論
スーパー戦隊進化論
Takuma Watabiki
Gws in fukuoka
Gws in fukuoka
Takuma Watabiki
Devsumi2012 JGGUG LT
Devsumi2012 JGGUG LT
Takuma Watabiki
Spockを使おう!
Spockを使おう!
Takuma Watabiki
G*Magazineを読もう
G*Magazineを読もう
Takuma Watabiki
G*におけるソフトウェアテスト・シーズンIII
G*におけるソフトウェアテスト・シーズンIII
Takuma Watabiki
Groovyノススメ
Groovyノススメ
Takuma Watabiki
Más de Takuma Watabiki
(15)
「普通の設計」をするということ
「普通の設計」をするということ
バックエンドのエンジニアがiOSアプリ開発をやってみて思うこと - フロントエンドのアーキテクチャの考察 -
バックエンドのエンジニアがiOSアプリ開発をやってみて思うこと - フロントエンドのアーキテクチャの考察 -
『現場で役立つシステム設計の原則』は一般的なSI現場で役立つのか?
『現場で役立つシステム設計の原則』は一般的なSI現場で役立つのか?
Grailsでドメイン駆動設計を実践する時の勘所
Grailsでドメイン駆動設計を実践する時の勘所
JGGUG Community LT 2016
JGGUG Community LT 2016
Spring in-summer-gradle-hands on-withanswers
Spring in-summer-gradle-hands on-withanswers
システム開発を前進させるためのGradle導入法
システム開発を前進させるためのGradle導入法
Spock's world
Spock's world
スーパー戦隊進化論
スーパー戦隊進化論
Gws in fukuoka
Gws in fukuoka
Devsumi2012 JGGUG LT
Devsumi2012 JGGUG LT
Spockを使おう!
Spockを使おう!
G*Magazineを読もう
G*Magazineを読もう
G*におけるソフトウェアテスト・シーズンIII
G*におけるソフトウェアテスト・シーズンIII
Groovyノススメ
Groovyノススメ
Gradleどうでしょう
1.
Gradleどうでしょう G*workshop Z
sapporo 2014 2014/09/27
2.
自己紹介 •綿引 琢磨(わたびき
たくま) •株式会社デライトテクノロジーズ 代表取締役 •日本Grails/Groovyユーザーグループ 運営委員 •twitter : @bikisuke
3.
すいません、間に合いませんでした... •「Gradle徹底入門(仮)」(翔泳社) •@masanobuimai,
@nobusue, @literalice, @bikisuke の共著 •Gradle2.0ベース(Gradle2.1トピック有) •500ページ超の手頃な鈍器 •2014年11月刊行予定(たぶん...)
4.
今日は刊行より一足先に Gradle徹底入門 を旅することにします。
5.
とはいえ、、、さすがに 全部はできないので 抜粋してお送りします。
6.
本日のアジェンダ • スタートアップGradle
• Javaプロジェクトのビルド • Gradleの基礎 • Gradleでのテスト
7.
スタートアップGradle
8.
Gradleとは • OSSのビルドツール
• 他のビルドツールより優れてる(点が多い) • GroovyベースのDSLで柔軟性が高い • 拡張しやすいアーキテクチャを採用 • 最新バージョンは 2.1(2014年9月時点)
9.
なぜGradleなのか? • ビルドスクリプトがシンプル
• プラグインが作りやすい • 既存のツールの資産を活用できる • Maven Central リポジトリを参照可能 • いろんな言語に対応(中) • Android の公式ビルドツールとして採用 • ここ最近は C/C++ にも力を入れている
10.
ビルドツール比較 make Ant
Maven Gradle ビルド定義 パラダイム 強み 弱み スクリプトXML XML スクリプト 手続き的手続き的規約ベース規約ベース 非常にコンパクト基本機能がシンプル クロスプラットフォーム 規約による標準化 依存関係管理 規約による標準化 依存関係管理 高い柔軟性/拡張性 移植性問題 依存関係管理なし 規約無く再利用に難有り 依存関係管理なし 定義ファイルの柔軟性 規約外の場合が困難 定義ファイルの柔軟性IDE連携にやや難有り
11.
Gradleのインストール • 前提条件:
JDK6以上 • Mac/Unix系:GVMが便利 • http://gvmtool.net/ • $ gvm install gradle • Windows: 公式サイトからダウンロード • http://www.gradle.org/downloads • ZIP解凍して、環境変数Pathに <GRADLE_HOME>bin
12.
Hello, Gradle! //
build.gradle task hello << { println ‘Hello, Gradle!’ }
13.
Build Initプラグイン を使ってみる(1/2)
• Gradle標準プラグインのひとつ • ビルドプロジェクトの雛形を生成 • basic: ビルドスクリプト、Gradleラッパーを生成 • pom: pom.xml からビルドスクリプト、Gradleラッパーを生成 • java-library: basic + Java規約ディレクトリを生成 • groovy-library: basic + Groovy規約ディレクトリを生成 • scala-library: basic + Scala規約ディレクトリを生成
14.
Build Initプラグイン を使ってみる(2/2)
$ gradle init --type java-library : $ gradle build
15.
Javaプロジェクト のビルド
16.
Javaプラグイン •Javaプロジェクトのコンパイル、テスト、 アーカイブに必要なタスク、プロパティ、
規約などを提供 • ソースセット: src/main/java, src/main/resources, src/test/java, src/test/resources • タスク: clean, compileJava, test, jar など • プロパティ: sourceSets, sourceCompatibility, reportsDir, testReportDir, archivesBaseName など
17.
Javaプラグインのタスク
18.
Javaのビルドでよく使用するプロパティ タスクプロパティ用途 compileJava/
compileTestJava options エンコーディングやブートクラスパスなどのコンパ イルオプションを追加する際に使用 jar archiveName JARファイル名を設定する際に使用 test minHeapSize テストプロセスに-Xmsを設定する際に使用 tteesstt maxHeapSize テストプロセスに-Xmxを設定する際に使用 jvmArgs ヒープ以外のJVMパラメータを設定する際に使用 - sourceCompatibility コンパイル時に使用するJavaのバージョン - targetCompatibility クラス生成時のターゲットとするJavaのバージョン
19.
Javaプロジェクトの ビルドスクリプト定義例 apply
plugin: 'java' // Gradle 2.0 def defaultEncoding = 'UTF-8' [compileJava, compileTestJava]*.options*.encoding = defaultEncoding sourceCompatibility = 1.7 targetCompatibility = 1.7 jar { archiveName = 'gws-sapporo.jar' } test { minHeapSize = '512m' maxHeapSize = '512m' jvmArgs '-XX:MaxPermSize=256m' }
20.
Applicationプラグイン を使ってみる(1/2) //
Gradle 2.1 plugins { id ‘application’ } mainClassName = 'com.example.Main'
21.
Applicationプラグイン を使ってみる(2/2) $
gradle run
22.
Gradleの基礎
23.
Gradleのアーキテクチャ ビルドスクリプト サードパーティ/コミュニティ(野良)
プラグイン Gradle 標準プラグイン Gradle コアライブラリ Groovy OSS ライブラリ Java JavaVM
24.
Gradleのアーキテクチャ ビルドスクリプト サードパーティ/コミュニティ(野良)
プラグイン Gradle 標準プラグイン Gradle コアライブラリ Groovy OSS ライブラリ Java JavaVM Gradle
25.
ビルドの入力情報
26.
ビルドの入力情報
27.
初期化スクリプト • ビルドの最初で実行されるGroovyスクリプト
• 主にユーザー情報や実行環境などの初期設定 を行うために使用 • デフォルトは init.gradle • -I (--init-script) <FILE_NAME> でもOK
28.
設定スクリプト • ビルド対象のプロジェクトの設定を行う
Groovyスクリプト • 主にビルドに参加するプロジェクトを定義す る用途で使用 • デフォルトは settings.gradle • -c (--settings-file) <FILE_NAME> でもOK
29.
ビルドスクリプト • ビルドの定義を記述するスクリプトファイル
• ビルド対象がシンプルなものであれば、 このファイル1つあればOK • デフォルトは build.gradle • -b (--build-file) <FILE_NAME> でもOK
30.
スクリプトファイルの構成要素 • ステートメント
• 変数宣言、プロパティ設定など一般 的なプログラミングでのそれと同義 • スクリプトブロック • ある設定を行うための領域 • 実体はただのクロージャで、Gradle のドメインオブジェクトに委譲
31.
Gradleのドメインオブジェクト •Gradleではビルド処理を行う実行基盤 とビルド対象をドメインモデルで表現
•Mavenでいうところの Project Object Model みたいなもの •例えば... •プロジェクト → Projectオブジェクト
32.
Gradleの三大要素 •Projectオブジェクト(プロジェクト) •
処理対象を表すコアドメイン • 必ず1つ委譲のプロジェクトが存在する •Taskオブジェクト(タスク) • 作業単位を表すコアドメイン • ユーザーが実行できる最小単位 •Pluginオブジェクト(プラグイン) • 特定処理のための機能コンポーネント • タスク、プロパティ、規約などをパッケージング
33.
DSLとドメインオブジェクトの関係 apply plugin:
'java' repositories { jcenter() } dependencies { testCompile 'junit:junit:4.11' } task myTest(type:Test) << { println '俺のテストタスクを実行したった。' }
34.
DSLとドメインオブジェクトの関係 apply plugin:
'java' repositories { jcenter() } dependencies { testCompile 'junit:junit:4.11' } task myTest(type:Test) << { println '俺のテストタスクを実行したった。' } Projectオブジェクト
35.
DSLとドメインオブジェクトの関係 JavaPlugin オブジェクト
apply plugin: 'java' repositories { jcenter() } dependencies { testCompile 'junit:junit:4.11' } task myTest(type:Test) << { println '俺のテストタスクを実行したった。' }
36.
DSLとドメインオブジェクトの関係 apply plugin:
'java' repositories { jcenter() } dependencies { testCompile 'junit:junit:4.11' } task myTest(type:Test) << { println '俺のテストタスクを実行したった。' } JavaPlugin のTestタスクを拡張
37.
タスクの記述方法いろいろ task showDescription
<< { println description } showDescription.description = 'showDescriptionタスクです。' task showDescription { description = 'showDescriptionタスクです。' doLast { println description } } task showDescription(description: 'showDescriptionタスクです。') << { println description }
38.
Gradleでのテスト
39.
Gradleでできること • JUnit/TestNGのテスト実行
• 特定のテストだけ実行 • テストの並列実行 • etc.
40.
JUnit/TestNGのテスト実行 • JUnit
• Javaプラグインを適用すると デフォルトで使用可能 • TestNG • test ブロックに useTestNG() と 書くことで使用可能になる
41.
特定のテストだけ実行 test {
filter { // 特定のパッケージのテストだけを実行 includeTestsMatching "com.example.*" // クラスのサフィックスが一致するものだけを実行 includeTestsMatching "*IT" } }
42.
テストの並列実行 // 利用可能なプロセッサー数を取得
def processNumber = Runtime.runtime.availableProcessors() test { maxParallelForks = processNumber - 2 }
43.
以上、抜粋でお送りし ましたが、Gradleには もっといろいろな機能や
仕組みがあります。
44.
今日説明してないこと 依存関係管理 カスタムプラグインの作成
IDE連携アーカイブの作成Jenkins連携 Androidプロジェクトでの適用 アーティファクトの公開 独自Gradleの作成 カスタムタスクのAnt/Mavenからの移行 作成 プラグインポータル マルチプロジェクト
45.
ということで、刊行の暁 には、是非とも一読 いただきたく存じます。
46.
ご清聴ありがとう ございました。
Descargar ahora