2013-07-08 21 views
6

Mam multi-projektu instalacji w maven i próbuje przejść do gradle. Próbuję dowiedzieć się, w jaki sposób zależności jednego projektu od testu obejmują słoik testowy innego projektu. Teraz mam następujący w Projecta:gradle pull jar test z innego projektu

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

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

I ProjectB mam:

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

widzę, że moje badania nie udaje się skompilować. Wygląda na to, że brakuje klas zdefiniowanych w słoju testowym. Kiedy sprawdzam katalog kompilacji, widzę, że ProjectA-0.1.56-SNAPSHOT-tests.jar jest obecny.

W Maven miałem następujące dla Projecta:

<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> 

A to dla ProjectB:

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

Jak mogę uzyskać to do pracy tak jak Maven?

+1

Spójrz tutaj http://stackoverflow.com/questions/5144325/gradle-test-dependency i tam http://stackoverflow.com/ pytania/5644011/multi-project-test-dependencies-with-gradle – Efthymis

Odpowiedz

2

Co będzie można skończyć z jest coś takiego jak

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 
Powiązane problemy