/ / SBT: Ako získať prístup k premennej alebo konfigurácii prostredia? - Scala, build, sbt

SBT: Ako získať prístup k premennej alebo konfigurácii prostredia? - Scala, build, sbt

Publikujem do interného archívu Nexus. Máme dva repozitáre, „dev“ a „produkcia“. Vývojári používajú dev repo, zostavovací tím používa produkčné repo, ku ktorému majú prístup zo strojov v zabezpečenej oblasti. Chcel by som pridať premennú prostredia alebo konfiguráciu SBT, ktorá definuje STAGE s predvolenou hodnotou „dev“. Na výrobných skriniach STAGE by sa prepísalo slovo „výroba“. Ako to môžem urobiť? Dokážem zadefinovať fázu v mojom súbore build.sbt a použiť ju v úlohe publishTo, môžem len zistiť, ako získať hodnotu z prostredia. Tu je to, čo mám.

val stage = settingKey[String]("stage")

stage := "dev"

publishTo <<= (version, stage) { (v: String, s: String) =>
val nexus = "http://my-internal-nexus:8081/nexus/content/repositories/"
if (v.trim.endsWith("SNAPSHOT"))
Some("snapshots" at nexus + s + "-snapshots-m2")
else
Some("releases"  at nexus + s + "-releases-m2")
}

odpovede:

29 pre odpoveď č. 1

Môžete prejsť fázou v systémovej vlastnosti a prečítať ju do nastavenia:

stage := sys.props.getOrElse("stage", default = "dev")

použitie sbt -Dstage=production aby ste to mohli odovzdať vo svojom prostredí zostavenia.