A, B ve A, B olarak adlandırılan 2 özel sbt ayarını A, B'ye bağlı bir içerikle tanımlayın, birkaç yapılandırma kapsamından farklı bir A tanımlayın. B'nin her seferinde B'nin sadece bir kez tanımlanmış olmasına rağmen, sonuçta ortaya çıkan B değeri farklı olur. bu bağlı olduğu"Geçerli" yapılandırmadaki bir ayara nasıl bağlanır
object MyBuild extends Build {
lazy val remote = config("remote") describedAs ("configuration for remote environement ")
lazy val targetHost = settingKey[String]("private hostname of master server")
lazy val scriptContent = settingKey[String]("Some deployment script")
lazy val root: Project = Project("meme", file(".")).
settings(
name := "hello",
targetHost := "localhost",
targetHost in remote := "snoopy",
scriptContent := s"""
# some bash deployment here
/usr/local/uberDeploy.sh ${targetHost.value}
"""
)
}
her iki yapılandırma kapsamları farklı bir değer olması scriptContent
gibi, ancak:
diğer yapılandırma daha remote
farklı tanımlanan, aşağıdaki örnekte targetHost
için düşünün ve scriptContent
buna bağlı olarak
> scriptContent
[info]
[info] # some bash deployment here
[info] /usr/local/uberDeploy.sh localhost
[info]
> remote:scriptContent
[info]
[info] # some bash deployment here
[info] /usr/local/uberDeploy.sh localhost
[info]
aşağıdaki elde etmek istiyorum Oysa: Global
kapsamında targetHost
üzerindeki değeri her zaman aynıdır:
> scriptContent
[info]
[info] # some bash deployment here
[info] /usr/local/uberDeploy.sh localhost
[info]
> remote:scriptContent
[info]
[info] # some bash deployment here
[info] /usr/local/uberDeploy.sh snoopy
[info]
:
beklenen sonucu verir. Örneğin, her iki kapsamda iki 'scriptContent 'öğesini, diğerinde bir' ve 'basit' targetHost 'içinde' targetHost uzaktan' ile uygulayın. – marios