2012-12-21 18 views
5

के लिए एक अलग लाइब्रेरी संस्करण चुनना क्या एसबीटी को क्रॉस बिल्डिंग के दौरान पूरी तरह से अलग लाइब्रेरी संस्करण का उपयोग करने के लिए कॉन्फ़िगर करना संभव है, इस परियोजना के साथ स्केल संस्करण के आधार पर बनाया जा रहा है?एसबीटी क्रॉस बिल्डिंग - विभिन्न स्कैला संस्करण

उदाहरण के लिए:

  • जब स्काला 2.9.2 साथ निर्माण मैं जब स्केला 2.10.0 मैं उपयोग करने के लिए "org.scalatest" % "scalatest_2.10.0-RC5" % "2.0.M5-B1" % "test"

उत्तर

8

कुछ इस तरह काम करना चाहिए चाहते हैं के साथ निर्माण "org.scalatest" % "scalatest_2.9.2" % "2.0.M5" % "test"

  • उपयोग करना चाहते हैं:

    libraryDependencies <+= scalaVersion(scalatestDependency(_)) 
    
    def scalatestDependency(scalaVersion: String) = scalaVersion match { 
        case "2.9.2" => "org.scalatest" % "scalatest_2.9.2" % "2.0.M5" % "test" 
        case "2.10.0" => "org.scalatest" % "scalatest_2.10.0-RC5" % "2.0.M5-B1" % "test" 
    } 
    

    मुझे लगता है कि आप वास्तव में मतलब था कि लाइब्रेरी संस्करणों के आसपास दूसरी तरफ होना चाहिए? :-)

    आप ScalaMock 2 build में इस विषय पर विविधताएं देख सकते हैं।

  • +0

    धन्यवाद! यह काम करता हैं। मेरा स्कैला संस्करण '2.10.0-आरसी 5' के माध्यम से आ रहा था, इसलिए मुझे लिंक में दिखाए गए रेगेक्स का उपयोग करने के लिए मैच स्टेटमेंट बदलना पड़ा। यह बहुत अच्छा होगा अगर यह पूरी तरह से .sbt फ़ाइल में ऐसा करने का कोई तरीका था, लेकिन मुझे लगता है कि इस समय नहीं है? – theon

    +0

    @किम - कोड (ब्लश) में मेरी बेवकूफ त्रुटि को ठीक करने के लिए बहुत धन्यवाद। –

    +0

    @theon - मुझे किसी .sbt फ़ाइल में ऐसा करने के किसी भी तरीके से अवगत नहीं है, मुझे डर है। –

    संबंधित मुद्दे