次のような config.groovy がある場合、Groovy 2.0.7 を使用します。
def configText = """
switch(environment) {
case 'localhost':
PROXY {
HOST = "localproxy"
}
break
}
PROXY {
HOST = "defaultproxy"
}"""
def config = new ConfigSlurper("localhost").parse(configText)
、これを行うとアサーションエラーが発生します:-
assert "localproxy" == config.PROXY.HOST
「defaultproxy」行を削除すると、環境値が正しく返されます。
私は何か間違ったことをしていますか?config.PROXY.HOST にデフォルト値を指定し、環境スイッチ ブロックでそれをオーバーライドできるようにすることは、私にとっては標準的な要件です。
環境コンストラクターを使用して値をオーバーライドできることはわかっていますが、値を評価できないため、それは役に立ちません。
PROXY {
HOST = "defaultproxy"
URL = "http://" + HOST
}
http://defaultproxy
「localhost」環境を指定した場合でも、URLは常になります。
本当に両方の機能が必要です!どうすればこれを達成できるか知っている人はいますか?