mike-neckのブログ

JavaかJavaFXかJavaEE(なんかJava8が多め)

gradle

Gradle kotlin DSL の便利機能

Gradle のスクリプトを Kotlin で書いていると、タスクが自動的に二つ足されていることに気づいたので、それを使ってみたら、わりと便利だった。 kotlinDslAccessorsReport タスク 現在のプロジェクトが利用できる extension と convention のKotlin 実装コ…

Gradle JUnit5 Starter Pluginをリリースした

JUnit5 がリリースされてだいぶたちますが、そろそろ移行終わりましたか? ちなみに僕が勤務している会社ではJavaのバージョンがあわないので、JUnit4のままです。 ところで、JUnit5を使う時、わりと面倒くさい設定をいろいろと書かなければならず、導入する…

kotlinでgradle のスクリプトを書く時に気をつけたい点

Gradleは元々Groovyで書かれてたツールで、バージョン2の頃にほぼすべてをJavaに置き換えられたという経緯があるのですが、未だに古い一部の実装ではGroovyでスクリプトを書くことを前提にしている箇所があります(と断言していいかどうかは自信がない)。 mav…

Gradle Kotlin DSL を用いたプロジェクトでmavenにpublishするときの注意

gradle kotlin-dsl のサンプル「hello-kotlin」を真似て、kotlin stdlib のdependencyを記述すると、invalidなpomが生成されてしまう。 dependencies { api(kotlin("stdlib-jre8")) } 生成されるpom.xml <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-stdlib-jre8</artifactId> </dependency> version …

Java9でGradleを動かす

単なるメモ Javaのバージョンが2017/10/22現在で9.0.1で、Gradleのバージョンが4.2.1以下だとJavaのバージョンをパースできないためにGradleを実行できない Gradle4.2 での実行結果 $ java --version Picked up _JAVA_OPTIONS: -Dfile.encoding=UTF-8 java 9…

Gradleでプラグインを利用する方法

今更なタイトルですが… incubatingなAPIで plugins DSLと呼ばれている方法です。plugins DSLはgradleのplugin repositoryにあるプラグインをid(とバージョン)だけで引っ張ってこれるようにする方法で、gradleの2.10くらいに登場しています。gradleにデフォル…

ArtifactoryのDockerイメージとgradleでのartifactのデプロイのメモ

少々こまったことがあったので、Artifactoryを調べたので、そのメモ。なお、数年前も同じことを調べたという記憶があるのだが、メモを残していなかったのであらたに調べることになった… 書かれていること ArtifactoryのイメージをビルドするDockerfile プロ…

Gradle2.11の新機能を試してみた(1)

Gradle2.11でJavaソフトウェアモデルに対してJUnitによるテストがサポートされたので試してみました。 基本 ディレクトリー構成は以下のとおりです。 root └─src ├─data │ └─java ├─data.test │ └─java ├─exceptions │ └─java └─functions └─java 使用するJa…

Gradle2.11リリースノート意訳(また途中)

gradleのバージョン2.11がとっくの昔に出ていたので、リリースノートを意訳しておきました。 原文はこちら Gradle2.11ではソフトウェアモデルとIDE連携およびコンティニュアスビルドを強化しています。 ソフトウェアモデル改善はGradleの現在の目標となって…

Gradle2.10のリリースノート意訳

