Wie setze ich eine system-Eigenschaft für mein Projekt im sbt?
Ich bin sicher, ich bin etwas fehlt wirklich einfach... ich will, um die system-Eigenschaft java.awt.headless
zu true
für mein sbt-Projekt. Lesen Sie die Seite auf Eigenschaften ich denke, dass ich system
oder systemOptional
. In meiner Projekt-Datei, die ich versucht habe, Dinge wie:
lazy val javaAwtHeadless = system[Boolean]("java.awt.headless")
Einstellung als Benutzer-Eigenschaft (z.B. lazy val javaAwtHeadless = property[Boolean]
) und Einstellung der dazugehörige Wert in build.properties
aus der Eigenschaft visible, die in der sbt-Konsole, aber nicht innerhalb von sbt, die die Scala-Konsole (über System.getProperty("java.awt.headless")
).
set java.awt.headless true
aus der sbt-Konsole arbeitet, einschließlich durch die Lage in der Scala-Konsole, aber es nicht dauern bis ich das nächste mal starten, sbt.
InformationsquelleAutor pr1001 | 2010-06-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Eine einfache Methode wäre, um Bearbeiten Sie die batch-Datei oder shell-Skript, das Sie ausführen
sbt
und fügen Sie-Dprop=val
Ich persönlich check das sbt-launcher und die sbt-shell-Skript in jedes Projekt, zum Beispiel: github.com/scalaz/scalaz. Hast du gerade versucht
System.setProperty("prop", "val")
irgendwo in Ihrem Projekt-definition? Denken Sie daran, dass SBT per default läuft alles im gleichen Prozess, es sei denn, Sie ausdrücklich bitten, bis zur Gabel: code.google.com/p/simple-build-tool/wiki/ForkingOk, vielen Dank, dass werde tun, für jetzt.
Oder im Kofferraum, system.Requisiten("prop") = "val". Aaaahh, das ist besser.
Sie können tun, dass durch ein plugin in der shell. Ich schrieb github.com/mustaghattack/jvm-command, dass es tut.
InformationsquelleAutor retronym
Wenn ich brauchte diese option für alle sbt Aufgaben, würd ich legen Sie wie folgt im Aufbau.sbt
Wenn es nur für eine Aufgabe, z.B.: laufen, Sie können den Gültigkeitsbereich:
InformationsquelleAutor jazmit
Wenn Sie versuchen, SBT-Eigenschaften, wie z.B. plugin-Einstellungen, dann die folgenden arbeitete für mich mit
0.13+
. Die folgenden aber nicht funktioniert, wenn Sie versuchen, pass in Liquibase-Einstellungen, wie Passwort, von unseren CI-frameworks.In deinem build.sbt
Hässlich, aber liefert Standardwerte, und Optional gewinnen von System.Eigenschaften. Auf diese Weise hast du deine default und override-Fälle abgedeckt.
Von der Kommandozeile
Nun einfach überschreiben via
-Dprop=value
wie Sie es mit Maven oder anderen JVM-Programme. Hinweis Requisiten erscheinen, bevor SBT Aufgabe.sbt -Dliquibase.password="shh" -Dliquibase.username="bob" liquibase:liquibase-update
InformationsquelleAutor Joseph Lust