Merge "Jetifying navigation sources" into androidx-master-dev
diff --git a/buildSrc/src/main/kotlin/androidx/build/dependencyTracker/AffectedModuleDetector.kt b/buildSrc/src/main/kotlin/androidx/build/dependencyTracker/AffectedModuleDetector.kt
index 3a2fb98..7c3cf36 100644
--- a/buildSrc/src/main/kotlin/androidx/build/dependencyTracker/AffectedModuleDetector.kt
+++ b/buildSrc/src/main/kotlin/androidx/build/dependencyTracker/AffectedModuleDetector.kt
@@ -41,7 +41,7 @@
* ALL_AFFECTED_PROJECTS -- The union of CHANGED_PROJECTS and DEPENDENT_PROJECTS,
* which encompasses all projects that could possibly break due to the changes.
*/
-internal enum class ProjectSubset { DEPENDENT_PROJECTS, CHANGED_PROJECTS, ALL }
+internal enum class ProjectSubset { DEPENDENT_PROJECTS, CHANGED_PROJECTS, ALL_AFFECTED_PROJECTS }
/**
* A utility class that can discover which files are changed based on git history.
@@ -49,6 +49,11 @@
* To enable this, you need to pass [ENABLE_ARG] into the build as a command line parameter
* (-P<name>)
*
+ * Passing [DEPENDENT_PROJECTS_ARG] will result in only DEPENDENT_PROJECTS being returned (see enum)
+ * Passing [CHANGED_PROJECTS_ARG] will behave likewise.
+ *
+ * If neither of those are passed, [ALL_AFFECTED_PROJECTS] is returned.
+ *
* Currently, it checks git logs to find last merge CL to discover where the anchor CL is.
*
* Eventually, we'll move to the props passed down by the build system when it is available.
@@ -66,7 +71,7 @@
private const val ROOT_PROP_NAME = "affectedModuleDetector"
private const val LOG_FILE_NAME = "affected_module_detector_log.txt"
private const val ENABLE_ARG = "androidx.enableAffectedModuleDetection"
- private const val DEPENDENT_PROJECTS_ARG = "androidx.onlyDependent"
+ private const val DEPENDENT_PROJECTS_ARG = "androidx.dependentProjects"
private const val CHANGED_PROJECTS_ARG = "androidx.changedProjects"
@JvmStatic
fun configure(gradle: Gradle, rootProject: Project) {
@@ -75,7 +80,7 @@
rootProject.hasProperty(DEPENDENT_PROJECTS_ARG) -> ProjectSubset.DEPENDENT_PROJECTS
rootProject.hasProperty(CHANGED_PROJECTS_ARG)
-> ProjectSubset.CHANGED_PROJECTS
- else -> ProjectSubset.ALL
+ else -> ProjectSubset.ALL_AFFECTED_PROJECTS
}
val inBuildServer = isRunningOnBuildServer()
if (!enabled && !inBuildServer) {
@@ -176,7 +181,7 @@
private val logger: Logger?,
// used for debugging purposes when we want to ignore non module files
private val ignoreUnknownProjects: Boolean = false,
- private val projectSubset: ProjectSubset = ProjectSubset.ALL,
+ private val projectSubset: ProjectSubset = ProjectSubset.ALL_AFFECTED_PROJECTS,
private val injectedGitClient: GitClient? = null
) : AffectedModuleDetector() {
private val git by lazy {
@@ -234,7 +239,7 @@
}
}
if (containingProjects.any { it == null }) {
- logger?.info("couldn't find containing file for some projects, returning ALL")
+ logger?.info("couldn't find containing file for some projects, returning all projects")
logger?.info(
"""
if i was going to check for what i've found, i would've returned
diff --git a/buildSrc/src/test/kotlin/androidx/build/dependencyTracker/AffectedModuleDetectorImplTest.kt b/buildSrc/src/test/kotlin/androidx/build/dependencyTracker/AffectedModuleDetectorImplTest.kt
index 99ea5cf..514f5c6 100644
--- a/buildSrc/src/test/kotlin/androidx/build/dependencyTracker/AffectedModuleDetectorImplTest.kt
+++ b/buildSrc/src/test/kotlin/androidx/build/dependencyTracker/AffectedModuleDetectorImplTest.kt
@@ -129,7 +129,7 @@
rootProject = root,
logger = logger,
ignoreUnknownProjects = false,
- projectSubset = ProjectSubset.ALL,
+ projectSubset = ProjectSubset.ALL_AFFECTED_PROJECTS,
injectedGitClient = MockGitClient(
lastMergeSha = "foo",
changedFiles = emptyList())
@@ -177,7 +177,7 @@
rootProject = root,
logger = logger,
ignoreUnknownProjects = false,
- projectSubset = ProjectSubset.ALL,
+ projectSubset = ProjectSubset.ALL_AFFECTED_PROJECTS,
injectedGitClient = MockGitClient(
lastMergeSha = "foo",
changedFiles = listOf(convertToFilePath("p1", "foo.java")))
@@ -225,7 +225,7 @@
rootProject = root,
logger = logger,
ignoreUnknownProjects = false,
- projectSubset = ProjectSubset.ALL,
+ projectSubset = ProjectSubset.ALL_AFFECTED_PROJECTS,
injectedGitClient = MockGitClient(
lastMergeSha = "foo",
changedFiles = listOf(
@@ -279,7 +279,7 @@
rootProject = root,
logger = logger,
ignoreUnknownProjects = false,
- projectSubset = ProjectSubset.ALL,
+ projectSubset = ProjectSubset.ALL_AFFECTED_PROJECTS,
injectedGitClient = MockGitClient(
lastMergeSha = "foo",
changedFiles = listOf("foo.java"))