2014-07-22 5 views
10

मेरे 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() 
} 

केवल इन कक्षाओं का वाद्ययंत्र करने के बाद, मैं उन्हें एक जेएआर फ़ाइल में पैकेज करना चाहता हूं। क्या कोई तरीका है ताकि मैं पैकेजिंग से पहले इस उपकरण को कर सकूं?

बहुत बहुत धन्यवाद !!!

+0

यहाँ एक उदाहरण Gradle परियोजना है के लिए इस समस्या पर अटक जा रहा से दूसरों को रोकने कर सकते हैं: https://github.com/javalite/activejdbc-gradle/। यदि आप निष्पादित करते हैं: 'ग्रेडल क्लीन बिल्ड जार', यह वाद्य यंत्रों के साथ एक जार फ़ाइल का उत्पादन करेगा – ipolevoy

+0

कॉन्फ़िगरेशन का उपयोग करें {jar} तो jar.doFirst {dependOn instrumentent} –

+0

मदद लोगों के लिए धन्यवाद! –

उत्तर

16

अंततः इसे करने का तरीका पता चला!

task instrument(type: JavaExec) { 
    //your instrumentation task steps here 
} 
compileJava.doLast { 
    tasks.instrument.execute() 
} 
jar { 
    //whatever jar actions you need to do 
} 

आशा इस दिन :)

+0

आप ... इसे समझने के लिए बहुत बहुत धन्यवाद। मैं अपना दिमाग खो रहा था! –

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

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