久々にパソコンの前に座ったので、リハビリ代わりに先月にリリースされたGradle2.10のリリースノート意訳というか、中途半端に翻訳した。分量が多かったので訳してないところがありますが、引き続き入院してるので、翻訳の続きはありません。 オリジナル(英…

GradleのJVM component modelスタイルのプロジェクトをJigsawでビルドする #gradle #java #jigsaw

前回のエントリーでGradleにおけるJVM component modelの実践的な内容を紹介した。 mike-neck.hatenadiary.com ここで紹介したプロジェクトのビルド成果物はこちらのエントリーでも紹介した、Javaモジュールシステム的な考えが採用された成果物である。つま…

Gradle3におけるJavaプロジェクトのビルド入門(4) -- 実践編 #gradle

Gradle3におけるJavaプロジェクトのビルド入門の一連の記事ではJVM component modelによるJavaプロジェクトのビルド方法について紹介してきた。その過程でJDK9より導入されるJigsawとの関連も指摘しておいた。 この記事では実践的なJVM component modelによ…

Gradle3におけるJavaプロジェクトのビルド入門(3) -- 用語の再確認とJigsawとの関連 #gradle

今回はJVM component modelにおける用語について整理しておく。 前回、前々回とGradle3におけるJavaプロジェクトのビルドにおけるJVM component modelの入門を行っていった。 mike-neck.hatenadiary.com mike-neck.hatenadiary.com また、JVM component mode…

Jigsawについて雑にまとめてみた

以前、Gradle3におけるJavaプロジェクトのビルドについてのエントリーを書きましたが、Gradle3のJVM component modelって、まあ、わりと、Java9のJigsawみたいなものなんですね。で、Jigsaw自体知っている人が多いと思いますが、あらためてJigsawが解決した…

Gradle-2.9-rc1のリリースノートで訳し忘れてたライブラリーAPI定義について意訳(JDK9にも関連) #gradle

意訳には(僕に)定評のあるGradleのリリースノートですが、前回訳した時に、意図して訳さなかったのか、JavaOne開催中でProject Jigsaw関連に合わせるためにその時には書かれていなかったのか、どっちか定かではありませんが、リリースノートの意訳にExplicit…

Gradle3におけるJavaプロジェクトのビルド入門(2) #gradle

前回は、JVM component modelによるJavaプロジェクトのビルドの入門をおこなった。 mike-neck.hatenadiary.com これまでのjavaプラグインに比べると記述量が増えてしまうが、遜色ないビルドができることは示せたと思う。 複数ライブラリー(コンポーネント) …

Gradle3におけるJavaプロジェクトのビルド入門(1) #gradle

Gradleは元々の作りが非常にブラックボックスなため、設定されたオブジェクトのライフサイクルがわかりづらいなどの問題があり、Gradle3に向けて、それを修正している最中です。その中核となるのがRule Based Model Configurationという仕組みです。 その仕…

Gradle-2.9-rc1が11月4日に利用可能になってました #gradle

10月1日にGradle2.8-rc1が出たという記事を書いてから、1ヶ月、Gradle2.9-rc1が2015/11/4に出ています。 mike-neck.hatenadiary.com というわけで、いつもどおりリリースノートの意訳 Gradle TestKitがもっと便利になった Gradle TestKitがGradle2.6で出てか…

今 gradle.org に何が起きているのか?

gradle,org に何か異変っぽいものが起きているらしいです。 Gradleさんどうなってしまったの https://t.co/L1ssx97cY4— Yasuharu Nakano (@nobeans) 2015, 10月 26 僕も昨晩確認してみたところ、こんなページになっていました。 @saba1024 なんか、直ってた …

Gradleからdockerを起動して分散テストさせてみた #gradle #docker

昨日のエントリーの続きです。 mike-neck.hatenadiary.com Gradle万能派の僕には、納得がいかなかったので、最後までやってみることにしました。 切り捨てたこと まず、分散テストは何が目的なのか考えると、テスト結果をマージすることが目的なので、以下の…

Gradleからdockerを起動して分散テストさせようとしたのだけれども

標記の件について、ここ2日間取り組んでいます。もちろん、ボランティアです。 元ネタはじょーたにさんに教えてもらったこのツイート。 JUnitの実行を各クラス毎に並列で実行して、かつそれぞれをDockerで実行してくれるようなものは無いかな..— たむたむ (@…

Gradle2.8 rc1が出たようです。 #gradle

世間ではBazelが流行っていますが、Gradle 2.8 rc-1 が2015/10/1 2:15am頃に出たようですので、リリースノートの超意訳を書きます。 discuss.gradle.org リリースノートはこちらから ダウンロードはこちらから なお、sdkmanでも取得可能のようです。 ~ $ sdk…

今更だけど、Gradleをちゃんと勉強しよう - Task同士の協調

今度のJava女子部の勉強会でGradleの講師をさせていただくことになりました。 javajo.doorkeeper.jp それほど高度な内容は扱わないのですが、入門レベルの復習をされたい方はご参加いただくとよいかもしれません。 で、その勉強会の中でGradleのタスク同士が…

Payara-micro meets Gradle, Gradle Payara Plugin(unofficial) is available! #gradle #payara

meets Gradle Payara plugin is available now! Detail information is available at gradle plugin portal. And the repository is here. mike-neck/gradle-payara-unofficial-plugingithub.com Install Add following script to your build.gradle, you ca…

Gradle Payara plugin(unofiicial)をリリースしました

meets GradleのPayaraプラグイン(unofficial)をリリースしました。 org.mikeneck.payara-pluginで詳細な情報が記述されています。 また、レポジトリーはこちらです。 mike-neck/gradle-payara-unofficial-plugingithub.com 使い方 プラグインの導入 以下のビ…

今更だけど、Gradleをちゃんと勉強しよう - Gradleのプロパティいろいろ

以前のエントリーでgradle.propertiesのチートシート(中途半端)を書いたわけですが、Gradleのプロパティを作る方法はgradle.properties以外にもあって、そこらへんをまとめてみました。 gradle.propertiesで設定する propertyName=some value と記述するとpr…

今更だけど、Gradleをちゃんと勉強しよう - Gradleのタスク実行フェーズ その2

Gradleでなんらかのタスクを作って、実行してみると遅い時がありますね。 まあ、大量のファイルをコピーしてzipで固めるなんて場合は、遅いのは仕方ないです。しかし、cleanとかtasksとかコピーと関係のないタスクまで遅くなるようなことがあれば、設定フェ…

今更だけど、Gradleをちゃんと追いかけよう - gradle2.7-rc1がリリースされました

Gradle2.7-rc1が2015/08/29の0:00頃にリリースされたようです。Gradleは2ヶ月に1回リリースするので、正式版は10月になると思います。今は人柱になりたい方が試してみるとよいと思います。 Gradle 2.7-rc-1 is now available for testingdiscuss.gradle.org …

今更だけど、Gradleをちゃんと勉強しよう - gradle.propertiesチートシート

gradle.propertiesのチートシート なんか、デーモンをデフォルトで使うときのgradle.propertiesのキーが何だったか忘れることが多いので、面倒だけどまとめた。 ビルド関連 # デーモン使用有無 : true 使う / false 使わない org.gradle.daemon=true # 使うj…

今更だけど、Gradleをちゃんと勉強しよう - Gradleのタスク実行フェーズ - その1

Gradle芸人業を毎日やってるけど、まだまだ全然Gradleのことわかってないなと思う日々なので、ここは基本に帰って、1つずつドキュメントのメソッド、プロパティをためしていくことにします。 第一回はproject.gradle編 gradleプロパティ 初回からマニアック…