2015-03-08 4 views
7

वर्तमान में, मैं इस तरह एक प्लगइन का इस्तेमाल किया:एसबीटी में, एक Github यूआरएल के साथ addSbtPlugin का उपयोग कैसे करें?

addSbtPlugin("com.tuplejump" % "sbt-yeoman" % "0.7.1") 

लेकिन फिर भी, मैं GitHub पर इस प्लगइन कांटा (मान लीजिए कि https://github.com/myname/play-yeoman.git हैं) और कुछ परिवर्तन, क्या प्लगइन की मेरी काँटेदार संस्करण का उपयोग करने के लिए एक आसान तरीका होगा बनाने ? क्या मुझे वास्तव में एक मेवेन/आईवी भंडार पर इस कांटा को पंजीकृत करना है?

धन्यवाद!

+2

'sazt docs] में उल्लिखित 'lazy val yeomanPlugin = uri (" sit: //github.com/myname/play-yeoman ") का उपयोग करने के बारे में क्या है (https://github.com/myname/play- yeoman.git)? क्या आप एक एसबीटी प्लगइन पर काम कर रहे हैं? –

+1

सिर्फ नाडर टिप्पणी के पूरक के लिए: [1 डी) परियोजना निर्भरता - एसबीटी दस्तावेज़] (http://www.scala-sbt.org/0.13/docs/Plugins.html#1d%29+ प्रोजेक्ट + निर्भरता) – Salem

उत्तर

3

एसबीटी 0.13.8 का उपयोग करना, मैं अपने ./project/plugins.sbt में निम्न पंक्ति को बदलने के लिए कर रहा था:

addSbtPlugin("net.ground5hark.sbt" %% "sbt-concat" % "0.1.8") 
निम्नांकित दो पंक्तियों के साथ

lazy val root = (project in file(".")).dependsOn(concatPlugin) 

lazy val concatPlugin = uri("https://github.com/ground5hark/sbt-concat.git#342acc34195438799b8a278fda94b126238aae17") 

नहीं अन्य कदम जरूरी थे। साथ ही, ध्यान दें कि गिट यूआरआई के अंत में एक प्रतिबद्ध हैश है। यह ज्ञात काम करने के लिए बहुत उपयोगी है, स्रोत के नवीनतम अज्ञात अवस्था के बजाय, परियोजना में स्रोत का विशिष्ट संस्करण प्रयुक्त होता है।

+1

यह कैसे काम करता है जब गिटहब रेपो निजी है? मैं उपयोगकर्ता/पासवर्ड या एसएसएच कुंजी कैसे प्रदान कर सकता हूं? – mkurz

+0

@mkurz, इसे कभी नहीं किया, लेकिन इस लिंक में कुछ समाधान हैं: http://stackoverflow.com/a/18880397/4978821 –

0

इस चरणों का पालन करें:

  1. कमांड लाइन से प्लगइन का संस्करण के लिए -SNAPSHOT प्रत्यय जोड़ें, अर्थात version := "1.0.0-SNAPSHOT"
  2. भागो sbt publishLocal
  3. अपने plugins.sbt से स्नैपशॉट संस्करण का संदर्भ लें।
संबंधित मुद्दे