मैं एक local.sbt में इस तरह से कुंजी कैसे सेट करूं कि प्रत्येक उपप्रोजेक्ट इसे ढूंढ ले?

मैं एक बहु परियोजना में Coursier प्लगइन का उपयोग करने की कोशिश कर रहा हूं, लेकिन जब से मैं इसका परीक्षण कर रहा हूं, मैं इसे हमारे गिट रेपो में जांचने की कोशिश नहीं कर रहा हूं।

इसलिए मैंने इसे अपने project/local.sbt में रखा और मैं coursierUseSbtCredentials := true को local.sbt में सेट करने का प्रयास कर रहा था। इसका कोई दृश्य प्रभाव नहीं है।

  • प्रमाणित सांठगांठ को my build.sbt . में commonSettings वैल में परिभाषित किया गया है

    val commonSettings = Seq(
      ...
      resolvers += "my-nexus" at "http://blah",
      credentials += ... 
    )
    

    जिसे प्रत्येक उप-परियोजना .settings(commonSettings) के साथ उपयोग करती है (सर्वोत्तम अभ्यास मार्गदर्शिका के अनुसार)

  • अगर मैं coursierUseSbtCredentials := true को commonSettings में डालता हूं तो यह काम करता है, लेकिन फिर मुझे इसे अपने build.sbt में जोड़ना होगा, जो कि मैं नहीं करूंगा।

मैं इस कुंजी को कैसे सेट करूं ताकि प्रत्येक उपप्रोजेक्ट इसे और इस तरह से देख सके कि यह build.sbt फ़ाइल के बाहर हो? (जैसे local.sbt ?)

4
Edoardo Vacchi 27 अक्टूबर 2016, 14:45

1 उत्तर

सबसे बढ़िया उत्तर

project/SetupCoursierPlugin.scala पर एक स्थानीय प्लगइन बनाएं:

import sbt._

import coursier.CoursierPlugin, CoursierPlugin.autoImport._

object SetupCoursierPlugin extends AutoPlugin {
  override def requires = CoursierPlugin
  override def trigger  = allRequirements

  override def projectSettings = Seq(
    coursierUseSbtCredentials := true
  )
}
4
Dale Wijnand 27 अक्टूबर 2016, 14:54
मैंने इसे local.scala में डाल दिया और इसे .gitignore में जोड़ दिया। इरादा के अनुसार काम करता है। धन्यवाद।
 – 
Edoardo Vacchi
27 अक्टूबर 2016, 15:04