oss product feat. gradle
DESCRIPTION
Material of LT for JGGUG meetup at 2014-10-24TRANSCRIPT
![Page 1: OSS Product feat. Gradle](https://reader034.vdocuments.site/reader034/viewer/2022042516/558ebf831a28ab3d778b4584/html5/thumbnails/1.jpg)
OSS開発者としての嗜み ~ぐれ江戸るしぐさ~
OSS Product feat. Gradlenobeans
![Page 2: OSS Product feat. Gradle](https://reader034.vdocuments.site/reader034/viewer/2022042516/558ebf831a28ab3d778b4584/html5/thumbnails/2.jpg)
OSSプロダクトの 利用者/貢献者目線からみたGradleのメリット
![Page 3: OSS Product feat. Gradle](https://reader034.vdocuments.site/reader034/viewer/2022042516/558ebf831a28ab3d778b4584/html5/thumbnails/3.jpg)
こんなOSS プロダクトは嫌だ
![Page 4: OSS Product feat. Gradle](https://reader034.vdocuments.site/reader034/viewer/2022042516/558ebf831a28ab3d778b4584/html5/thumbnails/4.jpg)
Ant/Mavenの インストールが必要
zip探してダウンロードして展開して~が面倒だったので$ apt-get install ant
してみたら、大量の依存ライブラリがドバドバとインストールされた。
ちょっとビルドしてみたかっただけなのに…orz
![Page 5: OSS Product feat. Gradle](https://reader034.vdocuments.site/reader034/viewer/2022042516/558ebf831a28ab3d778b4584/html5/thumbnails/5.jpg)
Gradle Wrapper次の2点以外に準備は不用:1. Javaがインストールされている2. ネットにつながっている
もちろんグローバル環境は汚しませんプロジェクト直下にスクリプトが、$HOME/.gradle/wrapper 配下にDLしたバイナリ等が格納される
そこで
![Page 6: OSS Product feat. Gradle](https://reader034.vdocuments.site/reader034/viewer/2022042516/558ebf831a28ab3d778b4584/html5/thumbnails/6.jpg)
どうやってビルドを実行すればよいかわからないAnt/Maven/Gradleは用意したけど、
さて、なんてコマンドを実行すればいいの?
![Page 7: OSS Product feat. Gradle](https://reader034.vdocuments.site/reader034/viewer/2022042516/558ebf831a28ab3d778b4584/html5/thumbnails/7.jpg)
デフォルトタスク 適切に設定しておけば
Gradleコマンドを無引数で実行するだけでOK
$ ./gradlew→clean, test, distタスクが実行される
そこで
// build.gradle defaultTasks 'clean', 'test', 'dist'
(例)
![Page 8: OSS Product feat. Gradle](https://reader034.vdocuments.site/reader034/viewer/2022042516/558ebf831a28ab3d778b4584/html5/thumbnails/8.jpg)
ソースを展開したものの次に何をすればよいかわからない
おい、ドキュメントはどこだ
![Page 9: OSS Product feat. Gradle](https://reader034.vdocuments.site/reader034/viewer/2022042516/558ebf831a28ab3d778b4584/html5/thumbnails/9.jpg)
README.mdビルドツールに何使っててもいいからとりあえず
RequiresとHow To BuildとUsageとか最小限の説明ぐらい書きましょう
そこで
Web+DBプレスvol.83で特集されたし、今ならMarkdownがおすすめ
![Page 10: OSS Product feat. Gradle](https://reader034.vdocuments.site/reader034/viewer/2022042516/558ebf831a28ab3d778b4584/html5/thumbnails/10.jpg)
GaidenMarkdownでまとまったドキュメント書くなら使ってみるといいんじゃないかな (震え声
近々v1.0がでます、たぶん
※未承諾広告
https://github.com/kobo/gaiden
$ gvm install gaiden
![Page 11: OSS Product feat. Gradle](https://reader034.vdocuments.site/reader034/viewer/2022042516/558ebf831a28ab3d778b4584/html5/thumbnails/11.jpg)
v1.0のデフォルトテーマはこんな感じ
Gaiden Wrapperもあるよ
![Page 12: OSS Product feat. Gradle](https://reader034.vdocuments.site/reader034/viewer/2022042516/558ebf831a28ab3d778b4584/html5/thumbnails/12.jpg)
動機 == 私怨一週間ぐらい前に、あるOSSツールを試そうとして、よせばいいのにバイナリzipじゃなくて、ソースコードも読みたいからとGithubからcloneしてビ
ルドしようとしたら
READMEにはアプリ名の1行だけしかない→どうやってビルドするの?→build.xmlがあるからAntかな?
→めんどいのでapt-getでAntをインストールしてみた→ウワアァァァァ
→build.xmlを読んで適当にタスクを実行したらzipができた→あれ、またこれ展開するの?
→ダウンロードしとけば良かった…orz
…ということで、このネタを思いつきました
![Page 13: OSS Product feat. Gradle](https://reader034.vdocuments.site/reader034/viewer/2022042516/558ebf831a28ab3d778b4584/html5/thumbnails/13.jpg)
告OSSプロダクトを提供している開発者各位におかれましてはひとつご理解ご協力のほどよろしくお願いいたします。
1. Ant/MavenからGradleへ移行する2. Gradle Wrapperは標準装備で3. コレやっときゃ間違いない、という一連のタスク呼び出しをデフォルトタスクとして定義
4. ビルドの仕方だけでもREADME.mdに書く
![Page 14: OSS Product feat. Gradle](https://reader034.vdocuments.site/reader034/viewer/2022042516/558ebf831a28ab3d778b4584/html5/thumbnails/14.jpg)
受託開発でも、gradlewコマンドを無引数で実行したら即ビルドできる、というのは結構価値が高いはず