Suche senden
Hochladen
Gradle入門
•
Als PPTX, PDF herunterladen
•
25 gefällt mir
•
17,715 views
O
orekyuu
Folgen
めたたぐで使った資料
Weniger lesen
Mehr lesen
Präsentationen & Vorträge
Melden
Teilen
Melden
Teilen
1 von 42
Jetzt herunterladen
Empfohlen
ADRという考えを取り入れてみて
ADRという考えを取り入れてみて
infinite_loop
View customize plugin for Redmineの紹介 (2019年版)
View customize plugin for Redmineの紹介 (2019年版)
onozaty
PHP でも活用できる Makefile
PHP でも活用できる Makefile
Shohei Okada
コンテナ環境でJavaイメージを小さくする方法!
コンテナ環境でJavaイメージを小さくする方法!
オラクルエンジニア通信
Stochastic Variational Inference
Stochastic Variational Inference
Kaede Hayashi
Gocon2017:Goのロギング周りの考察
Gocon2017:Goのロギング周りの考察
貴仁 大和屋
Landoを利用したdrupal開発環境構築
Landoを利用したdrupal開発環境構築
otofu1
オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門
増田 亨
Empfohlen
ADRという考えを取り入れてみて
ADRという考えを取り入れてみて
infinite_loop
View customize plugin for Redmineの紹介 (2019年版)
View customize plugin for Redmineの紹介 (2019年版)
onozaty
PHP でも活用できる Makefile
PHP でも活用できる Makefile
Shohei Okada
コンテナ環境でJavaイメージを小さくする方法!
コンテナ環境でJavaイメージを小さくする方法!
オラクルエンジニア通信
Stochastic Variational Inference
Stochastic Variational Inference
Kaede Hayashi
Gocon2017:Goのロギング周りの考察
Gocon2017:Goのロギング周りの考察
貴仁 大和屋
Landoを利用したdrupal開発環境構築
Landoを利用したdrupal開発環境構築
otofu1
オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門
増田 亨
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
Amazon Web Services Japan
MapReduce入門
MapReduce入門
Satoshi Noto
「情報」を「書く」ということ(仮) #RedmineJapan
「情報」を「書く」ということ(仮) #RedmineJapan
Kazuhito Miura
Swaggerでのapi開発よもやま話
Swaggerでのapi開発よもやま話
KEISUKE KONISHI
FINAL FANTASY Record Keeperを支えたGolang
FINAL FANTASY Record Keeperを支えたGolang
Yoshiki Shibukawa
View customize pluginを使いこなす
View customize pluginを使いこなす
onozaty
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホン
Akihiko Horiuchi
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
Recruit Lifestyle Co., Ltd.
AWS Lambdaで作るクローラー/スクレイピング
AWS Lambdaで作るクローラー/スクレイピング
Takuro Sasaki
脱RESTful API設計の提案
脱RESTful API設計の提案
樽八 仲川
今さら聞けないDiとspring
今さら聞けないDiとspring
土岐 孝平
さるでも分かりたい9dofで作るクォータニオン姿勢
さるでも分かりたい9dofで作るクォータニオン姿勢
ytanno
JavaのテストGroovyでいいのではないかという話
JavaのテストGroovyでいいのではないかという話
disc99_
AWS Lambdaを紐解く
AWS Lambdaを紐解く
Keisuke Nishitani
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpconokinawa
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpconokinawa
Shohei Okada
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
Tetsutaro Watanabe
Ansibleはじめよぉ -Infrastructure as Codeを理解-
Ansibleはじめよぉ -Infrastructure as Codeを理解-
Shingo Kitayama
クラウドでも非機能要求グレードは必要だよね
クラウドでも非機能要求グレードは必要だよね
YoshioSawada
低レイヤー入門
低レイヤー入門
demuyan
JIRAを使ったフツウのPJ実践
JIRAを使ったフツウのPJ実践
グロースエクスパートナーズ株式会社/Growth xPartners Incorporated.
AndroidStudioはじめました ~Gradle編~
AndroidStudioはじめました ~Gradle編~
Yabata Tomomitsu
Single Command Deployのための gradle-aws-plugin講座
Single Command Deployのための gradle-aws-plugin講座
都元ダイスケ Miyamoto
Weitere ähnliche Inhalte
Was ist angesagt?
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
Amazon Web Services Japan
MapReduce入門
MapReduce入門
Satoshi Noto
「情報」を「書く」ということ(仮) #RedmineJapan
「情報」を「書く」ということ(仮) #RedmineJapan
Kazuhito Miura
Swaggerでのapi開発よもやま話
Swaggerでのapi開発よもやま話
KEISUKE KONISHI
FINAL FANTASY Record Keeperを支えたGolang
FINAL FANTASY Record Keeperを支えたGolang
Yoshiki Shibukawa
View customize pluginを使いこなす
View customize pluginを使いこなす
onozaty
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホン
Akihiko Horiuchi
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
Recruit Lifestyle Co., Ltd.
AWS Lambdaで作るクローラー/スクレイピング
AWS Lambdaで作るクローラー/スクレイピング
Takuro Sasaki
脱RESTful API設計の提案
脱RESTful API設計の提案
樽八 仲川
今さら聞けないDiとspring
今さら聞けないDiとspring
土岐 孝平
さるでも分かりたい9dofで作るクォータニオン姿勢
さるでも分かりたい9dofで作るクォータニオン姿勢
ytanno
JavaのテストGroovyでいいのではないかという話
JavaのテストGroovyでいいのではないかという話
disc99_
AWS Lambdaを紐解く
AWS Lambdaを紐解く
Keisuke Nishitani
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpconokinawa
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpconokinawa
Shohei Okada
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
Tetsutaro Watanabe
Ansibleはじめよぉ -Infrastructure as Codeを理解-
Ansibleはじめよぉ -Infrastructure as Codeを理解-
Shingo Kitayama
クラウドでも非機能要求グレードは必要だよね
クラウドでも非機能要求グレードは必要だよね
YoshioSawada
低レイヤー入門
低レイヤー入門
demuyan
JIRAを使ったフツウのPJ実践
JIRAを使ったフツウのPJ実践
グロースエクスパートナーズ株式会社/Growth xPartners Incorporated.
Was ist angesagt?
(20)
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
MapReduce入門
MapReduce入門
「情報」を「書く」ということ(仮) #RedmineJapan
「情報」を「書く」ということ(仮) #RedmineJapan
Swaggerでのapi開発よもやま話
Swaggerでのapi開発よもやま話
FINAL FANTASY Record Keeperを支えたGolang
FINAL FANTASY Record Keeperを支えたGolang
View customize pluginを使いこなす
View customize pluginを使いこなす
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホン
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
AWS Lambdaで作るクローラー/スクレイピング
AWS Lambdaで作るクローラー/スクレイピング
脱RESTful API設計の提案
脱RESTful API設計の提案
今さら聞けないDiとspring
今さら聞けないDiとspring
さるでも分かりたい9dofで作るクォータニオン姿勢
さるでも分かりたい9dofで作るクォータニオン姿勢
JavaのテストGroovyでいいのではないかという話
JavaのテストGroovyでいいのではないかという話
AWS Lambdaを紐解く
AWS Lambdaを紐解く
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpconokinawa
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpconokinawa
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
Ansibleはじめよぉ -Infrastructure as Codeを理解-
Ansibleはじめよぉ -Infrastructure as Codeを理解-
クラウドでも非機能要求グレードは必要だよね
クラウドでも非機能要求グレードは必要だよね
低レイヤー入門
低レイヤー入門
JIRAを使ったフツウのPJ実践
JIRAを使ったフツウのPJ実践
Ähnlich wie Gradle入門
AndroidStudioはじめました ~Gradle編~
AndroidStudioはじめました ~Gradle編~
Yabata Tomomitsu
Single Command Deployのための gradle-aws-plugin講座
Single Command Deployのための gradle-aws-plugin講座
都元ダイスケ Miyamoto
[社内勉強会]Gradleを使おう
[社内勉強会]Gradleを使おう
hirooooo
Google Product
Google Product
Daisuke Sugai
Djangoのススメ
Djangoのススメ
Alisue Lambda
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
Naoto TAKAHASHI
フレームワーク使おうぜ!
フレームワーク使おうぜ!
Takuya Sato
Agileツール適合化分科会(構成管理・ビルドツール)
Agileツール適合化分科会(構成管理・ビルドツール)
masanori kataoka
Mojoliciousでつくる! Webアプリ入門
Mojoliciousでつくる! Webアプリ入門
Yusuke Wada
今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeoman
tomo_masakura
Groovy base gradle_20130309
Groovy base gradle_20130309
Nobuhiro Sue
明快!Drupal の強みと弱み
明快!Drupal の強みと弱み
Masahiro Nishio
勉強会用資料:Javaアプリ作成
勉強会用資料:Javaアプリ作成
ssuser331f24
AzureDevOpsで作るHoloLensアプリCI環境
AzureDevOpsで作るHoloLensアプリCI環境
Tatsuya Sakai
What's Drupal & Drupal as a Employee App Platform
What's Drupal & Drupal as a Employee App Platform
惠 紀野
20120927 findjob4 dev_ops
20120927 findjob4 dev_ops
ume3_
DLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミング
terurou
G * magazine 0
G * magazine 0
Tsuyoshi Yamamoto
3グーグルドキュメントの使い方2
3グーグルドキュメントの使い方2
Hati Miura
Androidアプリ開発で活躍必至!? ビルドツールGradle
Androidアプリ開発で活躍必至!? ビルドツールGradle
amayaw9
Ähnlich wie Gradle入門
(20)
AndroidStudioはじめました ~Gradle編~
AndroidStudioはじめました ~Gradle編~
Single Command Deployのための gradle-aws-plugin講座
Single Command Deployのための gradle-aws-plugin講座
[社内勉強会]Gradleを使おう
[社内勉強会]Gradleを使おう
Google Product
Google Product
Djangoのススメ
Djangoのススメ
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
フレームワーク使おうぜ!
フレームワーク使おうぜ!
Agileツール適合化分科会(構成管理・ビルドツール)
Agileツール適合化分科会(構成管理・ビルドツール)
Mojoliciousでつくる! Webアプリ入門
Mojoliciousでつくる! Webアプリ入門
今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeoman
Groovy base gradle_20130309
Groovy base gradle_20130309
明快!Drupal の強みと弱み
明快!Drupal の強みと弱み
勉強会用資料:Javaアプリ作成
勉強会用資料:Javaアプリ作成
AzureDevOpsで作るHoloLensアプリCI環境
AzureDevOpsで作るHoloLensアプリCI環境
What's Drupal & Drupal as a Employee App Platform
What's Drupal & Drupal as a Employee App Platform
20120927 findjob4 dev_ops
20120927 findjob4 dev_ops
DLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミング
G * magazine 0
G * magazine 0
3グーグルドキュメントの使い方2
3グーグルドキュメントの使い方2
Androidアプリ開発で活躍必至!? ビルドツールGradle
Androidアプリ開発で活躍必至!? ビルドツールGradle
Gradle入門
1.
Gradle入門 今日から始めるビルドツール @orekyuu
2.
ビルドツールってなんだ • 名前の通りビルドを行うツール • 例としてはAntやMavenなどがある
Gradleもビルドツールの一つ
3.
Maven pom.xmlにビルド手順を記述して、コンパイル、テスト、Javadoc生成 などをサポートする。
4.
しかし・・・ pom.xmlを書くのが非常に大変・・・ このpom.xmlを書く人達をpom職人と呼ぶこともあるほど。 pom力たったの5か。雑魚め。
5.
Gradle • MavenのようなXMLで設定ファイルを書くのではなく、Groovyと呼ばれ る言語で手順を記述 • Gradle
Wrapperを使うことでチーム開発が容易に行える
6.
で、Gradleで何ができるの? • 自動的に必要なライブラリのダウンロード • 開発環境の生成 •
必要に応じてやりたいことを自分でかける!
7.
Gradleの開発環境を作る • http://www.gradle.org/からGradleをダウンロード • 解凍して適当なフォルダに置く •
gradle_root/bin/にパスを通しておしまい • ターミナルでgradle –vを実行して確認
8.
Javaプロジェクトを作る • Workspaceフォルダを作成 • gradle
init –-type java-libraryをターミナルで実行
9.
Gradleのプロジェクト構成 • srcフォルダはこのようなディレクトリにする • src/main/java/
javaファイルを入れる src/main/resources/ リソースを配置 src/test/java/ テスト用のjavaファイル src/test/resources/ テスト用リソース
10.
src/main/javaフォルダにHello.javaを配置 Hello.javaの内容は class Hello { public
static void main(String[] args) { System.out.println(“Hello”); } }
11.
ビルドしてみる • ワークススペース直下でgradle buildを実行
12.
完成品を確認 build/libs/にjarファイルが作成される build/classes/にクラスファイルが作られる
13.
ライブラリを追加してみる googleのguavaを追加してみる build.gradleを編集する repositories { mavenCentral() } dependencies { compile
'com.google.guava:guava:11.0.2' }
14.
Guavaを使ってみる import com.google.common.base.Strings; class Hello
{ public static void main(String[] args) { System.out.println(Strings.repeat("*", 10)); } } Hello.javaを上のように変更してgradle build
15.
ライブラリへのパスが通り、無事ビルドが成功しました。 このように手動で必要なライブラリをダウンロードすること無く利用することが できます。 次にJUnitを使ったテストを書いてみましょう
16.
Sampleクラスを作成 Sample.java public class Sample
{ public String getString() { return “Sample”; } }
17.
テストクラスを作成 src/test/java/にTestSample.javaを追加 import org.junit.Test; import static
org.junit.Assert.*; public class SampleTest { @Test public void testGetString() throws Exception { Sample s = new Sample(); assertEquals("Sample", s.getString()); } }
18.
JUnitをテスト用のライブラリとして追加 dependenciesの中に以下を追加 testCompile group: 'junit',
name: 'junit', version: '4.11‘ gradle testを実行 今回の例ではテストが通りますが、失敗のパターンを見ておくのもよいかも
19.
基本は分かった そろそろチーム開発をしよう チーム全員にGradleを入れてもらうのは面倒 そこでGradle Wrapperを使用する Wrapper作成にはwrapperタスクを実行する ↓ターミナルで実行 gralde
wrapper Javaプロジェクト作成時にwrapperタスクも実行されるので今回は不要
20.
gradle warapperのファイル gradlew gradlew.bat gradle/wrapper/ gradle-wrapper.jar gradle-wrapper.properties Gitなどのバージョン管理システムを使う場合はこれらを格納する。
21.
GradleWrapperでビルド ラッパーを使用する場合はgradleではなく、gradlewコマンドを使用する gradlew buildを実行してみます 初回実行時のみGradleをダウンロードしてきます
22.
デフォルトのタスクだとやりたいことできないんだけど • Groovyを使ってタスクを定義することが可能 • スクリプト言語なので非常に書きやすい
23.
タスクの定義方法 タスク定義の方法 task タスク名 { doLast
{ 処理 } }
24.
Hello World task hello
{ doLast { println ‘Hello World’ } } gradle helloを実行してHelloWorldが出力されればOK
25.
省略記法 task hello <<
{ println ‘Hello World’ } 上のようにdoLastを省略することが可能
26.
変数宣言 型 変数名 =
初期値 int a = 4 型にdefを使用することで型を指定せず宣言することができる //動きます def a = 1 a = ‘str’
27.
if - else
if – else if (条件) { hoge } else if(条件) { huge } else { hage }
28.
while while (条件) { 処理 }
29.
for //よくあるfor for(i = 0
; i < 10 ; i++) //範囲を使ったfor for(i in 0..9) //リスト def list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] for(i in list)
30.
リスト操作 def list =
[1, 2, 3, 4, 5]//リスト宣言 def list = [*1..10]//1から10まで連番のリスト list[3]//要素の取り出し list[-2]//最後から2番目の要素を取り出す list.reverse()//逆順 list[-5..-1]//後ろから数えて5番目から最後までの要素を取り出す list += [11, 12]//リストへの追加 list -= [11, 12]//リストから削除
31.
よく使うプロパティ タスク名 プロパティ名 用途 compileJava compileTestJava options エンコーディングとかコンパイルオプ ションとか jar
archiveName jarファイル名を設定する時とか Test minHeapSize -Xmsを設定 maxHeapSize -Xmxを設定 jvmArgs jvm引数を与える - sourceCompatibility コンパイル時のJavaバージョン - targetCompatibility クラス生成時のJavaバージョン
32.
Gradleとの連携
33.
GradleとIntelliJ IDEA • IntelliJ
IDEAはJet Brains社が出しているJavaのIDE • 高度で軽いコード補完やバージョン管理ツールとの連携が強い • Gradleとの連携がサポートされている神IDE!!!
34.
IDEAの場合・・・ Gradleプロジェクトを選択して プロジェクトの名前をつけると完成
35.
タスク表示機能 タスクの表示機能が備わっている。 右クリックからタスクを実行できる ショートカットキーでも可
36.
プロジェクト作成直後 このようなかんじ
37.
Jenkinsとの連携 • GradleとJenkinsの連携もすることが可能です • 時間がかかるので簡単な紹介のみとします 使用しているプラグイン:Gradle
Plugin
38.
Jenkins側設定例
39.
40.
私はGradle・GitBucket・Jenkinsを使って 1.IDEからGitBucketのリポジトリにpush 2.Jenkinsが変更を検知してリポジトリをclone 3.testの実行 4.jar生成 5.設定ファイルから名前とバージョンを取得してjarをリネーム 6.javadocを生成 7.ビルドしたjarとjavadocをアップロード までの処理を自動化しています
41.
Gradle is GOD •
面倒なところはGradleに押し付ける! • 紹介したように手順を自動化すればコード書くことだけに集中できる! • チーム開発でも、開発環境の統一が簡単になる! • IDEやその他ツールと合わせることで便利さが更に加速! 積極的に楽していこう!
42.
ありがとうございました
Jetzt herunterladen