2011-10-05 4 views
26

एसबीटी 0.11.0 प्रलेखन के आधार पर उपलब्ध ("Common Tasks" wiki page और अन्य) और यह कैसे Scalaz SBT build में किया जाता है और Scalate SBT build में मैं समझ नहीं क्यों मेरे सरल कर सकते हैं देखने के बाद एसबीटी 0.11 के साथ स्रोत कोड उत्पन्न नहीं किया जा सकता उदाहरण के काम नहीं करता:से "पूर्ण विन्यास"

import sbt._ 
import Keys._ 

object MyBuild extends Build { 

    lazy val project = Project(
    id = "root", 
    base = file("."), 
    settings = Defaults.defaultSettings ++ Seq(
     (sourceGenerators in Compile) <+= (sourceManaged in Compile) map { dir => 
     val file = dir/"bla.scala" 
     IO.write(file, """object Bla extends App { println("bla!") }""") 
     Seq(file) 
     } 
    ) 
) 

} 

परियोजना पर लाना है कि/एक खाली परियोजना के build.scala और चल "एसबीटी संकलन" संकलित कुछ भी नहीं है और "एसबीटी रन" शिकायत है कि यह किसी भी मुख्य वर्ग नहीं मिल सकता है उत्पन्न करता है /।

अब, अगर मैं उपरोक्त पूर्ण कॉन्फ़िगरेशन के बजाय "त्वरित कॉन्फ़िगरेशन" build.sbt में सेटिंग डालता हूं, तो यह बस काम करता है।

(sourceGenerators in Compile) <+= (sourceManaged in Compile) map { dir => 
    val file = dir/"bla.scala" 
    IO.write(file, """object Bla extends App { println("bla!") }""") 
    Seq(file) 
} 

जाहिर है, एक "पूर्ण विन्यास" -only परियोजना में एक build.sbt फ़ाइल बनाने के लिए की आवश्यकता होगी, वांछनीय से दूर, कम से कम मेरे लिए है।

तो, यह सेटिंग पूर्ण कॉन्फ़िगरेशन में क्यों काम नहीं कर रही है?

+0

मैंने उपर्युक्त परियोजना/Build.scala में प्रतिलिपि बनाई और चिपकाया, 'एसबीटी रन' चलाया, और यह ब्लैक मुद्रित हुआ! जैसा सोचा था। शायद जांचें कि फ़ाइल नाम सही है और परिभाषा को ऑब्जेक्ट में प्रिंटल में फेंकने या सेटिंग बदलने और इसे सत्यापित करने से लोड हो रहा है। –

+0

क्या 'project/build.scala' विफल रहता है जहां' project/Build.scala' सफल होता है? – earldouglas

+0

इस लड़के को एक साल के लिए स्वीकार नहीं किया गया जवाब रखने के लिए भारी गिरावट का हकदार है। मुझे पहले व्यक्ति बनने दो :) –

उत्तर

2

बस फ़ाइल में अपने कोड पेस्ट करें project/Build.scala और इसे sbt run के साथ चलाएं और यह काम करता है।

क्या आप सुनिश्चित हैं कि आपका Build.scala सही ढंग से स्थित है (project निर्देशिका में होना चाहिए)?