Skip to content

Commit b7646cb

Browse files
authored
generate metadata for all subprojects (#1730)
1 parent 3b4a56d commit b7646cb

File tree

1 file changed

+30
-11
lines changed

1 file changed

+30
-11
lines changed

test-app/app/build.gradle

Lines changed: 30 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -302,7 +302,7 @@ repositories {
302302
dirs pluginDependencies
303303
}
304304
}
305-
305+
306306
mavenCentral()
307307
}
308308

@@ -583,7 +583,7 @@ allprojects {
583583
def artifactType = Attribute.of('artifactType', String)
584584
android.applicationVariants.all { variant ->
585585
if (variant.buildType.name == buildType) {
586-
variant.getCompileClasspath().each { fileDependency ->
586+
variant.getCompileClasspath().each { fileDependency ->
587587
processJar(fileDependency, jars)
588588
}
589589
}
@@ -772,26 +772,45 @@ task buildMetadata(type: BuildToolTask) {
772772
doFirst {
773773
// get compiled classes to pass to metadata generator
774774
// these need to be called after the classes have compiled
775-
assert file(classesDir).exists()
776-
777775
new File(getMergedAssetsOutputPath() + "/metadata").deleteDir()
778776

779-
def classesSubDirs = new File(classesDir).listFiles()
777+
def classesSubDirs = []
778+
def kotlinClassesSubDirs = []
780779
def selectedBuildType = project.ext.selectedBuildType
781780

781+
rootProject.subprojects {
782+
def projectClassesDir = new File("$it.buildDir/intermediates/javac")
783+
def projectKotlinClassesDir = new File("$it.buildDir/tmp/kotlin-classes")
784+
785+
assert projectClassesDir.exists()
786+
787+
def projectClassesSubDirs = projectClassesDir.listFiles()
788+
for (File subDir : projectClassesSubDirs) {
789+
if (!classesSubDirs.contains(subDir)) {
790+
classesSubDirs.add(subDir)
791+
}
792+
}
793+
794+
if (projectKotlinClassesDir.exists()) {
795+
def projectKotlinClassesSubDirs = projectKotlinClassesDir.listFiles();
796+
for (File subDir : projectKotlinClassesSubDirs) {
797+
if (!kotlinClassesSubDirs.contains(subDir)) {
798+
kotlinClassesSubDirs.add(subDir)
799+
}
800+
}
801+
}
802+
}
803+
782804
def generatedClasses = new LinkedList<String>()
783805
for (File subDir : classesSubDirs) {
784806
if (subDir.getName() == selectedBuildType) {
785807
generatedClasses.add(subDir.getAbsolutePath())
786808
}
787809
}
788810

789-
if (file(kotlinClassesDir).exists()) {
790-
def kotlinClassesSubDirs = new File(kotlinClassesDir).listFiles()
791-
for (File subDir : kotlinClassesSubDirs) {
792-
if (subDir.getName() == selectedBuildType) {
793-
generatedClasses.add(subDir.getAbsolutePath())
794-
}
811+
for (File subDir : kotlinClassesSubDirs) {
812+
if (subDir.getName() == selectedBuildType) {
813+
generatedClasses.add(subDir.getAbsolutePath())
795814
}
796815
}
797816

0 commit comments

Comments
 (0)