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() } }
参考: