npm
gradle
YARN

gradleでnpmとかyarnのプロジェクトもまとめてビルドする

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と統合できます。コマンド一発ですべてビルドできていいですね。