2016-05-05 8 views
0

Ich versuche, die kompilierten .class- Dateien aus Project1 in das Glas für Projekt2 seit meiner Projektstruktur erfordert aufzunehmen, um getan werden. Dazu in der build.gradle für Projekt2, schreibe ich:Filterklasse Dateien aus zusammengestellt sourcesets in einer JAR in Gradle/Groovy hinzugefügt werden

jar { 
    from project(':Project1').sourceSets.main.output.classesDir 
} 

erfolgreich tut, was ich tun musste. Aber, Ich möchte jetzt einige der Klassen, die basierend auf Pfad und/oder einige Muster hinzugefügt werden. Zum Beispiel kann nur Delegierten zum Einbinden von Dateien, habe ich versucht, diese:

jar { 
    from project(':Project1').sourceSets.main.output.classesDir { 
     include '**/*Delegate*.class' 
    } 
} 

Aber leider funktioniert es nicht. Gibt es einen Weg, dies in Gradle/Groovy zu erreichen?

Antwort

0

Mit Gradle 2.12, die folgenden Werke für mich (das ist build.gradle für Projekt 2):

task myBuild(type: Jar) { 
    baseName "myjar" 
    from project(':Project1').sourceSets.main.output.classesDir, 
     { include "**/*Delegate*.*" } 
} 

Von the doc for Jar.from, beachten Sie, dass es zwei Argumente übernimmt (daher wird das Komma verwendet wird).

0

Dank Michael

Obwohl ich als auch meine Antwort bekam, fehlte ich nur ein Klammern. Der richtige und funktionierende Code lautet etwa so:

jar { 
    from (project(':Project1').sourceSets.main.output.classesDir) { 
     include '**/*Delegate*.class' 
    } 
} 
Verwandte Themen