2016-11-17 1 views
1

Ich habe die folgenden Erklärungen in meiner .sbt Datei:ausblenden Projekte in .sbt

lazy val root = (Project("core", file(".")) 
    aggregate(project1, project2) 
    settings (...)) 
lazy val project1 = Project("project1", file("project1")) 
lazy val project2 = Project("project2", file("project2")) 
lazy val project3 = Project("project3", file("project3")) 

ich standardmäßig wollen project3 zu sbt versteckt haben (und natürlich IntelliJ IDEA-Projekt), und nur haben sie sichtbar nachdem es über eine Systemeigenschaft wie -Dproject3.enabled=true aktiviert wurde. Irgendwelche Ideen, wie man solche Gabelung implementiert?

+1

Ich denke, synthetisches Projekt Merkmal sbt 0.13.13 kann in dieser Situation verwendet werden: http://www.scala-sbt.org/0.13/docs/sbt -0.13-Tech-Previews.html # Synthetische + Teilprojekte – Haspemulator

Antwort

2

einfach zuordnen Ihr Teilprojekt bedingt:

lazy val project3 = if (System.getProperty("project3.enabled") == "true") { 
    Project("project3", file("project3")) 
} else { 
    // This is just a cheat to get the type system working. There might be 
    // a cleaner way to do this. 
    root 
}