エキサイト株式会社メディア開発の佐々木です。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