gradleのhello worldメモ

memo

gradleのhello world的なサイトを見ながら操作メモです。(centos7)

gradleのインストール

# cd ~
# yum install -y which unzip zip vim
# curl -s http://get.sdkman.io | bash
# source ~/.sdkman/bin/sdkman-init.sh
# sdk install gradle

hello woldのコンパイルと実行

# yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel
# mkdir myapp && cd myapp
# gradle init --type java-application
# gradle compileJava
# gradle run

jarの作成と実行

# gradle jar
# ls -la build/libs/
# java -cp build/libs/myapp.jar myapp/App

build.gradleに簡単なタスクを追加して実行

# vim build.gradle
※ファイル末尾に下記を追記
task hello {
    doLast {
        println "Hello World!!"
    }
}
# gradle hello
> Task :hello
Hello World!!

カスタムタスクの利用

DefaultTaskから派生したタスクを定義しておき、実行するメソッドにアノテーションを付けておけば、「type:」で型を指定する形でオブジェクトを生成して実行する事ができる。pluginで提供される機能に対し、任意のパラメータを上書きして実行させるなどして利用する。

class AAATask extends DefaultTask {

    String message

    @TaskAction
    def execMyTask() {
        println("message is ${message}")
    }
}

task execMyTask(type: AAATask) {
    message = "Hello World"
}