2013-07-08 6 views
6

से ग्रेले पुल टेस्ट जार मेरे पास मैवेन में एक बहु-परियोजना सेटअप है और धीरे-धीरे स्विच करने की कोशिश कर रहा है। मैं यह समझने की कोशिश कर रहा हूं कि एक परियोजना की परीक्षण निर्भरताओं में एक और प्रोजेक्ट का परीक्षण जार शामिल है। अभी मैं PROJECTA में निम्नलिखित है:अन्य परियोजना

packageTests = task packageTests(type: Jar) { 
    classifier = 'tests' 
    from sourceSets.test.output 
} 

tasks.getByPath(":ProjectA:jar").dependsOn(packageTests) 

और ProjectB में मेरे पास है:

testCompile project(path: ':ProjectA', classifier: 'tests') 

मुझे लगता है कि मेरी परीक्षण संकलित करने के लिए असफल रहे हैं। ऐसा लगता है कि वे टेस्ट जार में परिभाषित कक्षाएं गायब हैं। जब मैं बिल्ड डीआईआर की जांच करता हूं, तो मुझे लगता है कि ProjectA-0.1.56-SNAPSHOT-test.jar मौजूद है।

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-jar-plugin</artifactId> 
    <version>2.4</version> 
    <executions> 
     <execution> 
     <phase>package</phase> 
     <goals> 
      <goal>test-jar</goal> 
     </goals> 
     </execution> 
    </executions> 
    </plugin> 

और यह ProjectB के लिए:

<!-- Testing --> 
<dependency> 
    <groupId>com.example</groupId> 
    <artifactId>ProjectA</artifactId> 
    <version>0.1.56-SNAPSHOT</version> 
    <type>test-jar</type> 
</dependency> 

मैं इस बस Maven की तरह काम करने के लिए प्राप्त कर सकते हैं

Maven में मैं PROJECTA निम्नलिखित था?

+1

कुछ यहाँ एक नजर डालें है http://stackoverflow.com/questions/5144325/gradle-test-dependency और वहाँ http://stackoverflow.com/ प्रश्न/5644011/बहु परियोजना परीक्षण निर्भरता-साथ-Gradle – Efthymis

उत्तर

2

क्या आप के साथ खत्म हो जाएगा की तरह

tasks.create([ 
    name: 'testJar', 
    type: Jar, 
    group: 'build', 
    description: 'Assembles a jar archive containing the test classes.', 
    dependsOn: tasks.testClasses 
]) { 
    manifest = tasks.jar.manifest 
    classifier = 'tests' 
    from sourceSets.test.output 
} 

// for test dependencies between modules 
// usage: testCompile project(path: ':module', configuration: 'testFixtures') 
configurations { testFixtures { extendsFrom testRuntime } } 

artifacts { 
    archives testJar 
    testFixtures testJar 
} 

tasks.uploadArchives.dependsOn testJar 
संबंधित मुद्दे