2010-07-06 17 views
6

मैं वर्तमान में अपना हेडलेस पीडी-बिल्ड काम करने की कोशिश कर रहा हूं लेकिन मैं उस बिंदु पर फंस गया हूं जहां मुझे नहीं पता कि कैसे जारी रखना है। समस्या यह है कि प्लगइन को संकलित करने के लिए संबंधित लक्ष्य प्लेटफ़ॉर्म को कैसे परिभाषित किया जाए। मैं निम्नलिखित कॉल के साथ एक build.bat है (एक पंक्ति में सभी!): ग्रहण एसडीके, आरसीपी एसडीके, डेल्टा पैक, PDE-:पीडीई हेडलेस बिल्ड के लिए लक्ष्य प्लेटफार्म काम नहीं करता

java -jar D:\target\eclipse\plugins\org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar 
-application org.eclipse.ant.core.antRunner 
-f D:\target\eclipse\plugins\org.eclipse.pde.build_3.5.2.R35x_20100114\scripts\productBuild\productBuild.xml 
-Dbuilder=c:\pde-build\scripts %* 

मैं विभिन्न भागों से लक्ष्य ग्रहण मंच बनाने की कोशिश की सभी संयोजनों में एसडीके लेकिन उनमें से कोई भी अच्छी तरह से काम नहीं किया।

BUILD FAILED 
D:\target\eclipse\plugins\org.eclipse.pde.build_3.5.2.R35x_20100114\scripts\productBuild\productBuild.xml:18: Cannot fin 
d ${eclipse.pdebuild.scripts}/build.xml imported from D:\target\eclipse\plugins\org.eclipse.pde.build_3.5.2.R35x_2010011 
4\scripts\productBuild\productBuild.xml 

जहां चर $ {eclipse.pdebuild.scripts} हल नहीं किया गया है:

मैं निम्नलिखित त्रुटि मिली। मैंने कमांड लाइन के माध्यम से इस पैरामीटर को देने की भी कोशिश की लेकिन फिर मुझे अनुपस्थित एसवीएन कार्य के बारे में एक और त्रुटि मिली जो पूरी तरह भ्रमित है क्योंकि यह मेरे स्थानीय ग्रहण अधिष्ठापन के साथ काम कर रहा है।

जब मैं पथ को डी// लक्ष्य/ग्रहण से अपने स्थानीय ग्रहण स्थापना में प्रतिस्थापित करता हूं तो पीडीई बिल्ड अपेक्षा के अनुसार काम करता है! यह मुझे इस बिंदु पर ले जाता है कि लक्ष्य ग्रहण की कॉन्फ़िगरेशन सही नहीं है लेकिन इस समय मुझे नहीं पता कि इसे कैसे कॉन्फ़िगर किया जाए!

मेरा लक्ष्य अपने स्थानीय ग्रहण को संदर्भित किए बिना पीडीई को अपनी स्थानीय साइट पर स्वचालित रूप से स्वचालित बनाता है और बाद में इस बिल्डिंग प्रक्रिया को हमारे चल रहे क्रूज़ कंट्रोल इंस्टेंस में एकीकृत करता है।

जैसा कि मैंने लक्ष्य ग्रहण को परिभाषित करने के बारे में पहले से ही एक और सवाल देखा है, अगर कोई समस्या के बारे में संकेत या तथ्यों का योगदान कर सकता है तो मुझे खुशी होगी।

सादर, एंड्रियास

+0

जानकारी के लिए, $ {eclipse.pdebuild.scripts} चर जावा कोड में antrunner apllication द्वारा (org.eclipse.pde.internal.build.properties में सेट है org.eclipse.pde.build प्लगइन में पैकेज) –

उत्तर

0
जांच के लिए कुछ और समय के बाद

मुझे पता चला, मैं गलत अब तक क्या किया। जैसा कि मैंने लक्ष्य प्लेटफार्म को परिभाषित करने के ऊपर उल्लेख किया है, एसडीके और प्लगइन्स को एक स्थान पर कॉपी करना उतना आसान नहीं है (जैसा ग्रहण देव के शुरुआती समय में था)।

अब तक कार्य समाधान निम्न है: ग्रहण एसडीके को लक्ष्य स्थान में कॉपी करना और इस संस्करण को चलाएं। प्लगइन विकास को सक्षम करने के लिए इसे निष्क्रिय पीडीई-टूल्स के अंदर स्थापित करें। उसके बाद, आईडीई बंद करें और डेल्टा पैक + संबंधित एसवीएन प्लगइन की प्रतिलिपि बनाएँ (मैंने Sourceforge से org.eclipse.pde.build.svn-1.0.1RC2 का उपयोग किया है) लक्ष्य मंच में और आप कर चुके हैं। अब मेरा स्वचालित पीडीई बिल्ड अपेक्षित के रूप में चल रहा है।

