3

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 が表示されます。

どうしたの?ありがとう。

4

1 に答える 1