Submit Search
gradle2.4のルールベースモデルコンフィギュレーション
3 likes
2,462 views
Shinya Mochida
勢いで作った
Technology
Read more
1 of 30
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
More Related Content
PDF
OSS Product feat. Gradle
Yasuharu Nakano
PDF
Gws 20141024 gradle_intro
Nobuhiro Sue
PDF
Spring in-summer-gradle-hands on-withanswers
Takuma Watabiki
PDF
Gaelyk
Kiyotaka Oku
PPTX
Jjug 20140430 gradle_advanced
Masatoshi Hayashi
PDF
Arachne Unweaved (JP)
Ikuru Kanuma
PDF
CEATEC Glassware(Google Glassアプリ)開発の指南と開発事例
Masahiro Wakame
PDF
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 Fall
Yusuke Suzuki
OSS Product feat. Gradle
Yasuharu Nakano
Gws 20141024 gradle_intro
Nobuhiro Sue
Spring in-summer-gradle-hands on-withanswers
Takuma Watabiki
Gaelyk
Kiyotaka Oku
Jjug 20140430 gradle_advanced
Masatoshi Hayashi
Arachne Unweaved (JP)
Ikuru Kanuma
CEATEC Glassware(Google Glassアプリ)開発の指南と開発事例
Masahiro Wakame
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 Fall
Yusuke Suzuki
What's hot
(7)
PDF
俺とお前とGoogleware
Masahiro Wakame
PDF
AndroidStudioはじめました ~Gradle編~
Yabata Tomomitsu
PDF
Mackerelではじめる お手軽サーバー監視
Hiroyuki Ohnaka
PPTX
20201107 jjug ccc Spring Boot ユーザーのための Quarkus 入門
ryoheiseki1
PDF
5 年続く 「はてなブックマーク」 アプリを継続開発する技術
Yu Nobuoka
PDF
エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会
Yusuke Suzuki
PDF
Java8移行は怖くない~エンタープライズ案件でのJava8移行事例~
Hiroyuki Ohnaka
俺とお前とGoogleware
Masahiro Wakame
AndroidStudioはじめました ~Gradle編~
Yabata Tomomitsu
Mackerelではじめる お手軽サーバー監視
Hiroyuki Ohnaka
20201107 jjug ccc Spring Boot ユーザーのための Quarkus 入門
ryoheiseki1
5 年続く 「はてなブックマーク」 アプリを継続開発する技術
Yu Nobuoka
エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会
Yusuke Suzuki
Java8移行は怖くない~エンタープライズ案件でのJava8移行事例~
Hiroyuki Ohnaka
Ad
Similar to gradle2.4のルールベースモデルコンフィギュレーション
(20)
PDF
Groovy base gradle_20130309
Nobuhiro Sue
PDF
明日から使えるgradle
kimukou_26 Kimukou
PDF
Gradleスクリプトを読み解く
Shoichi Matsuda
PDF
JavaとScalaとGroovyと
irof N
PDF
Gws 20120521 gradle
Nobuhiro Sue
PDF
Gradleどうでしょう
Takuma Watabiki
PDF
Jjug 20140430 gradle_basic
Takuma Watabiki
PPTX
Gradle再入門.pptx
Tomoyo Takayama
PPTX
Gradleでビルドするandroid NDKアプリ
Hideyuki Kikuma
PDF
Scalaでもgae
Masaki Toyoshima
PDF
Java9 and Project Jigsaw
takezoe
PDF
2016 Android × Scala @ScalaMatsuri2016
Yasuyuki Sugitani
PDF
Gradle small tips for android
史也 久米
PDF
Java エンジニアチームが始めやすい Scala コーディングスタイル #ichigayageek
Kazuhiro Sera
PDF
G * magazine 0
Tsuyoshi Yamamoto
PDF
Groovy Grails eXchage 2014 報告
Tsuyoshi Yamamoto
PDF
実戦Scala
Yuto Suzuki
PPTX
JavaScriptで味わう! 関数型プログラミングのメリット!!
Keigo Magami
PDF
JJUG CCC 20150411 grails3 Spring-boot
Tsuyoshi Yamamoto
PDF
Skinny Framework で始めた Scala
Ryuji Yamashita
Groovy base gradle_20130309
Nobuhiro Sue
明日から使えるgradle
kimukou_26 Kimukou
Gradleスクリプトを読み解く
Shoichi Matsuda
JavaとScalaとGroovyと
irof N
Gws 20120521 gradle
Nobuhiro Sue
Gradleどうでしょう
Takuma Watabiki
Jjug 20140430 gradle_basic
Takuma Watabiki
Gradle再入門.pptx
Tomoyo Takayama
Gradleでビルドするandroid NDKアプリ
Hideyuki Kikuma
Scalaでもgae
Masaki Toyoshima
Java9 and Project Jigsaw
takezoe
2016 Android × Scala @ScalaMatsuri2016
Yasuyuki Sugitani
Gradle small tips for android
史也 久米
Java エンジニアチームが始めやすい Scala コーディングスタイル #ichigayageek
Kazuhiro Sera
G * magazine 0
Tsuyoshi Yamamoto
Groovy Grails eXchage 2014 報告
Tsuyoshi Yamamoto
実戦Scala
Yuto Suzuki
JavaScriptで味わう! 関数型プログラミングのメリット!!
Keigo Magami
JJUG CCC 20150411 grails3 Spring-boot
Tsuyoshi Yamamoto
Skinny Framework で始めた Scala
Ryuji Yamashita
Ad
More from Shinya Mochida
(20)
PDF
サーバーサイド Kotlin のテストフレームワーク事情
Shinya Mochida
PDF
IntelliJ IDEA を完全にマスターする話
Shinya Mochida
PDF
クリーンアーキテクチャーを強制する方法を考えてみた(N番煎じ) #すえなみチャンス暑気払い
Shinya Mochida
PDF
jjug-ccc 2019 Spring 発表資料 Collections Framework 入門 #jjug #jjug_ccc #ccc_c1
Shinya Mochida
PDF
swift-log について
Shinya Mochida
PDF
Vim 入門
Shinya Mochida
PDF
Java プログラマーのための Swift 入門 #中央線Meetup
Shinya Mochida
PDF
swift-nio のアーキテクチャーと RxHttpClient
Shinya Mochida
PDF
JJUG CCC 2018 Spring - I-7 (俺が)はじめての Netty
Shinya Mochida
PDF
JJUG CCC 2018 Spring LT Spring Boot アプリケーションの起動を速くする 108 の Tips #jjug_ccc #jjug
Shinya Mochida
PDF
Spring Boot アプリケーションの起動をほんの少し気持ちだけ速くしてみた
Shinya Mochida
PDF
Javaモジュールシステム雑なまとめ
Shinya Mochida
PDF
Kotlin as an AltJS
Shinya Mochida
PDF
JavaのStreamで学ぶ遅延処理実装パターン
Shinya Mochida
PDF
On stream-lazy-computation
Shinya Mochida
PDF
Stream脳の作り方
Shinya Mochida
PDF
Java8のstreamをダラダラまとめてみる
Shinya Mochida
PDF
ドラクエの金銭感覚
Shinya Mochida
PDF
30億のデバイスで走るjavaを支えるjavaエコシステム
Shinya Mochida
PDF
Intelli j vs-eclipse-by-mike-neck #jbugj
Shinya Mochida
サーバーサイド Kotlin のテストフレームワーク事情
Shinya Mochida
IntelliJ IDEA を完全にマスターする話
Shinya Mochida
クリーンアーキテクチャーを強制する方法を考えてみた(N番煎じ) #すえなみチャンス暑気払い
Shinya Mochida
jjug-ccc 2019 Spring 発表資料 Collections Framework 入門 #jjug #jjug_ccc #ccc_c1
Shinya Mochida
swift-log について
Shinya Mochida
Vim 入門
Shinya Mochida
Java プログラマーのための Swift 入門 #中央線Meetup
Shinya Mochida
swift-nio のアーキテクチャーと RxHttpClient
Shinya Mochida
JJUG CCC 2018 Spring - I-7 (俺が)はじめての Netty
Shinya Mochida
JJUG CCC 2018 Spring LT Spring Boot アプリケーションの起動を速くする 108 の Tips #jjug_ccc #jjug
Shinya Mochida
Spring Boot アプリケーションの起動をほんの少し気持ちだけ速くしてみた
Shinya Mochida
Javaモジュールシステム雑なまとめ
Shinya Mochida
Kotlin as an AltJS
Shinya Mochida
JavaのStreamで学ぶ遅延処理実装パターン
Shinya Mochida
On stream-lazy-computation
Shinya Mochida
Stream脳の作り方
Shinya Mochida
Java8のstreamをダラダラまとめてみる
Shinya Mochida
ドラクエの金銭感覚
Shinya Mochida
30億のデバイスで走るjavaを支えるjavaエコシステム
Shinya Mochida
Intelli j vs-eclipse-by-mike-neck #jbugj
Shinya Mochida
gradle2.4のルールベースモデルコンフィギュレーション
1.
Gradle2.4の個人的 にお気に入りな機能 @mike_neck
2.
ってくスタイルです
3.
自己紹介
4.
持田真哉 (@mike_neck)
5.
Java、Groovy好き おじさん
6.
【質問】
7.
Gradleのプラグイン 作ったことある人?
8.
Gradleのプラグインは利用す るものであって作るなんて論外 という人?
9.
Gradleは甘え。 真のビルドはmakeのみ。 という人?
10.
そんな皆さんに朗報
11.
Projectに依存せず、プラグイ ンを作れるようになりました。
12.
Rule based model configuration
13.
コンセプト
14.
「どのようにビルドする」か ではなく、「何をビルドする か」記述する
15.
例を紹介する前にモティ ベーションの紹介
16.
Haskellのビルドツールcabalの依存性地獄つ らい cabalでライブラリーを取ってくると発狂しそ うなくらい時間がかかる StackageプロジェクトのLong Term Support Haskellでテンプレートを共有した い
17.
問題点:LTS Haskellのリリースが半端なく速 い(週1以上でリリースされる) 最新の環境を整えるためにコマンド叩くの面倒 自動化するためのShellちからがない人生だっ た(´・ω・`)
18.
–マリー・アントワネット “Shellが駄目ならGradleでいいじゃない”
19.
GradleでHaskellの 開発環境構築しよう!
20.
せっかくだからRule based model configuration使おう
21.
概要 実装の規約 モデルをPOJO形式のinterfaceで提供 Default、Model、Mutate、Finalize、 Validateの各ステージごとにルールを記述 プラグインの利用者はモデルをビルドスクリプト 中に指定する
22.
ビルドスクリプト apply plugin: ‘lts-haskell’ model
{ ltsHaskell { dir = ‘path/to/ltshaskell’ cabal.create {install = ‘happy’} cabal.create {install = ‘ghc-mod’} cabal.create {install = ‘yesod’} } }
23.
モデルクラス @Managed //setter/getterを提供 public interface
LtsHaskellConf { String getDir(); void setDir(String dir); // ManagedSetの中身も@Managedでないと落ちる ManagedSet<HaskellVersion> getVersions(); ManagedSet<CabalPackage> getCabal(); }
24.
ルールクラス class LtsHaskell extends
RuleSource { @Model //modelブロックの次のブロックの名前 void ltsHaskell(LtsHaskellConf c) { c.dir = “${getHome()}/.ltshs” }
25.
ルールクラス(続き) @Mutate //モデルへの変更操作・taskを生やしていく void create(CollectionBuilder<Task>
tasks, LtsHaskellConf haskell) { haskell.versions.each {v -> ts.create(“create${v}Dir”).doLast { Files.createDir(Paths.get(c.dir, v))} ts.create(“sandbox${v}”, Exec) { workingDir = “${haskell.dir}/$v”; dependsOn “create${it}Dir” commandLine ‘cabal’, ‘sandbox’, ‘init’ } haskell.cabal.inject(“sandbox${v}”) {pre, cbl -> ts.create(“install${cbl}”, Exec) {
26.
実行 $ ./gradlew tasks LtsHaskell2.8 LtsHaskell2.9 $
./gradlew LtsHaskell2.9 … Installed gcc-mod … Installed yesod $
27.
簡単にHaskellの開発環境 作ったどー ╭( ・ㅂ・)ﻭو ̑̑
グッ !
28.
後は https://github.com/mike-neck/LTS- Haskell-Init をチェック!!!
29.
まとめ等… モデル(データ)とルール(関数)でタスクを構築 GradleのPluginとかProjectインターフェースの知識なくて もプラグイン作れる 設定用の口を開くためのメソッドを作らんでもいい Model-reportタスクで設定できる項目もわかるのでユーザーフ レンドリー Gradle3に向けて現在のProjectベースからRuleベースに転換 していくっぽい
30.
以上!
Download