(यह उपयोग कर रहा है Gradle 2.4)मैं "नियमित" जार के छाया जार _instead_ उत्पन्न करने के लिए ग्रेडल के निर्माण कार्य को कैसे बना सकता हूं?
अपनी परियोजनाओं में से एक के लिए, कई submodules में विभाजित है, मैं shadow plugin जो मेरी जरूरतों के लिए बहुत अच्छी तरह से काम करता है का उपयोग करें; इसमें एक मुख्य है, और जैसा कि प्लगइन के रीडमे द्वारा अनुशंसित है, मैं इसके साथ संयोजन में एप्लिकेशन प्लगइन का उपयोग करता हूं ताकि मेन-क्लास मेनिफेस्ट में उत्पन्न हो, सभी अच्छी तरह से काम करते हैं।
अब, यह एक सोनारक्यूब प्लगइन प्रोजेक्ट है, और मैं gradle sonar packagin plugin का भी उपयोग करता हूं (सफलतापूर्वक!)। और यह प्लगइन क्या करता है, जब आप ./gradlew build
, "नियमित" जार की बजाय सोनार प्लगइन उत्पन्न करते हैं।
मैं यहाँ मेरी subproject के लिए भी ऐसा ही करने, सिवाय इसके कि मैं इसे "नियमित" प्लगइन के स्थान पर केवल छाया जार प्लगइन उत्पन्न करना चाहते हैं इच्छा ... अभी मैं दोनों इस सरल फ़ाइल का उपयोग कर उत्पन्न:
buildscript {
repositories {
jcenter();
}
dependencies {
classpath(group: "com.github.jengelman.gradle.plugins",
name:"shadow", version:"1.2.1");
}
}
apply(plugin: "application");
apply(plugin: "com.github.johnrengelman.shadow");
dependencies {
// whatever
}
mainClassName = //whatever
artifacts {
shadowJar;
}
// Here is the hack...
build.dependsOn(shadowJar);
मैं इस फ़ाइल को कैसे संशोधित करूं ताकि केवल छाया जार उत्पन्न हो और नियमित जार न हो?
बेहतर उपयोग करने के लिए 'assemble.dependsOn (shadowJar);' ताकि आपके परीक्षण भी shadowJar का उपयोग करें। पाइपलाइन चित्र बनाने के लिए देखें: https://docs.gradle.org/current/userguide/java_plugin.html – Zasz