मेरे build.gradle वर्तमान में है:ग्रेड: संकलन के बाद एक कस्टम कार्य कैसे जोड़ें लेकिन पैकेजिंग फ़ाइलों को जार में रखने से पहले?
project(':rss-middletier') {
apply plugin: 'java'
dependencies {
compile project(':rss-core')
compile 'asm:asm-all:3.2'
compile 'com.sun.jersey:jersey-server:1.9.1'
compile group: 'org.javalite', name: 'activejdbc', version: '1.4.9'
}
jar {
from(configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }) {
exclude "META-INF/*.SF"
exclude "META-INF/*.DSA"
exclude "META-INF/*.RSA"
}
manifest { attributes 'Main-Class':
'com.netflix.recipes.rss.server.MiddleTierServer' }
}
}
बल्कि एक जार में इन संकलित कक्षाएं पैकेजिंग सीधे से, मैं उन्हें निम्नलिखित कार्य चलाकर पहले साधन करना चाहते हैं:
task instrument(dependsOn: 'build', type: JavaExec) {
main = 'org.javalite.instrumentation.Main'
classpath = buildscript.configurations.classpath
classpath += project(':rss-middletier').sourceSets.main.runtimeClasspath
jvmArgs '-DoutputDirectory=' + project(':rss-middletier').sourceSets
.main.output.classesDir.getPath()
}
केवल इन कक्षाओं का वाद्ययंत्र करने के बाद, मैं उन्हें एक जेएआर फ़ाइल में पैकेज करना चाहता हूं। क्या कोई तरीका है ताकि मैं पैकेजिंग से पहले इस उपकरण को कर सकूं?
बहुत बहुत धन्यवाद !!!
यहाँ एक उदाहरण Gradle परियोजना है के लिए इस समस्या पर अटक जा रहा से दूसरों को रोकने कर सकते हैं: https://github.com/javalite/activejdbc-gradle/। यदि आप निष्पादित करते हैं: 'ग्रेडल क्लीन बिल्ड जार', यह वाद्य यंत्रों के साथ एक जार फ़ाइल का उत्पादन करेगा – ipolevoy
कॉन्फ़िगरेशन का उपयोग करें {jar} तो jar.doFirst {dependOn instrumentent} –
मदद लोगों के लिए धन्यवाद! –