SBT

2011-04-15 21 views
8

ile kaynak dosyaları hedef dizine kopyalayın Son zamanlarda, mevcut bir proje oluşturmak için SBT'yi kullanmaya karar verdim. Bu projede, derleme aşamasında kopyalamam gereken scala paketlerinde bazı .glsl dosyaları var.SBT

- myapp.opengl 
    - Shader.scala 
- myapp.opengl.shaders 
    - vertex_shader.glsl 
    - fragment_shader.glsl 

SBT için doğru bu dosya yapısı mı yoksa bir başka dizine .glsl dosyalarını koymak gerekiyor:

proje bu gibi yapılandırılmıştır. Ve bu dosyaları hedef klasöre kopyalamanın temiz bir yolunu biliyor musunuz?

olduklarını beri kaynaklar dizine bu dosyaları koyarak tercih ediyorum (-olmayan derlenmiş) dosyalarını

Teşekkür

cevap

8

Ben ait olmadıkları olarak src/main/scala içine bu dosyaları koyarak tavsiye etmem kaynakları Orada. Bunları kaynak dosyalarınızdan ayrı tutmak istiyorsanız, bunları özel bir yola koyabilirsiniz. src/main/glsl ve çıkış satırına kopyalamak için aşağıdaki satırları ekleyin:

val shaderSourcePath = "src"/"main"/"glsl" 

// use shaderSourcePath as root path, so directory structure is 
// correctly preserved (relative to the source path) 
def shaderSources = (shaderSourcePath ##) ** "*.glsl" 

override def mainResources = super.mainResources +++ shaderSources 
+0

Teşekkür ederim. Mükemmel çalışıyor! :) –

+0

@Mr_Qqn Java projem için de aynı şartlara sahibim ve sbt için hangi proje yapılandırma dosyasını değiştireceğimizi anlayamıyorum (Scala'da da herhangi bir deneyimim yok) –

+0

WebappResources ile aynı şeyi yapabilir misiniz? Değiştirebileceğiniz bir webappPath değişkeni olduğunu biliyorum, ancak birden fazla klasördeki kaynakları birleştirmek için kullanılabilecek bir webappResources sözünü bulamadım. –