Top Banner
build.xml build.xmlとMaven Mavenに敬意をもって に敬意をもって さよなら さよなら
27

GradleによるG*なビルドシステムの構築

May 27, 2015

Download

Technology

第14回 G*ワークショップのGradleについて話したときのスライドです

使用したサンプルはこちら
http://dl.dropbox.com/u/11287929/presentation/2011-01-31-gradle/sample.zip
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: GradleによるG*なビルドシステムの構築

build.xmlbuild.xmlととMavenMavenに敬意をもってに敬意をもって

さよならさよなら

Page 2: GradleによるG*なビルドシステムの構築

<if> <equals arg1="${foo}" arg2="bar" /> <then> <echo message="The value of property foo is bar" /> </then> <else> <echo message="The value of property foo is not bar" /> </else></if>

<for param="file"> <path> <fileset dir="${test.dir}/mains" includes="*.cpp"/> </path> <sequential> <propertyregex override="yes" property="program" input="@{file}" regexp=".*/([^\.]*)\.cpp" replace="\1"/> <mkdir dir="${obj.dir}/${program}"/> <mkdir dir="${build.bin.dir}"/> <cc link="executable" objdir="${obj.dir}/${program}" outfile="${build.bin.dir}/${program}"> <compiler refid="compiler.options"/> <fileset file="@{file}"/> <linker refid="linker-libs"/> </cc> </sequential></for>

Page 3: GradleによるG*なビルドシステムの構築

jar: META-INF/plexus/components.xml

デフォルトライフサイクル

Page 4: GradleによるG*なビルドシステムの構築

>> 乙もうお前に用はない

Page 5: GradleによるG*なビルドシステムの構築

Gradleって何に使えるの?

日々のタスク自動化JavaやGroovyとかScalaとかその他のビルド

Better Ant

Better Maven

なんにでも使えます

Page 6: GradleによるG*なビルドシステムの構築
Page 7: GradleによるG*なビルドシステムの構築

直感的で書きやすいビルドスクリプト

Page 8: GradleによるG*なビルドシステムの構築

豊富で使いやすいサポート機能

Page 9: GradleによるG*なビルドシステムの構築

既存のシステムから容易に移行可能

Page 10: GradleによるG*なビルドシステムの構築

直感的で書きやすいビルドスクリプト

Page 11: GradleによるG*なビルドシステムの構築

内部DSL + 宣言的ビルド

GradleGantBuildrJRakeRakeSCons...

Page 12: GradleによるG*なビルドシステムの構築
Page 13: GradleによるG*なビルドシステムの構築

豊富で使いやすいサポート機能

Page 14: GradleによるG*なビルドシステムの構築

依存関係の管理

Page 15: GradleによるG*なビルドシステムの構築

プラグインシステム

Page 16: GradleによるG*なビルドシステムの構築

面倒くさいところは作ってくれます

Page 17: GradleによるG*なビルドシステムの構築

Maven風...というか、

デフォルトライフサイクル

Page 18: GradleによるG*なビルドシステムの構築

マルチプロジェクトGradleラッパーUP-TO-DATEプロファイラデーモンプロセスIDE連携...

Page 19: GradleによるG*なビルドシステムの構築

既存のシステムから容易に移行可能

Page 20: GradleによるG*なビルドシステムの構築

Antタスク

Page 21: GradleによるG*なビルドシステムの構築

Antプロジェクト

Page 22: GradleによるG*なビルドシステムの構築

Maven、Ivyリポジトリ

Page 23: GradleによるG*なビルドシステムの構築

既存のディレクトリ構造

Page 24: GradleによるG*なビルドシステムの構築

書きやすいビルドスクリプト

豊富なビルドサポート機能

既存のシステムから容易に移行可能

Page 25: GradleによるG*なビルドシステムの構築

おまけ:IDEサポート

Page 26: GradleによるG*なビルドシステムの構築
Page 27: GradleによるG*なビルドシステムの構築

ご清聴ありがとうございました