2012-12-10 12 views
17

Mi chiedevo se c'è una differenza in SBT tra il nome e l'ID di un progetto.SBT - Qual è la differenza tra nome e ID?

ho notato esempio build.sbt file con la seguente chiave:

name := "My Project" 

e ho notato i file Build.scala con:

Project(id = "My Project", base = file(".")) 

C'è una differenza? I due dovrebbero essere uguali o irrilevanti? Per cosa sono usati?

Grazie!

risposta

8

Il nome del progetto deve essere utilizzato per il nome del progetto, il titolo visibile per qualsiasi documentazione.

Id viene utilizzato per fare riferimento al progetto per modificare le impostazioni o in termini di gestione dipendenza, cioè per collegare un sottoprogetto in un progetto principale che si può dire subproject.dependsOn(rootProjectId)

3

Nel file build.sbt si ha una definizione di progetto singola. Puoi anche passare un attributo nome alle impostazioni di un Project nel tuo build.scala. Dato che puoi avere diversi sottoprogetti in un file di build, devi fornire un id per ognuno di essi, mentre il nome del progetto rimane lo stesso.