केवल मामूली समस्या निम्न है: परिणाम उत्पाद में ग्रहण-विशिष्ट मेनू प्रविष्टियां होती हैं जो तब नहीं होतीं जब मैंने इसे अपने देव-ग्रहण के अंदर से भाग लिया।

उस पर कोई संकेत?

0

मैं सिर्फ विषयों के इस प्रकार पर मेरे प्रश्न का उत्तर पोस्ट, इस मदद कर सकता है हो सकता है:

Plugin product VS Feature product

+0

हाय मैनुअल, मैं एक जवाब यहाँ जो मुझे एक काम कर समाधान करने के लिए नेतृत्व लिखा था। लेकिन मैं अभी भी "इष्टतम" लक्ष्य मंच की खोज कर रहा हूं। फिर भी मेरे उत्पाद में सभी आवश्यक प्लगइन शामिल हैं और यह चलाने योग्य है। मैंने टेम्पलेट + दृश्य प्लगइन के साथ यह कोशिश की जिसके परिणामस्वरूप 48 एमबी ज़िप फ़ाइल ;-)। – Andreas

5

जब एक बिना सिर का निर्माण करते समय, लक्ष्य ग्रहण है कि से अलग हो सकता है वास्तव में खुद को निर्माण चल रहा है। आपके पास यहां की समस्या यह है कि निर्माण को चलाने के लिए आप जिस ग्रहण का उपयोग कर रहे थे, उसके पास पीडीई/बिल्ड ठीक से स्थापित नहीं था।

यही कारण है कि ${eclipse.pdebuild.scripts} सेट नहीं किया गया था, क्योंकि PDE/Build उस ग्रहण उदाहरण में स्थापित नहीं किया गया था, org.eclipse.pde।बंडल का निर्माण नहीं किया गया था और इस संपत्ति को सेट करने वाला कोड कभी नहीं बुलाया गया था। इसी प्रकार, पीडीई/बिल्ड कार्यों के लिए आवश्यक चींटी क्लासपाथ प्रविष्टियां ठीक से स्थापित नहीं की गई होंगी।

आप के अंदर स्थापित निर्माण को चलाने के लिए PDE साथ ग्रहण की जरूरत है, लेकिन निर्माण के लिए लक्ष्य इस से अलग हो सकता है।

आप कई properties सेट कर सकते हैं -Dbuilder=c:\pde-build\scripts के नीचे पाया build.properties फ़ाइल में:

  1. baseLocation यह ग्रहण अपने लक्ष्य है कि करने के लिए एक रास्ता है।
  2. buildDirectory यह जहां निर्माण वास्तव में जगह ले जाएगा, स्रोत plugins/और सुविधाओं/उप-फ़ोल्डरों पर लाई गई है, लेकिन अगर वहाँ पहले से ही द्विआधारी यहाँ तो स्थित प्लगइन्स हैं उन लक्ष्य का हिस्सा बन भी है।
  3. pluginPath यह पथों की एक सूची है (विंडोज़ पर ';' से अलग 'या' लिनक्स पर ':') जिसमें अन्य स्थान शामिल हैं जिन्हें आपके लक्ष्य के हिस्से के रूप में माना जाना चाहिए। ये स्थान कई चीजें हो सकती हैं:
    1. प्लगइन/और फीचर्स/उपफोल्डर के साथ ग्रहण की तरह स्थापित करने की जड़। यह सिर्फ ग्रहण स्थापित के शीर्ष पर अनज़िप करने के बजाय डेल्टा-पैक प्रदान करने के लिए एक अच्छा तरीका है।
    2. वर्कस्पेस-जैसे फ़ोल्डर की जड़, जहां सभी उपफोल्डर्स को मैनिफेस्ट या feature.xml की उपस्थिति के आधार पर प्लगइन या फीचर्स के रूप में माना जाता है।
    3. एक बंडल या सुविधा है, या एक बंडल के लिए जार की जड़।
  4. आप एक p2 निर्माण (p2.gathering = true) आप भी एक ${repoBaseLocation} तहत p2 खजाने जो तब्दील हो जाएगा और रखा ${transformedRepoLocation} के तहत और अपने लक्ष्य का हिस्सा बन जाएगा प्रदान कर सकते हैं, और p2 मेटाडाटा वहाँ दौरान reused मिल जाएगा कर रहे हैं निर्माण
+0

हाय एंड्रयू, महान विवरण के लिए THX। मुझे लगता है कि यह अब मेरे लिए और अधिक स्पष्ट है! उम्मीद है कि दूसरों को भी ;-) – Andreas

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

  • कोई संबंधित समस्या नहीं^_^