2013-08-09 11 views
16

Mam źródło testowania integracji ustawione w gradle i jest zależne od kompilacji głównych klas. Ustawiłem to robiącUstaw jeden zestaw źródeł zależny od innego

integrationTestClasses.dependsOn 'classes' 

Czy to jest sposób, aby to zrobić, czy jest sposób na ustawienie zależności na zestawy źródłowe, więc dzieje się to automatycznie? W moim configurations bloku mam już

integrationTestCompile { extendsFrom testCompile } 
integrationTestRuntime { extendsFrom integrationTestCompile, testRuntime } 

Odpowiedz

23

Czego brakuje to:

dependencies { 
    integrationTestCompile sourceSets.main.output 
} 

Mając to na miejscu, zależności zadanie powinno zostać nawiązane automatycznie.

+0

Dzięki, Peter. Spróbuję. –

+0

To zadziałało, dzięki. Jeśli chciałbym być zależny od wyjścia głównego i testowego, czy muszę zadeklarować zależność od testu, ponieważ test jest już zależny od głównej? To wydaje się być zachowanie, które widzę, ale chciałem to zweryfikować. –

+0

To zależy od tego, co dokładnie masz na myśli. 'sourceSets.test.output' nie zawiera' sourceSets.main.output'. –

1

Możliwe jest również ustanowienie łańcucha zależności podczas definiowania zestawów źródłowych. To działało do setup "głównym" sourceSet polegać na "generowany" sourceSet:

// Default sourceSets already created by the java plugin: src/main and src/test 
// Default content for each sourceSet: /java and /resources 
sourceSets { 
    // Adding src/generated 
    generated 
    // Setting src/main to depend on the dependencies and output of src/generated 
    main { 
     compileClasspath += generated.compileClasspath + generated.output 
    } 
} 

Ta sama zasada powinna działać do setup "integrationTest" zależy od "main".

Powiązane problemy