project.gradle.startParameter.taskNames でコマンドラインから指定されたタスク一覧が取得出来る。
web.xmlの設定を環境別に変更するのに使った。
ローカル環境にデプロイする場合deployLocalを実行し、それ以外の場合はdeployコマンドを実行する場合以下のようになる。
processResources << {
// 環境別にweb.xmlを生成する
// Local環境ではHTTPを許可する
def webXmlBinding = []
if (project.gradle.startParameter.taskNames[0] == "deployLocal") {
webXmlBinding = ["transportGuarantee":"NONE"]
} else {
webXmlBinding = ["transportGuarantee":"CONFIDENTIAL"]
}
def engine = new groovy.text.SimpleTemplateEngine()
generatedWebXmlFile.withWriter { w ->
w << engine.createTemplate(file("$webAppDir/$webXmlTemplateName")).make(webXmlBinding).toString()
}
}
参考: