2015-04-15 12 views
5

Ho un progetto SBT con ~ 40 sottoprogetti. Ci sono diversi plugin, il più grande dei quali sono Play e sbt-native-packager. Non ci sono plugin globali.Slow SBT avvia con molti progetti

Su alcuni hardware abbastanza robusti, avviare (dopo la prima volta) richiede 20-25 s. So che non tutto è dovuto all'avvio di JVM, dal momento che un piccolo progetto (puro sovraccarico) inizia in 3-4 secondi.

Come scoprire perché sbt impiega più tempo per iniziare nel progetto più grande?

Ho provato sbt -Dsbt.task.timings = true, ma non include ciò che sta richiedendo il maggior numero di volte. Dopo le ultime stampe temporizzazione, ma prima

Impostare progetto in corso per esempio (nel file di configurazione:/home/Paul/lucido/example /)

c'è una pausa 15s.

Come è possibile individuare le cause dell'avvio lento?

risposta

1

provare a creare project/debug.sbt:

logLevel := Level.Debug 

e vedere cosa si trova. Spesso è la compilazione dei file di build se si dispone di project/*.scala.

+0

I file SBT sono più veloci o sono essenzialmente file Scala alla fine della giornata? –

+0

Verranno anche compilati. Per risparmiare tempo uno dovrebbe trasformarlo in un plugin pubblicato. –

+0

"start up (dopo la prima volta)" Con questo intendo che tutti i project/*. Scala files sono compilati. –