エキサイト株式会社メディア開発の佐々木です。build.gradle内でIntelliJのGroovyの補完を効かせる方法です。
Gradleとは
Groovy製のビルドツールになります。Javaを始めAndroidやC/C++でも使えるようです。モジュールの依存関係の解決やちょっとした処理をGroovyスクリプトで記述・実行できます。
build.gradle
下記の記述をplugins
の前に書き加えるのみになります。
buildscript{ repositories { mavenCentral() } dependencies { classpath 'org.codehaus.groovy:groovy-all:3.0.9' } }
これで、IntelliJで補完が効くようにになります。
動作確認
実際のbuild.gradleのコードは下記になります。
buildscript{ repositories { mavenCentral() } dependencies { classpath 'org.codehaus.groovy:groovy-json:3.0.9' } } plugins { id 'java' } group 'org.example' version '1.0-SNAPSHOT' repositories { mavenCentral() } dependencies { testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1' testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1' } test { useJUnitPlatform() } task sample() { doLast { sample(); } } import groovy.json.JsonSlurper def sample(){ def json = new JsonSlurper().parseText('{"a":"b"}') println(json); }
groovyを使用しているコードは下記になります。このコードで先程クラスパスを追加した部分を使っています。
task sample() { doLast { sample(); } } import groovy.json.JsonSlurper def sample(){ def json = new JsonSlurper().parseText('{"a":"b"}') println(json); }
実行結果は下記になります。
$ ./gradlew sample > Task :sample {a=b}
Javaのライブラリ等も使用可能なので、Shellだとちょっと面倒になってしまうみたいなときに、重宝します。
まとめ
Gradleは、Groovyでできているのでこの設定をしなくてもGroovyのコードは実行できるのですが、IDEの恩恵を受けられないので設定しています。Javaのライブラリ等も使用可能ですし、プラグインもサクッと作ることができます。どこかでプラグインの話も書こうかと思います。
最後に
エキサイトではフロントエンジニア、バックエンドエンジニア、アプリエンジニアを随時募集しております。長期インターンも歓迎していますので、興味があれば連絡いただければと思います。
カジュアル面談はこちらになります! meety.net
募集職種一覧はこちらになります!(カジュアルからもOK) www.wantedly.com