Ho un progetto multiprogetto SBT, che appare come l'esempio a SBT doc:Come disabilitare il pacchetto e pubblicare le attività per il modulo di aggregazione radice in build multi-modulo?
import sbt._
import Keys._
object HelloBuild extends Build {
lazy val root = Project(id = "hello",
base = file(".")) aggregate(foo, bar)
lazy val foo = Project(id = "hello-foo",
base = file("foo"))
lazy val bar = Project(id = "hello-bar",
base = file("bar"))
}
Perché root
è solo un progetto virtuale di aggregare due sottoprogetti, vorrei evitare la generazione del pacchetto (e la pubblicazione artefatto), ma continuano a generare pacchetti (e pubblicare) per entrambi i sottoprogetti.
C'è un modo semplice per raggiungerlo?
Non funziona. Almeno quando provo 'publish-local', lo stills crea/pubblica un jar vuoto per il progetto root. (Uso sbt 0.11.2) – paradigmatic
@paradigmatic Hai sovrascritto publish-local? È necessario sovrascrivere qualsiasi passaggio che non si desidera eseguire sulla radice. L'ho provato con un progetto vuoto contenente due sottoprogetti come nel tuo esempio, e questo ha impedito alla pubblicazione di fare qualsiasi cosa nella root. –
Ho anche provato questo stesso esempio senza override e ancora pubblichiamo artefatti per i 3 sottoprogetti. È davvero strano – paradigmatic