Sök…


Flera projekt i samma byggnad (delprojekt)

Ibland kombinerar en build flera källkataloger, var och en av dem är sitt eget 'projekt'. Till exempel kan du ha en byggstruktur som denna:

projektnamn / build.sbt projekt / src / main / ... test / ... core / src / main / ... test / ... webapp / src / main / ... test / ...

I ovanstående projektet koden i projectName/src anses vara root projektet. Det finns två andra moduler, eller "delprojekt", core och webapp .

Att konfigurera ett delprojekt liknar konfigurera rotprojektet, förutom att underkatalogen anges i projektet. Detta exempel visar ett webapp ett core och webapp projekt.

lazy val root = (project in file(".")).aggregate(core,webapp).dependsOn(core, webapp)

lazy val core = (project in file("core"))

lazy val webapp = (project in file("webapp")).dependsOn(core)

Värdena som skickas till file() är katalogerna i förhållande till projektroten.

Den webapp projekt beror på core projektet, som indikeras av dependsOn klausulen, som tar core värde som anges på raden ovanför. dependsOn och lazy utvärdering säkerställer att beroenden är tillgängliga innan projekt använder dem. I det här fallet beror webappcore , så core kommer att sammanställas innan build försöker kompilera webapp .

aggregate gör uppgifter definierade i ett projekt tillgängliga för projektet som aggregerar det. Till exempel att utföra compile i root Projektet kommer också att utföra compile i core och webapp .

Konfigurera makron i ett projekt

build.sbt filen build.sbt (eller där projektet definieras om det finns på en annan plats):

scalacOptions += "-language:experimental.macros"

Till exempel kan ett projekt definieras så här:

lazy val main = project.in(file("."))  // root project
  .settings(scalacOptions += "-language:experimental.macros",
            addCompilerPlugin("org.scalamacros" % "paradise" % "2.1.0" cross CrossVersion.full))

I exemplet ovan ingår paradise plugin för att ge komplett stöd för Scala 2.10.x

Bildskärmsinställningar

För att lista alla definierbara inställningar för ett projekt i SBT-konsolen:

settings

Eller för att få ett delprojekt (till exempel namngivna webapp ) -inställningar:

project webapp
settings

Den första raden ovan navigerar till det specifika delprojektet.

För att visa värdet på en specifik inställning (till exempel organization ):

show organization

Detta visar värdet på den inställningen.



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow