2016-04-01 30 views
10

SBT'yi "salt okunur" bir dizinde çalıştırarak zor bir zaman geçiriyorum (dizin benim izinlerim var ancak yazamıyorum/yapmamalıyım).Tüm SBT hedef dizinlerini kaynağın dışına değiştirin

Temel olarak tüm hedef dizinleri başka bir konuma taşımak istiyorum.

sorun çözülür Yarım:

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

ama yine de project/* dizin içinde hedef dizinleri yaratıyor.

Ayrıca, bu sbt dosyalarını değiştirerek değil, çalıştırma komutunda yapılmasını isterim. kullanıyorum geçerli komut şöyledir: bir olasılık olacağı sistem çapında sbt yapılandırma çeşit ekleme

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

, ama aynı zamanda o iş gelemedi.

Bunu nasıl gerçekleştireceğiniz hakkında herhangi bir fikrin var mı?

+0

proje inşa yapı yapılandırmak için, proje/build.sbt' 'hedefi değiştirmek gerekir - Eğer değişime en az bir zaman erişebilir yapmak Yapımın kurulu mu? –

+0

Başka bir (daha iyi?) Seçenek belki de tüm yeni bir dizini kullanmak ve kaynaklarınıza ve kaynaklarınıza sembolik bağlantı kurmaktır. Işe yarar mı? –

+0

Dosya sistemi ile etkileşime girmek çok kolay – rtfpessoa

cevap

0

Yani burada sembolik kullanarak benim öneri:

$ 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

Dosya sistemi ile etkileşime girmek istemiyorum, en son çare olarak, kaynak klasörün dışında sistem genişliğinde yapılandırmaları olması geçerli olurdu, ancak nasıl yapılacağını da bulamadım. – rtfpessoa

İlgili konular