Pill: Recognize non-default test source roots
This commit is contained in:
@@ -244,7 +244,7 @@ private fun parseSourceRoots(project: Project): List<PSourceRoot> {
|
|||||||
|
|
||||||
for (sourceSet in project.sourceSets) {
|
for (sourceSet in project.sourceSets) {
|
||||||
val kotlinCompileTask = kotlinTasksBySourceSet[sourceSet.name]
|
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 {
|
fun Any.getKotlin(): SourceDirectorySet {
|
||||||
val kotlinMethod = javaClass.getMethod("getKotlin")
|
val kotlinMethod = javaClass.getMethod("getKotlin")
|
||||||
@@ -298,9 +298,8 @@ private fun parseSourceRoots(project: Project): List<PSourceRoot> {
|
|||||||
|
|
||||||
private fun parseResourceRootsProcessedByProcessResourcesTask(project: Project, sourceSet: SourceSet): List<PSourceRoot> {
|
private fun parseResourceRootsProcessedByProcessResourcesTask(project: Project, sourceSet: SourceSet): List<PSourceRoot> {
|
||||||
val isMainSourceSet = sourceSet.name == SourceSet.MAIN_SOURCE_SET_NAME
|
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 taskNameBase = "processResources"
|
||||||
val taskName = if (isMainSourceSet) taskNameBase else sourceSet.name + taskNameBase.capitalize()
|
val taskName = if (isMainSourceSet) taskNameBase else sourceSet.name + taskNameBase.capitalize()
|
||||||
val task = project.tasks.findByName(taskName) as? ProcessResources ?: return emptyList()
|
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) }
|
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? {
|
private fun getKotlinOptions(kotlinCompileTask: Any): PSourceRootKotlinOptions? {
|
||||||
val compileArguments = kotlinCompileTask.invokeInternal("getSerializedCompilerArguments") as List<String>
|
val compileArguments = kotlinCompileTask.invokeInternal("getSerializedCompilerArguments") as List<String>
|
||||||
fun parseBoolean(name: String) = compileArguments.contains("-$name")
|
fun parseBoolean(name: String) = compileArguments.contains("-$name")
|
||||||
|
|||||||
Reference in New Issue
Block a user