diff --git a/buildSrc/src/main/kotlin/pill/parser.kt b/buildSrc/src/main/kotlin/pill/parser.kt index ec60c05e1ba..0f2fcb905bd 100644 --- a/buildSrc/src/main/kotlin/pill/parser.kt +++ b/buildSrc/src/main/kotlin/pill/parser.kt @@ -244,7 +244,7 @@ private fun parseSourceRoots(project: Project): List { for (sourceSet in project.sourceSets) { val kotlinCompileTask = kotlinTasksBySourceSet[sourceSet.name] - val kind = if (sourceSet.name == SourceSet.TEST_SOURCE_SET_NAME) Kind.TEST else Kind.PRODUCTION + val kind = if (sourceSet.isTestSourceSet) Kind.TEST else Kind.PRODUCTION fun Any.getKotlin(): SourceDirectorySet { val kotlinMethod = javaClass.getMethod("getKotlin") @@ -298,9 +298,8 @@ private fun parseSourceRoots(project: Project): List { private fun parseResourceRootsProcessedByProcessResourcesTask(project: Project, sourceSet: SourceSet): List { val isMainSourceSet = sourceSet.name == SourceSet.MAIN_SOURCE_SET_NAME - val isTestSourceSet = sourceSet.name == SourceSet.TEST_SOURCE_SET_NAME - val resourceRootKind = if (isTestSourceSet) PSourceRoot.Kind.TEST_RESOURCES else PSourceRoot.Kind.RESOURCES + val resourceRootKind = if (sourceSet.isTestSourceSet) PSourceRoot.Kind.TEST_RESOURCES else PSourceRoot.Kind.RESOURCES val taskNameBase = "processResources" val taskName = if (isMainSourceSet) taskNameBase else sourceSet.name + taskNameBase.capitalize() val task = project.tasks.findByName(taskName) as? ProcessResources ?: return emptyList() @@ -319,6 +318,11 @@ private fun parseResourceRootsProcessedByProcessResourcesTask(project: Project, return roots.map { PSourceRoot(it, resourceRootKind, null) } } +private val SourceSet.isTestSourceSet: Boolean + get() = name == SourceSet.TEST_SOURCE_SET_NAME + || name.endsWith("Test") + || name.endsWith("Tests") + private fun getKotlinOptions(kotlinCompileTask: Any): PSourceRootKotlinOptions? { val compileArguments = kotlinCompileTask.invokeInternal("getSerializedCompilerArguments") as List fun parseBoolean(name: String) = compileArguments.contains("-$name")