MySqlTask.groovyという名前のカスタムタスクを作成しました
import org.gradle.api.DefaultTask
import org.gradle.api.tasks.TaskAction
public class MySqlTask extends DefaultTask {
def hostname = 'localhost'
def sql
@TaskAction
def runQuery() {
//to do something...
}
}
そして、このファイルを rootProject/buildSrc/src/main/groovy に置きました。
私のビルド ファイルは customtasksourcetree.gradle です。
task createDatabase(type: MySqlTask) { sql = 'CREATE DATABASE IF NOT EXISTS example' }
customtasksrc.gradle で gradle を実行すると、このようなエラーが発生します。
FAILURE: Build failed with an exception.
* Where:
Build file '/Users/need4spd/Programming/Java/workspace/gradleTest/customtasksourcetree.gradle' line: 1
* What went wrong:
A problem occurred evaluating root project 'gradleTest'.
> Could not find property 'MySqlTask' on root project 'gradleTest'.
buildSrc のカスタム タスク ファイルがコンパイルされ、ビルド時に自動的にクラスパスに追加されることを読みました。
buildSrc/build/classes にコンパイル済みの MySqlTask.class が表示されます。
どうしたの?ありがとう。