読者です 読者をやめる 読者になる 読者になる

Gradle の起動スクリプト自動生成を無効化する - application プラグイン

Java Groovy

Gradle の application プラグインにおける起動スクリプトの自動生成を無効化する方法です。

  • Gradle 2.4

ソースは http://github.com/fits/try_samples/tree/master/blog/20150607/

はじめに

application プラグインを使用して gradle build を実行すると、下記のような構成の zip と tar ファイルが build/distributions へ生成されます。

  • bin へ起動スクリプトを自動生成 (bat と bash 用)
  • lib へ各種 JAR ファイル ※ を配置
  • src/dist 内のディレクトリやファイルをそのままの構成で配置
※ ビルドによって生成された JAR と依存モジュールの JAR

例えば zip ファイルの中身は以下のようになります。

zip ファイル内の構成例
  • sample_app.zip
    • bin
      • sample_app
      • sample_app.bat
    • lib
      • sample_app.jar

起動スクリプトを自動生成してくれるのは非常に便利なのですが、自前で起動スクリプトを用意したい場合もあると思います。

src/dist/bin へ同名の起動スクリプトを用意する方法では、zip・tar ファイル内の bin に同名ファイルが 2重に登録されてしまいました。 (自動生成の方が後に追加される)

これでは不便なので自動生成を無効化する方法を探ってみました。

起動スクリプトの自動生成を無効化

結果的に startScripts.enabled へ false を設定すれば無効化できました。

build.gradle
apply plugin: 'application'

// 起動スクリプトの自動生成を無効化
startScripts.enabled = false
・・・