2016-04-01 12 views
10

Ho difficoltà a eseguire SBT in una directory di "sola lettura" (directory ho i permessi ma non posso/non devo scrivere).Cambiare tutte le directory di destinazione SBT all'esterno della sorgente

Voglio sostanzialmente spostare tutte le directory di destinazione in un'altra posizione.

metà del problema è risolto con:

target := file("</full/path/to/new/location>") 

ma è ancora la creazione di directory di destinazione all'interno della directory project/*.

Vorrei anche che ciò avvenga nel comando run, non cambiando i file sbt. Il comando corrente che sto usando è:

sbt 'set target := file("</full/path/to/new/location>")' compile 

Aggiunta di un qualche tipo di configurazione di SBT a livello di sistema sarebbe una possibilità, ma ho anche non poteva farlo funzionare.

Qualche idea su come realizzare questo?

+0

Per configurare la costruzione del progetto di costruzione, si avrebbe bisogno di cambiare obiettivo in 'project/build.sbt' - avete almeno un accesso in tempo al cambiamento la build della tua build? –

+0

Un'altra opzione (meglio?) È forse quella di utilizzare un'intera directory fresca e solo un collegamento simbolico alle risorse e ai sorgenti. Funzionerebbe? –

+0

Interagire con il filesystem non è l'ideale – rtfpessoa

risposta

0

ecco il mio suggerimento utilizzando link simbolici:

$ mkdir -p have_access/project 
$ ln -sr read_only/src have_access/ 
$ ln -sr read_only/build.sbt have_access/ 
$ ln -sr read_only/project/build.properties have_access/project/ 
$ cd have_access 
$ sbt test 
+1

Interagire con il filesystem non è l'ideale, in ultima analisi sarebbe valido disporre di configurazioni di sistema esterne alla cartella di origine, ma non ho trovato anche come farlo. – rtfpessoa

Problemi correlati