Grailsコントローラーから外部のGradleプロジェクトをビルドするにはどうすればよいですか?Grails 2.0.0
更新:この質問についてAdam Murdoch(gradleの共同創設者)にメールを送信しました:http://forums.gradle.org/gradle/topics/how_can_i_use_the_gradle_tooling_api_from_a_grails_controller
この質問に対する直接の答えはありませんが、解決策はあります。この主題に関するさらなる洞察をいただければ幸いです。
LukeDaleyが提供するgradleビルドスクリプトを使用しました。build.gradleを実行すると、gradleツールAPIに必要な4つのjarファイルが出力されます。次に、これらをGrailslibフォルダーに配置します。
次に、consoleController.groovyという名前のgrailsコントローラーに次のコードを書き込みました。
import org.gradle.tooling.BuildLauncher
import org.gradle.tooling.GradleConnector
import org.gradle.tooling.ProjectConnection
class consoleController {
def run = {
println "new run -------------------------------------"
println "Building file..."
String projectDir = "C:\\Documents and Settings\\Administrator\\Desktop\\demo"
GradleConnector connector = GradleConnector.newConnector()
connector.forProjectDirectory(new File(projectDir))
ProjectConnection connection = connector.connect()
try {
BuildLauncher launcher = connection.newBuild()
launcher.forTasks("hello")
launcher.run()
} finally {
connection.close()
}
}
}
また、build.gradleファイルを使用して「demo」というディレクトリを作成しました。
task hello {
println "hello world"
}
次のスタックトレースが表示されます-エラー:参照してください-http: //forums.gradle.org/gradle/topics/how_can_i_use_the_gradle_tooling_api_from_a_grails_controller
StackOverflow.comにはスタックトレースが長すぎます。