2014-09-19 15 views
8

क्या किसी के पास कोई विचार है कि एक जीथब रेपो को निर्भरता के रूप में उपयोग करना संभव है, बिना इसे मैवेन सेंट्रल में प्रकाशित किया जा सकता है।एंड्रॉइड स्टूडियो - ग्रैडल - गिटहब रेपो

मान लें कि मैं एक एंड्रॉइड लाइब्रेरी विकसित कर रहा हूं जिसमें इसका खुद का जिथब रेपो है। मैं अपने पुस्तकालय केंद्र (कम से कम इस पल के लिए) प्रकाशित किए बिना, मेरे एंड्रॉइड स्टूडियो प्रोजेक्ट में, इस लाइब्रेरी को "संकलित" करने में सक्षम होना चाहता हूं।

दूसरे शब्दों में: मैं एक निर्भरता का उपयोग करना चाहता हूं जो मैवेन सेंट्रल पर नहीं है। यह एक सीधी जिथब रेपो है (एक एंड्रॉइड लाइब्रेरी जो भी ग्रेडल का उपयोग करती है)।

मैं इस तरह कुछ करने के लिए मेरी build.gradle चाहते हैं:

dependencies { 
    // Google Play Services (normal dependency) 
    compile "com.google.android.gms:play-services:5.2.08" 

    // The library I want to pull from github 
    compile "path_to_my_github_repo" 
} 

धन्यवाद!

+0

आप कुछ मतलब क्या के साथ मदद जैसे: https://groups.google.com/forum/#!topic/adt-dev/gVDWMCAdxd8? – CommonsWare

+0

शायद यह: https://github.com/bat-cha/gradle-plugin-git- निर्भरता – Ayzen

+0

@ कॉमन्सवेयर वास्तव में नहीं। गिट निर्भरता प्लगइन ऐसा लगता है जो मैं ढूंढ रहा हूं। दुर्भाग्य से, मैंने इसे पहले ही देखा है, लेकिन मुद्दों का कहना है कि यह एंड्रॉइड-प्लगइन के साथ संगत नहीं है। – Mathbl

उत्तर

6

आप इसे Jitpack के साथ मेवेन, ग्रैडल और एसबीटी के साथ कर सकते हैं।

हालांकि, मैं दृढ़ता से बाइनरी आर्टिफैक्ट का उपयोग करने का सुझाव देता हूं ताकि आप गारंटी दे सकें कि यह आपके आवेदन के प्रत्येक निर्माण पर समान है, आप आर्टिफैक्ट स्टोरेज को नियंत्रित करते हैं और आप किसी प्रोजेक्ट की आधिकारिक रिलीज का उपयोग कर रहे हैं और कुछ नहीं डाउनस्ट्रीम बिल्ड। यह आपके निर्माण को बहुत तेज और अधिक स्थिर बना देगा।

केंद्रीय रिपोजिटरी में प्रकाशित करना निःशुल्क, आसान और अच्छी तरह से प्रलेखित है उदा। http://central.sonatype.org/pages/producers.html और विशेष रूप से http://central.sonatype.org/pages/gradle.html पर ग्रैडल के लिए। तुम भी पा सकते हैं lots of real world examples on the Nexus community site.

आप परियोजना आप का उपभोग करना चाहते हैं पर नियंत्रण नहीं है, तो मैं इस परियोजना के लिए इन संकेत भेजने के लिए सुझाव है और हो सकता है यहां तक ​​कि उन्हें एक पुल अनुरोध ;-)

+1

+1 भी है। बीटीडब्ल्यू, यह केवल पहली बार बनाता है और फिर आपको हर बार एक ही कलाकृति मिलती है। इससे बार-बार – Andrejs

+0

बनाता है समस्या यह है कि आप अभी भी उस प्रोजेक्ट के आधिकारिक रूप से रिलीज किए गए आर्टिफैक्ट का उपयोग नहीं करते हैं और आपको कार्यवाही आईडीई एकीकरण या जावाडोक और स्रोतों के स्वचालित समावेशन भी नहीं मिलते हैं। –

+0

यह वास्तव में परियोजना पर निर्भर करता है। यदि उनका निर्माण स्रोत/जावाडोक उत्पन्न करता है तो आपको आईडीई समावेशन मिलता है। आधिकारिक रिलीज भी हो सकता है, उदाहरण के लिए: http://quickml.org – Andrejs

-1

आपको उपयोग करने की आवश्यकता है एक बाइनरी भंडार है। इसमें विकास के दौरान आपकी निर्भरताएं शामिल होंगी। यदि आप अपने पैकेज को jcenter (और मेवेन सेंट्रल) पर प्रकाशित करने की योजना बना रहे हैं, तो आप oss.jfrog.org में एक निःशुल्क आर्टिफैक्टरी खाता प्राप्त कर सकते हैं। ऐसा करने के बाद, आपका सीआई सर्वर आपकी निर्भरता को तैनात कर सकता है और ग्रैडल इसे वहां से हल कर देगा।

0

यह संभव होना चाहिए और Gradle Git Repo plugin नामक एक अनौपचारिक ग्रेडल प्लगइन है जो आप जो खोज रहे हैं उसे करने का दावा करती है। ध्यान दें, हालांकि, यह सत्यापित करने के लिए कि मैं यह काम करता हूं, मैंने स्वयं इसके साथ नहीं खेला।

+0

जिटपैक के लिए jitpack – Thufir

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