Tengo varios proyectos SBT que tienen una configuración común, p. módulo múltiple, configuración de publishTo, etc.Configuración de compilación SBT
¿Cómo proporciono un campo común, p. ¿Clase CommonBuild que cada uno de los proyectos puede extender desde allí? Por ejemplo:
trait CommonBuild {
val publishSettings = Seq(
publishTo := Some("", ""),
credentials += ...
)
def module(name: String) (
settings: Seq[Setting[_]],
projectId: String = PROJECT + "-" + name,
dirName: String = name,
srcPath: String = PROJECT + name
) = Project(projectId, file(dirName), settings = (buildSettings ++ srcPathSetting(projectId, srcPath)) ++ publishSettings ++ settings)
}
Ahora que puede ser utilizado por un proyecto de construcción:
object ProjABuild extends CommonBuild {
// use CommonBuild methods/vals
}
object ProjBBuild extends CommonBuild {
// use CommonBuild methods/vals
}
¿Estos proyectos están dedicados a proyectos Sbt, o son subproyectos Sbt? –
Los proyectos A y B son proyectos Sbt dedicados, no subproyectos/módulos. – Dzhu
parece que tal vez la pregunta es un caso especial de cómo usar el código de biblioteca externa en build.scala? eso lograría tu objetivo, ¿verdad? – Owen