JavaやJVM言語で開発するとき、mavenやgradleを使ってビルドしています。最近はmavenからgradleを利用するケースが多いですね。一方でフロントエンド側の開発はnpmやyarnを使ってビルドします。その上で、gulpとかwebpackとか…。
npmやyarnでのビルドをgradleに統合するには、gradle-node-pluginがあります。gulpを使えば、かなり細かく統合できますが、npmやyarnでビルドツールを構築していれば、お手軽に統合できます。
build.grade
プラグインを設定するだけでnpmやyarnのコマンドを叩けます。
build.gradleは最低限、次のように記述するだけで動きます。
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "com.moowork.gradle:gradle-node-plugin:1.2.0"
}
}
plugins {
id "com.moowork.node" version "1.2.0"
}
apply plugin: 'com.moowork.node'
実行
npmを使う場合です。yarnの場合はnpmと書いているところをyarnに読み替えてください。
npm install
gradle npm_install
npm build
gradle npm_build
npm run build
gradle npm_run_build
npm start
gradle npm_start
gradle buildとの統合
npmコマンドのラッパとしてだけでなく、javaのコードのビルド前にnpmのビルドを自動で走らせたりできます。build.gradleに次のように書きます。
classes dependsOn npm_build
おわり
とても簡単にgradleと統合できます。コマンド一発ですべてビルドできていいですね。