मैं एक मैवेन प्रोजेक्ट को स्विच करने पर विचार कर रहा हूं जिसे मैं अपाचे-एंट/आईवी में प्रबंधित करता हूं। मुझे निर्माण प्रक्रिया पर अधिक नियंत्रण की आवश्यकता है और मैवेन से बहुत निराश हो रहा हूं। मैवेन कितना महान है इस बारे में कोई टिप्पणी नहीं करें। मेरा सवाल आइवी के बारे में है।चींटी/आइवी
मैं एक "मानक" चींटी निर्माण टेम्पलेट स्थापित करना चाहता हूं जिसे बाद में अन्य परियोजनाओं के लिए न्यूनतम परिवर्तनों के साथ उपयोग किया जा सकता है।
मैं एक केंद्रीय "उद्यम" भंडार स्थापित करूंगा जहां हम तीसरे पक्ष के पुस्तकालयों को रख सकते हैं जो सार्वजनिक मेवेन भंडारों (जैसे वाणिज्यिक पुस्तकालय, सूर्य पुस्तकालय, मालिकाना पुस्तकालय, आदि) में उपलब्ध नहीं हैं। यह एंटरप्राइज़ भंडार हमारे स्थानीय लैन पर उपलब्ध होगा, लेकिन कार्यालय के बाहर से उपलब्ध नहीं हो सकता है।
प्रत्येक डेवलपर के पास ~/.ivy/repository
में एक निजी भंडार होगा। मैं एंटी बिल्ड को एंटरप्राइज़ रिपोजिटरी से पुस्तकालयों के बदले संस्करणों के साथ स्वचालित रूप से इस निजी भंडार को अद्यतन करना चाहता हूं।
~/.ivy/ant
में, मैं व्यक्तिगत परियोजना build.xml
फ़ाइलों में शामिल करने के लिए "मानक" मॉड्यूल रखने की योजना बना रहा हूं, include
कार्य Ant 1.8 में उपयोग कर रहा हूं। ये मॉड्यूल Scala
और Clojure
विभिन्न स्केल और क्लोजर संस्करणों के लिए विभिन्न संस्करणों के साथ संकलन लक्ष्य जैसे उदाहरण प्रदान करेंगे (उदाहरण: scala-compile-2.9.1.xml
, clojure-compile-1.3.xml
, आदि) निर्माण मॉड्यूल एंटरप्राइज़ भंडार में उपलब्ध होंगे और निजी भंडारों में स्वचालित रूप से अपडेट किए जाने चाहिए वह बदल गए।
प्रत्येक परियोजना के लिए एक मानक Maven निर्देशिका संरचना का पालन करेंगे: ${project}/src/main/java
, ${project}/target/classes
, आदि
अतीत में, मैं आइवी लेकिन चींटी फ़ाइलों का निर्माण उपयोग करने की कोशिश बहुत बड़ी हो गया (> टेम्पलेट निर्माण के लिए 500 लाइनों फ़ाइल) और प्रबंधन/संपादित करने के लिए मुश्किल है। मैं उम्मीद कर रहा हूं कि ~/.ivy/ant
निर्देशिका में अपने स्वयं के निर्माण मॉड्यूल में मानक लक्ष्य डालकर, मैं उस कोड ब्लोट से बच सकता हूं।
क्या यह किया जा सकता है? क्या मैं आधार से दूर हूं? आईवी पर एकमात्र दस्तावेज मैं अपाचे वेबसाइट (http://ant.apache.org/ivy) पर पा सकता हूं। क्या पुस्तकों समेत कोई अन्य दस्तावेज उपलब्ध है?
मुझे नहीं लगता कि आपको पुस्तकालयों के लिए निजी भंडार की आवश्यकता होगी। आईवी अपने स्वयं के [कैश] (https://ant.apache.org/ivy/history/latest-milestone/concept.html#cache) को ~/.ivy2 में प्रबंधित करता है, जो निर्भरता को हल करते समय अद्यतित रहेगा। – oers