
ग्रेडल प्लगइन जो Eclipse को बिल्ड-आर्टिफैक्ट के रूप में उपयोग करने में सक्षम बनाता है, OSGi, p2 और RCP बिल्ड सपोर्ट के साथ तेज़, पुनरुत्पादनीय प्रोजेक्ट-विशिष्ट IDE प्रावधान प्रदान करता है।
Goomph: IDE एक बिल्ड आर्टिफैक्ट के रूप मेंSWT, OSGi, p2 और Eclipse RCP के साथ काम करने के लिए प्लगइन्स भी
यह संभव है कि Eclipse IDE की कई स्थापनाएँ स्थापित आर्टिफैक्ट्स का एक सामान्य सेट साझा करें, जिसे "bundlepool" कहा जाता है। इसका अर्थ है कि हर प्रोजेक्ट के लिए एक उद्देश्य-निर्मित IDE प्राप्त करना तेज़ और कुशल है, जो हाथ में मौजूद प्रोजेक्ट के लिए उपयुक्त सभी प्लगइन्स और सेटिंग्स के साथ पूर्व-कॉन्फ़िगर किया गया हो।
जब आप gradlew ide चलाते हैं, तो यह केवल उन्हीं सुविधाओं के साथ एक IDE बनाकर build/oomphIde में डाउनलोड करता है जिनकी आपको आवश्यकता है। एक बार सभी सामान्य आर्टिफैक्ट्स ~/.goomph पर कैश हो जाने के बाद, इसमें ~15 सेकंड और 1MB डिस्क स्थान लगता है।
apply plugin: 'com.diffplug.oomph.ide'
oomphIde {
repoEclipseLatest()
jdt {}
eclipseIni {
vmargs('-Xmx2g') // IDE can have up to 2 gigs of RAM
}
style {
classicTheme() // oldschool cool
niceText() // with nice fonts and visible whitespace
}
}
त्वरित आरंभ के लिए प्लगइन का javadoc देखें, और उदाहरणों तथा अधिक गहन विवरण के लिए HOW_TO_AUTOMATE_IDE.md देखें।
यह पता चलता है कि "IDE-as-build-artifact" को लागू करने के लिए आवश्यक टूलिंग वही है जो eclipse प्रोजेक्ट फ़ाइलों में हेरफेर करने के लिए आवश्यक है, और साथ ही Eclipse प्लगइन्स और RCP एप्लिकेशन बनाने के लिए भी। यह Goomph का दूसरा पहलू है। एक उदाहरण प्रोजेक्ट के लिए, Gradle और Eclipse RCP वार्ता देखें।
Goomph के साथ निर्मित वास्तविक दुनिया का Eclipse सॉफ्टवेयर:
नीचे Goomph की क्षमताओं का एक सूचकांक दिया गया है, साथ में javadoc के लिंक भी हैं जहाँ आप उपयोग के उदाहरण पा सकते हैं।
com.diffplug.eclipse Eclipse प्रोजेक्ट फ़ाइलें और eclipse संस्करण-मैपिंग maven central आर्टिफैक्ट्सapt eclipse प्रोजेक्ट को Gradle एनोटेशन प्रोसेसिंग के साथ काम करने के लिए ठीक करता है।mavencentral एक eclipse रिलीज़ से निर्भरता वाली jars जोड़ना आसान बनाता है।buildproperties एक gradle बिल्ड को नियंत्रित करने के लिए build.properties का उपयोग करता है, और build.properties में निर्दिष्ट बाइनरी एसेट्स को शामिल करने के लिए eclipse प्रोजेक्ट क्लासपाथ को ठीक करता है।excludebuildfolder gradle build फ़ोल्डर को Eclipse की रिसोर्स इंडेक्सिंग से बाहर करता है।projectdeps एक आंतरायिक समस्या को ठीक करता है जहाँ वर्कस्पेस के भीतर अन्य प्रोजेक्ट्स पर निर्भरताएँ Eclipse के भीतर हमेशा सही ढंग से हल नहीं होती हैं।com.diffplug.osgi OSGi के साथ काम करने के लिए प्लगइन्सbndmanifest विशुद्ध रूप से bnd का उपयोग करके एक मैनिफेस्ट उत्पन्न करता है, और इसे IDE उपभोग के लिए आउटपुट करता है।equinoxlaunch बिल्ड के हिस्से के रूप में equinox एप्लिकेशन को कॉन्फ़िगर और चला सकता है, जैसे कि एक कोड जनरेटर।OsgiExecable OSGi कंटेनर के भीतर कोड का एक हिस्सा चलाना और कंटेनर के बाहर से परिणाम प्राप्त करना आसान बनाता है।com.diffplug.p2 एक और p2 डेटा में हेरफेर करने के लिए प्लगइन्सasmaven p2 रिपॉजिटरी से निर्भरताएँ डाउनलोड करता है और उन्हें स्थानीय maven रिपॉजिटरी में उपलब्ध कराता है।P2Model p2 रिपॉजिटरी और IUs के एक सेट को मॉडल करता है, और इनके विरुद्ध p2-director या p2.mirror ant कार्य चलाने के लिए सुविधाजनक विधियाँ प्रदान करता है।P2AntRunner eclipse ant कार्य चलाता है।CategoryPublisher CategoryPublisher eclipse एप्लिकेशन को मॉडल करता है।FeaturesAndBundlesPublisher FeaturesAndBundlesPublisher eclipse एप्लिकेशन को मॉडल करता है।Repo2Runnable Repo2Runnable eclipse एप्लिकेशन को मॉडल करता है।com.diffplug.gradle.pde डाउनलोड किए गए eclipse इंस्टेंस का उपयोग करके Eclipse PDE चलाने के लिए कार्यPdeBuildTask एक RCP उत्पाद बनाने के लिए PDE बिल्ड चलाता है।PdeAntBuildTask एक ant फ़ाइल पर PDE चलाता है।com.diffplug.gradle विविध इंफ्रास्ट्रक्चरCmdLineTask शेल कमांड की एक श्रृंखला चलाता है, और इस बीच संभवतः फ़ाइलों की प्रतिलिपि या स्थानांतरण करता है।JavaExecable कोड का एक हिस्सा एक अलग JVM में चलाना और परिणाम इस JVM में वापस प्राप्त करना आसान बनाता है।JavaExecWinFriendly Windows की कमांडलाइन लंबाई और लंबे क्लासपाथ की सीमाओं को दूर करता है।com.diffplug.gradle.eclipserunner हेडलेस eclipse एप्लिकेशन चलाने के लिए इंफ्रास्ट्रक्चरcom.diffplug.configuration-cache-for-platform-specific-build आपको कॉन्फ़िगरेशन कैश को तोड़े बिना अपने gradle बिल्ड में OS.getNative() और OS.getRunning() का उपयोग करने की अनुमति देता है।eclipseMavenCentral प्लगइन के कई सुधारों के लिए Jérémie Bresson का धन्यवाद।net.ltgt.apt-eclipse प्लगइन के लिए Thomas Broyer का धन्यवाद।
com.diffplug.eclipse.apt पर अनुरक्षित करना जारी रखेंगे।CategoryPublisher एप्लिकेशन जोड़ने के लिए Kelvin Glaß का धन्यवाद (#126)।3.10.0 रिलीज़ के हर सुधार के लिए hacki11 का धन्यवाद।resourcefilters eclipse प्रोजेक्ट में रिसोर्स फ़िल्टर जोड़ता है।BndManifestPlugin को प्रेरित किया।