Skip to content

Commit ab9932f

Browse files
Allow null task to indicate skipping a module
1 parent ac90886 commit ab9932f

File tree

5 files changed

+19
-13
lines changed

5 files changed

+19
-13
lines changed

affectedmoduledetector/src/main/kotlin/com/dropbox/affectedmoduledetector/AffectedModuleDetectorPlugin.kt

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import org.gradle.api.Plugin
88
import org.gradle.api.Project
99
import org.gradle.api.Task
1010
import org.gradle.api.tasks.testing.Test
11-
import java.util.*
1211

1312
/**
1413
* This plugin creates and registers all affected test tasks.
@@ -107,9 +106,9 @@ class AffectedModuleDetectorPlugin : Plugin<Project> {
107106
} as AffectedTestConfiguration
108107

109108
val pathName = when (testType) {
110-
is TestType.RunAndroidTest -> "${project.path}:${tasks.runAndroidTestTask}"
111-
is TestType.AssembleAndroidTest -> "${project.path}:${tasks.assembleAndroidTestTask}"
112-
is TestType.JvmTest -> "${project.path}:${tasks.jvmTest}"
109+
is TestType.RunAndroidTest -> getPathAndTask(project, tasks.runAndroidTestTask)
110+
is TestType.AssembleAndroidTest -> getPathAndTask(project, tasks.assembleAndroidTestTask)
111+
is TestType.JvmTest -> getPathAndTask(project, tasks.jvmTestTask)
113112
}
114113

115114
return if (AffectedModuleDetector.isProjectAffected(project)) {
@@ -119,6 +118,14 @@ class AffectedModuleDetectorPlugin : Plugin<Project> {
119118
}
120119
}
121120

121+
private fun getPathAndTask(project: Project, task: String?): String? {
122+
return if (task.isNullOrEmpty()) {
123+
null
124+
} else {
125+
"${project.path}:${task}"
126+
}
127+
}
128+
122129
private fun filterAndroidTests(project: Project) {
123130
val tracker = DependencyTracker(project, null)
124131
project.tasks.all { task ->

affectedmoduledetector/src/main/kotlin/com/dropbox/affectedmoduledetector/AffectedTestConfiguration.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ package com.dropbox.affectedmoduledetector
88
*/
99
open class AffectedTestConfiguration {
1010

11-
var assembleAndroidTestTask = "assembleDebugAndroidTest"
12-
var runAndroidTestTask = "connectedDebugAndroidTest"
13-
var jvmTest = "testDebugUnitTest"
11+
var assembleAndroidTestTask : String? = "assembleDebugAndroidTest"
12+
var runAndroidTestTask : String? = "connectedDebugAndroidTest"
13+
var jvmTestTask : String? = "testDebugUnitTest"
1414

1515
companion object {
1616
const val name = "affectedTestConfiguration"

affectedmoduledetector/src/test/kotlin/com/dropbox/affectedmoduledetector/AffectedModuleDetectorPluginTest.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import com.google.common.truth.Truth.assertThat
44
import junit.framework.Assert.fail
55
import org.gradle.api.Project
66
import org.gradle.api.internal.project.DefaultProject
7-
import org.gradle.api.plugins.JavaLibraryPlugin
87
import org.gradle.testfixtures.ProjectBuilder
98
import org.junit.Before
109
import org.junit.Rule
@@ -94,7 +93,7 @@ class AffectedModuleDetectorPluginTest {
9493
// WHEN
9594
rootProject.pluginManager.apply(AffectedModuleDetectorPlugin::class.java)
9695
val ext = requireNotNull(childProject.extensions.findByType(AffectedTestConfiguration::class.java))
97-
ext.jvmTest = "myfaketest"
96+
ext.jvmTestTask = "myfaketest"
9897

9998
(rootProject as DefaultProject).evaluate()
10099

affectedmoduledetector/src/test/kotlin/com/dropbox/affectedmoduledetector/AffectedTestConfigurationTest.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class AffectedTestConfigurationTest {
1717
fun `GIVEN AffectedTestConfiguration WHEN default values THEN default values returned`() {
1818
assertThat(config.assembleAndroidTestTask).isEqualTo("assembleDebugAndroidTest")
1919
assertThat(config.runAndroidTestTask).isEqualTo("connectedDebugAndroidTest")
20-
assertThat(config.jvmTest).isEqualTo("testDebugUnitTest")
20+
assertThat(config.jvmTestTask).isEqualTo("testDebugUnitTest")
2121
}
2222

2323
@Test
@@ -30,12 +30,12 @@ class AffectedTestConfigurationTest {
3030
// WHEN
3131
config.assembleAndroidTestTask = assembleAndroidTestTask
3232
config.runAndroidTestTask = runAndroidTestTask
33-
config.jvmTest = jvmTest
33+
config.jvmTestTask = jvmTest
3434

3535
// THEN
3636
assertThat(config.assembleAndroidTestTask).isEqualTo(assembleAndroidTestTask)
3737
assertThat(config.runAndroidTestTask).isEqualTo(runAndroidTestTask)
38-
assertThat(config.jvmTest).isEqualTo(jvmTest)
38+
assertThat(config.jvmTestTask).isEqualTo(jvmTest)
3939
}
4040

4141
@Test

gradle/releasing.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
ext {
22
DESCRIPTION = "A Gradle Plugin and library to determine which modules were affected in a commit."
3-
VERSION = "0.1.1-SNAPSHOT"
3+
VERSION = "0.1.2-SNAPSHOT"
44
GIT_URL = 'https://github.com/Dropbox/AffectedModuleDetector'
55
GROUP_ID = "com.dropbox.affectedmoduledetector"
66
SONATYPE_SNAPSHOT_URL = "https://oss.sonatype.org/content/repositories/snapshots/"

0 commit comments

Comments
 (0)