2017-03-10 2 views

Antwort

1

Ich glaube, es hängt nicht automatisch von irgendetwas ab. Wenn Sie nur eine leere Quellenmenge erstellen, ist dies nur eine Reihe von Quellen. Abhängig von Ihrem Anwendungsfall kann eine implizite Abhängigkeit bestehen. Betrachten Sie das folgende gradle Skript:

apply plugin: "java" 

sourceSets { 
    integrationTest { 
     java { 
      compileClasspath += main.output 
      runtimeClasspath += main.output 
     } 
    } 
} 

configurations { 
    integrationTestCompile.extendsFrom testCompile 
    integrationTestRuntime.extendsFrom testRuntime 
} 

task integrationTest(type: Test) { 
    testClassesDir = project.sourceSets.integrationTest.output.classesDir 
    classpath = project.sourceSets.integrationTest.runtimeClasspath 
} 

Da die integrationTest Quellensatz verweist auf die main Java Quellensatz, gradle automatisch eine Abhängigkeit von compileJava erzeugt (und processResources).

Also die Antwort ist "es kommt darauf an" (Wortspiel nicht beabsichtigt). Abhängig davon, wie Sie die Quellsätze und -konfigurationen definiert haben, können implizite Abhängigkeiten bestehen. Wenn Sie jedoch keine Beziehung zwischen den beiden Quellgruppen definieren, gibt es keinen Grund, warum sie automatisch Abhängigkeiten erstellen würden.


BTW Es gibt einen schönen gradle plugin for generating task graphs, wenn Sie, dass mehr erkunden möchten.

Verwandte Themen