Gradleを使用して数日しか経っていない
私の現在のbuild.gradleスクリプトには、別のプロジェクトでビルドタスクを呼び出すタスクがあります(つまり、別の場所で別のbuild.gradleで定義されています)。
私の質問は、別のプロジェクトからタスクを呼び出すにはどうすればよいですか?
Tasks.build.execute()のようなことをしたいのですが、動作しないようです。私はこれを試しました:
commandLine "${rootDir}\\gradle", 'build', 'Eclipse'
少なくともマスタープロジェクトではなく、現在のプロジェクトのビルドとEclipseを実行しました。私の質問が明確であることを願っています
まずこれを読んでください: http://gradle.org/docs/current/userguide/multi_project_builds.html
マルチプロジェクトビルドの場合次のような内容のsettings.gradleファイルを含むルートプロジェクトが必要です。
include 'myproject1'
include 'myproject2'
次のように、あるプロジェクトから別のプロジェクトへの依存関係を作成できます。
myproject1/gradle.build
task someOtherTask() << {
println 'Hello'
}
myproject2/gradle.build
task sometask(dependsOn: ':myproject1:someOtherTask') << {
//do something here
}
または、タスクを呼び出す場合:
project(':myproject1').tasks.build.execute()
注意:ビルドタスクを使用可能にするには、Javaプラグインを適用する必要があります。
BuildFileパスなどを調整します。
task buildSomethingElse(type: GradleBuild) {
buildFile = '../someOtherDirectory/build.gradle'
tasks = ['build']
}
build.finalizedBy('buildsomethingElse')
参照:Gradleの編成ビルドロジックガイド、段落 59.5 。
次のように、antを呼び出すだけのantプロジェクトに1行のbuild.gradleファイルを追加することで、これを別のantプロジェクトにも適用できます。
ant.importBuild 'build.xml'