From 5b0bbb0b0f1ec1c97e40a8da72b9d65df384dce7 Mon Sep 17 00:00:00 2001 From: Zac Sweers Date: Tue, 8 Aug 2023 14:06:09 -0400 Subject: [PATCH] Don't include androidTest information about projects if it's not enabled This avoids a bug in skippy where we'd mistakenly mark an project as affected in android tests even if it wasn't actually enabled --- .../gradle/StandardProjectConfigurations.kt | 35 ++++++++++--------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/slack-plugin/src/main/kotlin/slack/gradle/StandardProjectConfigurations.kt b/slack-plugin/src/main/kotlin/slack/gradle/StandardProjectConfigurations.kt index d3598fcd1..10e029f8e 100644 --- a/slack-plugin/src/main/kotlin/slack/gradle/StandardProjectConfigurations.kt +++ b/slack-plugin/src/main/kotlin/slack/gradle/StandardProjectConfigurations.kt @@ -475,24 +475,27 @@ internal class StandardProjectConfigurations( slackExtension.androidHandler.featuresHandler.androidTestExcludeFromFladle.getOrElse( false ) - if (!excluded && isAffectedProject) { - computeAffectedProjectsTask.configure { androidTestProjects.add(projectPath) } - if (isLibraryVariant) { - (variant as LibraryVariant).androidTest?.artifacts?.get(SingleArtifact.APK)?.let { - apkArtifactsDir -> - // Wire this up to the aggregator - androidTestApksAggregator.configure { androidTestApkDirs.from(apkArtifactsDir) } + val isAndroidTestEnabled = variant is HasAndroidTest && variant.androidTest != null + if (isAndroidTestEnabled) { + if (!excluded && isAffectedProject) { + computeAffectedProjectsTask.configure { androidTestProjects.add(projectPath) } + if (isLibraryVariant) { + (variant as LibraryVariant).androidTest?.artifacts?.get(SingleArtifact.APK)?.let { + apkArtifactsDir -> + // Wire this up to the aggregator + androidTestApksAggregator.configure { androidTestApkDirs.from(apkArtifactsDir) } + } } - } - } else { - val reason = if (excluded) "excluded" else "not affected" - val taskPath = "${projectPath}:androidTest" - val log = "$LOG Skipping $taskPath because it is $reason." - slackTools.logAvoidedTask(AndroidTestApksTask.NAME, taskPath) - if (slackProperties.debug) { - project.logger.lifecycle(log) } else { - project.logger.debug(log) + val reason = if (excluded) "excluded" else "not affected" + val taskPath = "${projectPath}:androidTest" + val log = "$LOG Skipping $taskPath because it is $reason." + slackTools.logAvoidedTask(AndroidTestApksTask.NAME, taskPath) + if (slackProperties.debug) { + project.logger.lifecycle(log) + } else { + project.logger.debug(log) + } } } }