2016-06-15 12 views
0

Wenn Sie in Gradle mehrere Projekte haben, möchten Sie möglicherweise einen Jacoco-Testberichtsbericht aus einem Projekt erstellen und die Klassen aus den anderen Projekten im Bericht anzeigen.So fügen Sie Quellcode zum Jacoco-Bericht in Gradle hinzu

, das zu tun, die JacocoReport documentation von Gradle 2.14 Listen zwei Paare von Richtlinien genannt:

  • sourceDirectories & classDirectories
  • additionalSourceDirs & additionalClassDirs

erwarten jedoch, dass sowohl ein einzelnes FileCollection und einige kleben Sie für alle Projektquellgruppen und Ausgabedateien mit Aufrufen an files() on someJavaProjectSourceSet.srcDirs erforderlich, um die Codezeile -level Audit mit tatsächlichen Quellcode in den Bericht eingebettet zu erhalten.

Gibt es einen besseren Weg?

Antwort

1

Die Direktive sourceSets fügt dem Bericht weitere Quellsätze mit dem Quellcode und den Klassendateien hinzu.

Obwohl es in der Plugin-Dokumentation aus irgendeinem Grund nicht erscheint, ist das tatsächlich, wie das Plugin selbst die Dateien für das aktuelle Projekt in der Standardaufgabe jacocoTestReport hinzufügt.

/** 
* Adds a source set to the list to be reported on. 
* The output of this source set will be used as classes to include in the report. 
* The source for this source set will be used for any classes included in the report. 
* 
* @param sourceSets one or more source sets to report on 
*/ 
public void sourceSets(final SourceSet... sourceSets) 

Um Quellensätze aus anderen Projekten gehören, können Sie tun:

jacocoTestReport { 
    sourceSets project(':myAlphaProject').sourceSets.main 
    sourceSets project(':myBetaProject').sourceSets.main 
} 

einfach!