技術メモ

最新版で修正されているのかどうか不明だが、Gradle4.4.1ではこのバグがある。jarタスクでjarファイルを作成すると、エントリが重複してしまう。

再現サンプル

build.gradle

apply plugin ...

技術メモ

これがどうしてもわからないし、世界的にも悩んでいる人が多いようだ。そして、公式の回答としては「その方法は提供していない」というものだ。そんなバカなと思うかもしれないが、どうやってもうまくいかない。

やりたいこと

例えばCop ...

技術メモ

これは、Gradle:プラグインを作り、既存プラグインの動作を変更する及びGradle:プロジェクト間の共通処理パターンを実現するで書いたことのまとめである。

Gradleにおいて機能拡張を行うには、いくつかの方法がある。 ...

技術メモ

JavaExecは、特にjarファイルにまとめなくとも、ソースをコンパイルした状態で実行できる。

task something(type: JavaExec, dependsOn: ) { main = "foo.bar.Som ...

技術メモ

Gradle:build scanの使い方、その1の続きである。

Gradleを使っていて本当に困ることは、推移的依存によって引っ張ってこられるライブラリの中に余計なものがあることだ。これには二つのケースがある。

そ ...

技術メモ

build scanというのは、build.gradleファイルの内容を解析した結果を、Gradleチーム(?)の提供するサーバに送り込み、そのウェブサイトで様々な分析ができるというものだ。

当然、build.gradle ...

技術メモ

Gradleのスコープの仕組みはとてもわかりにくい。「アクセスできるだろう」と思っても、なぜかアクセスできなかったり、できないと思ってもアクセスできたりする。

これは、Gradleでのアクセス可能性がプログラミング言語とし ...

技術メモ

複数プロジェクトのdependenciesに決まりきったことを記述することがある。その筆頭としては、JUnit関連のライブラリだ。

例えば、

dependencies { testCompile group: 'or ...

技術メモ

gradle.propertiesは、他の設定ファイルとは異なり、マシンに一つだけなので、ここに様々な共通設定を書いておく、あるいは、より複雑な設定ファイルの場所を示しておくことができる。

さらに、公開ソフトウェアを開発中 ...

技術メモ

多数のプロジェクトで同じようなbuild.gradleがあるとき、その処理を共通化したい。これを行うには、既存のプラグインの動作を変更しなければならない。例えば、Gradleのコンベンションに従わない以下のような状況があるとする。