Skip to content

Commit 0b2f3d6

Browse files
jeppemanvanniktech
authored andcommitted
Fix java classes being skipped in AGP >= 3.4 (#166)
1 parent 5461b09 commit 0b2f3d6

File tree

2 files changed

+64
-14
lines changed

2 files changed

+64
-14
lines changed

src/main/groovy/com/vanniktech/android/junit/jacoco/GenerationPlugin.groovy

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,8 @@ class GenerationPlugin implements Plugin<Project> {
192192

193193
def classPaths = [
194194
"**/intermediates/classes/${sourcePath}/**",
195-
"**/intermediates/javac/${sourceName}/*/classes/**" // Android Gradle Plugin 3.2.x support.
195+
"**/intermediates/javac/${sourceName}/*/classes/**", // Android Gradle Plugin 3.2.x support.
196+
"**/intermediates/javac/${sourceName}/classes/**" // Android Gradle Plugin 3.4 and 3.5 support.
196197
]
197198

198199
if (isKotlinAndroid(subProject) || isKotlinMultiplatform(subProject)) {
@@ -373,7 +374,7 @@ class GenerationPlugin implements Plugin<Project> {
373374
protected static boolean isAndroidFeature(final Project project) {
374375
return project.plugins.hasPlugin('com.android.feature')
375376
}
376-
377+
377378
protected static boolean isAndroidDynamicFeature(final Project project) {
378379
return project.plugins.hasPlugin('com.android.dynamic-feature')
379380
}

src/test/groovy/com/vanniktech/android/junit/jacoco/GenerationTest.groovy

Lines changed: 61 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -295,13 +295,26 @@ class GenerationTest {
295295
assert reports.html.destination.toPath() == Paths.get(project.buildDir.absolutePath, "/reports/jacoco/${flavor}${buildType.capitalize()}")
296296

297297
assert classDirectories.getFrom().first().dir == project.file("build/")
298-
assert contentEquals(classDirectories.getFrom().first().includes, ["**/intermediates/classes/${flavor}/${buildType}/**".toString(), "**/intermediates/javac/${flavor}${buildType.capitalize()}/*/classes/**".toString()])
298+
299+
assert contentEquals(classDirectories.getFrom().first().includes, [
300+
"**/intermediates/classes/${flavor}/${buildType}/**".toString(),
301+
"**/intermediates/javac/${flavor}${buildType.capitalize()}/*/classes/**".toString(),
302+
"**/intermediates/javac/${flavor}${buildType.capitalize()}/classes/**".toString()
303+
])
299304

300305
if (hasKotlin(project)) {
301-
assert contentEquals(classDirectories.getFrom().first().includes, ["**/intermediates/classes/${flavor}/${buildType}/**".toString(), "**/intermediates/javac/${flavor}${buildType.capitalize()}/*/classes/**".toString(),
302-
"**/tmp/kotlin-classes/${buildType}/**".toString(), "**/tmp/kotlin-classes/${flavor}${buildType.capitalize()}/**".toString()])
306+
assert contentEquals(classDirectories.getFrom().first().includes, [
307+
"**/intermediates/classes/${flavor}/${buildType}/**",
308+
"**/intermediates/javac/${flavor}${buildType.capitalize()}/*/classes/**",
309+
"**/intermediates/javac/${flavor}${buildType.capitalize()}/classes/**",
310+
"**/tmp/kotlin-classes/${buildType}/**",
311+
"**/tmp/kotlin-classes/${flavor}${buildType.capitalize()}/**"])
303312
} else {
304-
assert contentEquals(classDirectories.getFrom().first().includes, ["**/intermediates/classes/${flavor}/${buildType}/**".toString(), "**/intermediates/javac/${flavor}${buildType.capitalize()}/*/classes/**".toString()])
313+
assert contentEquals(classDirectories.getFrom().first().includes, [
314+
"**/intermediates/classes/${flavor}/${buildType}/**".toString(),
315+
"**/intermediates/javac/${flavor}${buildType.capitalize()}/*/classes/**".toString(),
316+
"**/intermediates/javac/${flavor}${buildType.capitalize()}/classes/**".toString()
317+
])
305318
}
306319

307320
assert taskDependsOn(task, "test${flavor.capitalize()}${buildType.capitalize()}UnitTest")
@@ -345,9 +358,18 @@ class GenerationTest {
345358

346359
assert classDirectories.getFrom().first().dir == project.file("build/")
347360
if (hasKotlin(project)) {
348-
assert contentEquals(classDirectories.getFrom().first().includes, ['**/intermediates/classes/debug/**', '**/intermediates/javac/debug/*/classes/**', '**/tmp/kotlin-classes/debug/**'])
361+
assert contentEquals(classDirectories.getFrom().first().includes, [
362+
'**/intermediates/classes/debug/**',
363+
'**/intermediates/javac/debug/*/classes/**',
364+
"**/intermediates/javac/debug/classes/**",
365+
'**/tmp/kotlin-classes/debug/**'
366+
])
349367
} else {
350-
assert contentEquals(classDirectories.getFrom().first().includes, ['**/intermediates/classes/debug/**', '**/intermediates/javac/debug/*/classes/**'])
368+
assert contentEquals(classDirectories.getFrom().first().includes, [
369+
'**/intermediates/classes/debug/**',
370+
'**/intermediates/javac/debug/*/classes/**',
371+
"**/intermediates/javac/debug/classes/**"
372+
])
351373
}
352374

353375
assert taskDependsOn(debugTask, 'testDebugUnitTest')
@@ -385,9 +407,18 @@ class GenerationTest {
385407

386408
assert classDirectories.getFrom().first().dir == project.file("build/")
387409
if (hasKotlin(project)) {
388-
assert contentEquals(classDirectories.getFrom().first().includes, ['**/intermediates/classes/debug/**', '**/intermediates/javac/debug/*/classes/**', '**/tmp/kotlin-classes/debug/**'])
410+
assert contentEquals(classDirectories.getFrom().first().includes, [
411+
'**/intermediates/classes/debug/**',
412+
'**/intermediates/javac/debug/*/classes/**',
413+
"**/intermediates/javac/debug/classes/**",
414+
'**/tmp/kotlin-classes/debug/**'
415+
])
389416
} else {
390-
assert contentEquals(classDirectories.getFrom().first().includes, ['**/intermediates/classes/debug/**', '**/intermediates/javac/debug/*/classes/**'])
417+
assert contentEquals(classDirectories.getFrom().first().includes, [
418+
'**/intermediates/classes/debug/**',
419+
'**/intermediates/javac/debug/*/classes/**',
420+
"**/intermediates/javac/debug/classes/**",
421+
])
391422
}
392423

393424
assert taskDependsOn(debugTaskCombined, 'testDebugUnitTest')
@@ -429,9 +460,18 @@ class GenerationTest {
429460

430461
assert classDirectories.getFrom().first().dir == project.file("build/")
431462
if (hasKotlin(project)) {
432-
assert contentEquals(classDirectories.getFrom().first().includes, ['**/intermediates/classes/release/**', '**/intermediates/javac/release/*/classes/**', '**/tmp/kotlin-classes/release/**'])
463+
assert contentEquals(classDirectories.getFrom().first().includes, [
464+
'**/intermediates/classes/release/**',
465+
'**/intermediates/javac/release/*/classes/**',
466+
"**/intermediates/javac/release/classes/**",
467+
'**/tmp/kotlin-classes/release/**'
468+
])
433469
} else {
434-
assert contentEquals(classDirectories.getFrom().first().includes, ['**/intermediates/classes/release/**', '**/intermediates/javac/release/*/classes/**'])
470+
assert contentEquals(classDirectories.getFrom().first().includes, [
471+
'**/intermediates/classes/release/**',
472+
'**/intermediates/javac/release/*/classes/**',
473+
"**/intermediates/javac/release/classes/**"
474+
])
435475
}
436476

437477
assert taskDependsOn(releaseTask, 'testReleaseUnitTest')
@@ -470,9 +510,18 @@ class GenerationTest {
470510

471511
assert classDirectories.getFrom().first().dir == project.file("build/")
472512
if (hasKotlin(project)) {
473-
assert contentEquals(classDirectories.getFrom().first().includes, ['**/intermediates/classes/release/**', '**/intermediates/javac/release/*/classes/**', '**/tmp/kotlin-classes/release/**'])
513+
assert contentEquals(classDirectories.getFrom().first().includes, [
514+
'**/intermediates/classes/release/**',
515+
'**/intermediates/javac/release/*/classes/**',
516+
"**/intermediates/javac/release/classes/**",
517+
'**/tmp/kotlin-classes/release/**'
518+
])
474519
} else {
475-
assert contentEquals(classDirectories.getFrom().first().includes, ['**/intermediates/classes/release/**', '**/intermediates/javac/release/*/classes/**'])
520+
assert contentEquals(classDirectories.getFrom().first().includes, [
521+
'**/intermediates/classes/release/**',
522+
'**/intermediates/javac/release/*/classes/**',
523+
"**/intermediates/javac/release/classes/**",
524+
])
476525
}
477526

478527
assert taskDependsOn(releaseTaskCombined, 'testReleaseUnitTest')

0 commit comments

Comments
 (0)