Fix issues found in KOTLIN-CR-3233

This commit is contained in:
Sergey Igushkin
2019-09-23 20:00:37 +03:00
parent f0ef5a90b3
commit 0456220f7a
22 changed files with 55 additions and 99 deletions
@@ -69,7 +69,7 @@ interface KotlinCompilation<out T : KotlinCommonOptions> : Named, HasAttributes,
fun associateWith(other: KotlinCompilation<*>)
val associateWith: Set<KotlinCompilation<*>>
val associateWith: List<KotlinCompilation<*>>
override fun getName(): String = compilationName
@@ -20,9 +20,6 @@ open class KotlinAndroid32GradleIT : KotlinAndroid3GradleIT() {
override val androidGradlePluginVersion: AGPVersion
get() = AGPVersion.v3_2_0
override val defaultGradleVersion: GradleVersionRequired
get() = GradleVersionRequired.None
@Test
fun testAndroidWithNewMppApp() = with(Project("new-mpp-android", GradleVersionRequired.AtLeast("5.0"))) {
build("assemble", "compileDebugUnitTestJavaWithJavac", "printCompilerPluginOptions") {
@@ -14,9 +14,6 @@ class Kapt3WorkersAndroid32IT : Kapt3Android32IT() {
open class Kapt3Android32IT : Kapt3AndroidIT() {
override val androidGradlePluginVersion: AGPVersion
get() = AGPVersion.v3_2_0
override val defaultGradleVersion: GradleVersionRequired
get() = GradleVersionRequired.None
}
open class Kapt3Android33IT : Kapt3AndroidIT() {
@@ -16,9 +16,6 @@ import kotlin.test.assertNull
import kotlin.test.assertTrue
class KotlinAndroidExtensionIT : BaseGradleIT() {
override val defaultGradleVersion: GradleVersionRequired
get() = GradleVersionRequired.None
override fun defaultBuildOptions(): BuildOptions {
return super.defaultBuildOptions().copy(
androidGradlePluginVersion = AGPVersion.v3_1_0,
@@ -16,9 +16,6 @@ import kotlin.test.assertNotEquals
import kotlin.test.assertTrue
class KotlinProjectIT : BaseGradleIT() {
override val defaultGradleVersion: GradleVersionRequired
get() = GradleVersionRequired.None
override fun defaultBuildOptions(): BuildOptions {
return super.defaultBuildOptions().copy(
androidGradlePluginVersion = AGPVersion.v3_1_0,
@@ -145,7 +145,7 @@ internal abstract class KotlinSourceSetProcessor<T : AbstractKotlinCompile<*>>(
shouldCreateTask = true
}
if (shouldCreateTask) {
project.createOrRegisterTask(expectedClassesTaskName, IDEClassesTask::class.java) {
project.registerTask(expectedClassesTaskName, IDEClassesTask::class.java) {
it.dependsOn(getByName(kotlinCompilation.compileAllTaskName))
}
}
@@ -428,11 +428,12 @@ internal abstract class AbstractKotlinPlugin(
)
return
}
val inspectTask = registerTask(project, "inspectClassesForKotlinIC", InspectClassesForMultiModuleIC::class.java) {
it.sourceSetName = SourceSet.MAIN_SOURCE_SET_NAME
it.jarTask = jarTask
it.dependsOn(classesTask)
}
val inspectTask =
registerTask(project, "inspectClassesForKotlinIC", InspectClassesForMultiModuleIC::class.java) {
it.sourceSetName = SourceSet.MAIN_SOURCE_SET_NAME
it.jarTask = jarTask
it.dependsOn(classesTask)
}
jarTask.dependsOn(inspectTask)
}
@@ -232,8 +232,8 @@ abstract class AbstractKotlinCompilation<T : KotlinCommonOptions>(
private val _associateWith: MutableSet<AbstractKotlinCompilation<*>> = mutableSetOf()
override val associateWith: Set<KotlinCompilation<*>>
get() = Collections.unmodifiableSet(_associateWith)
override val associateWith: List<KotlinCompilation<*>>
get() = Collections.unmodifiableList(_associateWith.toList())
}
internal val KotlinCompilation<*>.ownModuleName: String
@@ -150,7 +150,7 @@ class DefaultKotlinSourceSet(
}
@Suppress("unused") // Used in IDE import
fun getAdditionalVisibleSourceSets(): Set<KotlinSourceSet> =
fun getAdditionalVisibleSourceSets(): List<KotlinSourceSet> =
getVisibleSourceSetsFromAssociateCompilations(project, this)
internal fun getDependenciesTransformation(scope: KotlinDependencyScope): Iterable<MetadataDependencyTransformation> {
@@ -19,13 +19,13 @@ fun getSourceSetsFromAssociatedCompilations(fromCompilation: KotlinCompilation<*
fun getVisibleSourceSetsFromAssociateCompilations(
project: Project,
sourceSet: KotlinSourceSet
) = getVisibleSourceSetsFromAssociateCompilations(
): List<KotlinSourceSet> = getVisibleSourceSetsFromAssociateCompilations(
CompilationSourceSetUtil.compilationsBySourceSets(project).getValue(sourceSet)
)
internal fun getVisibleSourceSetsFromAssociateCompilations(
participatesInCompilations: Set<KotlinCompilation<*>>
): Set<KotlinSourceSet> {
): List<KotlinSourceSet> {
val visibleInCompilations = participatesInCompilations.map {
val sourceSetsInAssociatedCompilations = getSourceSetsFromAssociatedCompilations(it)
when (sourceSetsInAssociatedCompilations.size) {
@@ -46,13 +46,13 @@ internal fun getVisibleSourceSetsFromAssociateCompilations(
else -> visibleInCompilations.first().toMutableSet().apply {
visibleInCompilations.subList(1, visibleInCompilations.size).forEach { retainAll(it) }
}
}
}.toList()
}
class UnsatisfiedSourceSetVisibilityException(
val sourceSet: KotlinSourceSet,
val compilations: Set<KotlinCompilation<*>>,
val visibleSourceSets: Set<KotlinSourceSet>,
val visibleSourceSets: List<KotlinSourceSet>,
val requiredButNotVisible: Set<KotlinSourceSet>
) : GradleException() {
@@ -1,20 +0,0 @@
/*
* Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.gradle.targets.js
import groovy.lang.Closure
import org.gradle.api.tasks.TaskProvider
import org.gradle.api.tasks.testing.TestFilter
import org.gradle.util.ConfigureUtil
import org.jetbrains.kotlin.gradle.execution.KotlinAggregateExecutionSource
import org.jetbrains.kotlin.gradle.plugin.ExecutionTaskHolder
import org.jetbrains.kotlin.gradle.plugin.KotlinExecution
import org.jetbrains.kotlin.gradle.plugin.KotlinExecution.ExecutionSource
import org.jetbrains.kotlin.gradle.plugin.KotlinTestRun
import org.jetbrains.kotlin.gradle.testing.KotlinAggregatingTestRun
import org.jetbrains.kotlin.gradle.testing.internal.KotlinTestReport
@@ -11,7 +11,7 @@ import org.jetbrains.kotlin.gradle.targets.js.npm.NpmDependency
import org.jetbrains.kotlin.gradle.targets.js.npm.plugins.CompilationResolverPlugin
import org.jetbrains.kotlin.gradle.targets.js.npm.resolved.KotlinRootNpmResolution
import org.jetbrains.kotlin.gradle.targets.js.npm.resolver.KotlinCompilationNpmResolver
import org.jetbrains.kotlin.gradle.tasks.createOrRegisterTask
import org.jetbrains.kotlin.gradle.tasks.registerTask
internal class DukatCompilationResolverPlugin(
private val resolver: KotlinCompilationNpmResolver
@@ -25,7 +25,7 @@ internal class DukatCompilationResolverPlugin(
init {
compilation.defaultSourceSet.kotlin.srcDir(npmProject.externalsDir)
val task = project.createOrRegisterTask<PackageJsonDukatTask>(taskName) {
val task = project.registerTask<PackageJsonDukatTask>(taskName) {
it.compilation = compilation
it.group = NodeJsRootPlugin.TASKS_GROUP_NAME
it.description = "Generate Kotlin/JS external declarations for .d.ts files in ${compilation}"
@@ -13,7 +13,7 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
import org.jetbrains.kotlin.gradle.targets.js.RequiredKotlinJsDependency
import org.jetbrains.kotlin.gradle.targets.js.npm.RequiresNpmDependencies
import org.jetbrains.kotlin.gradle.targets.js.npm.npmProject
import org.jetbrains.kotlin.gradle.tasks.createOrRegisterTask
import org.jetbrains.kotlin.gradle.tasks.registerTask
open class NodeJsExec : AbstractExecTask<NodeJsExec>(NodeJsExec::class.java), RequiresNpmDependencies {
@get:Internal
@@ -58,7 +58,7 @@ open class NodeJsExec : AbstractExecTask<NodeJsExec>(NodeJsExec::class.java), Re
val project = target.project
val nodeJs = NodeJsRootPlugin.apply(project.rootProject)
return project.createOrRegisterTask(name) {
return project.registerTask(name) {
it.nodeJs = nodeJs
it.compilation = compilation
it.executable = nodeJs.environment.nodeExecutable
@@ -13,7 +13,7 @@ import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootExtension
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin
import org.jetbrains.kotlin.gradle.targets.js.npm.npmProject
import org.jetbrains.kotlin.gradle.targets.js.npm.resolver.KotlinCompilationNpmResolver
import org.jetbrains.kotlin.gradle.tasks.createOrRegisterTask
import org.jetbrains.kotlin.gradle.tasks.registerTask
import java.io.File
open class KotlinPackageJsonTask : DefaultTask() {
@@ -54,7 +54,7 @@ open class KotlinPackageJsonTask : DefaultTask() {
val rootClean = project.rootProject.tasks.getByName(BasePlugin.CLEAN_TASK_NAME)
val npmInstallTask = nodeJs.npmInstallTask
val packageJsonTaskName = npmProject.packageJsonTaskName
val packageJsonTask = project.createOrRegisterTask<KotlinPackageJsonTask>(packageJsonTaskName) { task ->
val packageJsonTask = project.registerTask<KotlinPackageJsonTask>(packageJsonTaskName) { task ->
task.nodeJs = nodeJs
task.compilation = compilation
task.description = "Create package.json file for $compilation"
@@ -13,7 +13,7 @@ import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin
import org.jetbrains.kotlin.gradle.targets.js.testing.KotlinJsTest
import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpack
import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackConfig
import org.jetbrains.kotlin.gradle.tasks.createOrRegisterTask
import org.jetbrains.kotlin.gradle.tasks.registerTask
import javax.inject.Inject
open class KotlinBrowserJs @Inject constructor(target: KotlinJsTarget) :
@@ -43,7 +43,7 @@ open class KotlinBrowserJs @Inject constructor(target: KotlinJsTarget) :
val project = compilation.target.project
val nodeJs = NodeJsRootPlugin.apply(project.rootProject)
project.createOrRegisterTask<KotlinWebpack>(disambiguateCamelCased("webpack")) {
project.registerTask<KotlinWebpack>(disambiguateCamelCased("webpack")) {
val compileKotlinTask = compilation.compileKotlinTask
it.dependsOn(
nodeJs.npmInstallTask,
@@ -56,7 +56,7 @@ open class KotlinBrowserJs @Inject constructor(target: KotlinJsTarget) :
project.tasks.getByName(LifecycleBasePlugin.ASSEMBLE_TASK_NAME).dependsOn(it)
}
val run = project.createOrRegisterTask<KotlinWebpack>(disambiguateCamelCased("run")) {
val run = project.registerTask<KotlinWebpack>(disambiguateCamelCased("run")) {
val compileKotlinTask = compilation.compileKotlinTask
it.dependsOn(
nodeJs.npmInstallTask,
@@ -6,7 +6,6 @@
package org.jetbrains.kotlin.gradle.targets.js.subtargets
import org.gradle.api.NamedDomainObjectContainer
import org.gradle.api.tasks.TaskProvider
import org.gradle.api.plugins.ExtensionAware
import org.gradle.language.base.plugins.LifecycleBasePlugin
import org.jetbrains.kotlin.gradle.plugin.*
@@ -19,8 +18,7 @@ import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin
import org.jetbrains.kotlin.gradle.targets.js.npm.NpmResolverPlugin
import org.jetbrains.kotlin.gradle.targets.js.npm.npmProject
import org.jetbrains.kotlin.gradle.targets.js.testing.KotlinJsTest
import org.jetbrains.kotlin.gradle.tasks.createOrRegisterTask
import org.jetbrains.kotlin.gradle.tasks.locateTask
import org.jetbrains.kotlin.gradle.tasks.registerTask
import org.jetbrains.kotlin.gradle.testing.internal.configureConventions
import org.jetbrains.kotlin.gradle.testing.internal.kotlinTestRegistry
import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName
@@ -78,7 +76,7 @@ abstract class KotlinJsSubTarget(
)
)
val testJs = project.createOrRegisterTask<KotlinJsTest>(testRun.subtargetTestTaskName()) { testJs ->
val testJs = project.registerTask<KotlinJsTest>(testRun.subtargetTestTaskName()) { testJs ->
val compileTask = compilation.compileKotlinTask
testJs.group = LifecycleBasePlugin.VERIFICATION_GROUP
@@ -102,7 +100,6 @@ abstract class KotlinJsSubTarget(
target.testRuns.matching { it.name == testRun.name }.all { parentTestRun ->
target.project.kotlinTestRegistry.registerTestTask(
project,
testJs,
parentTestRun.executionTask
)
@@ -130,6 +127,6 @@ abstract class KotlinJsSubTarget(
protected abstract fun configureRun(compilation: KotlinJsCompilation)
override fun testTask(body: KotlinJsTest.() -> Unit) {
project.locateTask<KotlinJsTest>(testTaskName)!!.configure(body)
testRuns.getByName(KotlinTargetWithTests.DEFAULT_TEST_RUN_NAME).executionTask.configure(body)
}
}
@@ -6,14 +6,13 @@
package org.jetbrains.kotlin.gradle.targets.jvm
import org.gradle.api.plugins.JavaBasePlugin
import org.gradle.api.tasks.TaskProvider
import org.jetbrains.kotlin.gradle.plugin.*
import org.jetbrains.kotlin.gradle.plugin.Kotlin2JvmSourceSetProcessor
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSetProcessor
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJvmCompilation
import org.jetbrains.kotlin.gradle.targets.jvm.tasks.KotlinJvmTest
import org.jetbrains.kotlin.gradle.tasks.KotlinTasksProvider
import org.jetbrains.kotlin.gradle.tasks.createOrRegisterTask
import org.jetbrains.kotlin.gradle.tasks.registerTask
import org.jetbrains.kotlin.gradle.testing.internal.kotlinTestRegistry
import org.jetbrains.kotlin.gradle.testing.testTaskName
@@ -28,7 +27,7 @@ class KotlinJvmTargetConfigurator(kotlinPluginVersion: String) :
name: String,
target: KotlinJvmTarget
): KotlinJvmTestRun = KotlinJvmTestRun(name, target).apply {
val testTaskOrProvider = target.project.createOrRegisterTask<KotlinJvmTest>(testTaskName) { testTask ->
val testTaskOrProvider = target.project.registerTask<KotlinJvmTest>(testTaskName) { testTask ->
testTask.targetName = target.disambiguationClassifier
testTask.project.tasks.findByName(JavaBasePlugin.CHECK_TASK_NAME)?.dependsOn(testTask)
}
@@ -47,7 +46,7 @@ class KotlinJvmTargetConfigurator(kotlinPluginVersion: String) :
}
}
target.project.kotlinTestRegistry.registerTestTask(target.project, testTaskOrProvider)
target.project.kotlinTestRegistry.registerTestTask(testTaskOrProvider)
}
override fun buildCompilationProcessor(compilation: KotlinJvmCompilation): KotlinSourceSetProcessor<*> {
@@ -20,7 +20,7 @@ import org.jetbrains.kotlin.gradle.plugin.*
import org.jetbrains.kotlin.gradle.plugin.mpp.*
import org.jetbrains.kotlin.gradle.plugin.sources.*
import org.jetbrains.kotlin.gradle.tasks.KotlinTasksProvider
import org.jetbrains.kotlin.gradle.tasks.createOrRegisterTask
import org.jetbrains.kotlin.gradle.tasks.registerTask
import org.jetbrains.kotlin.gradle.tasks.locateTask
import org.jetbrains.kotlin.gradle.utils.addExtendsFromRelation
import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName
@@ -199,7 +199,7 @@ class KotlinMetadataTargetConfigurator(kotlinPluginVersion: String) :
spec.into(metadataCompilation.defaultSourceSet.name)
}
project.createOrRegisterTask<TransformKotlinGranularMetadata>(transformGranularMetadataTaskName(sourceSet), listOf(sourceSet)) { }
project.registerTask<TransformKotlinGranularMetadata>(transformGranularMetadataTaskName(sourceSet), listOf(sourceSet)) { }
return metadataCompilation
}
@@ -348,7 +348,7 @@ class KotlinMetadataTargetConfigurator(kotlinPluginVersion: String) :
}
private fun Project.createGenerateProjectStructureMetadataTask(): TaskProvider<GenerateProjectStructureMetadata> =
project.createOrRegisterTask("generateProjectStructureMetadata") { task ->
project.registerTask("generateProjectStructureMetadata") { task ->
task.lazyKotlinProjectStructureMetadata = lazy { checkNotNull(buildKotlinProjectStructureMetadata(project)) }
}
}
@@ -17,7 +17,6 @@ import org.gradle.api.internal.plugins.DefaultArtifactPublicationSet
import org.gradle.api.plugins.BasePlugin
import org.gradle.api.tasks.Copy
import org.gradle.api.tasks.Exec
import org.gradle.api.tasks.TaskProvider
import org.gradle.language.base.plugins.LifecycleBasePlugin
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation.Companion.MAIN_COMPILATION_NAME
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation.Companion.TEST_COMPILATION_NAME
@@ -389,8 +388,8 @@ open class KotlinNativeTargetConfigurator<T : KotlinNativeTarget>(
}
}
class KotlinNativeTargetWithTestsConfigurator(kotlinPluginVersion: String)
: KotlinNativeTargetConfigurator<KotlinNativeTargetWithTests>(kotlinPluginVersion),
class KotlinNativeTargetWithTestsConfigurator(kotlinPluginVersion: String) :
KotlinNativeTargetConfigurator<KotlinNativeTargetWithTests>(kotlinPluginVersion),
KotlinTargetWithTestsConfigurator<KotlinNativeBinaryTestRun, KotlinNativeTargetWithTests> {
override val testRunClass: Class<KotlinNativeBinaryTestRun>
@@ -400,7 +399,7 @@ class KotlinNativeTargetWithTestsConfigurator(kotlinPluginVersion: String)
DefaultKotlinNativeTestRun(name, target).apply {
val project = target.project
val testTaskOrProvider = project.createOrRegisterTask<KotlinNativeTest>(testTaskName) { testTask ->
val testTaskOrProvider = project.registerTask<KotlinNativeTest>(testTaskName) { testTask ->
testTask.group = LifecycleBasePlugin.VERIFICATION_GROUP
testTask.description = "Executes Kotlin/Native unit tests for target ${target.name}."
testTask.targetName = target.name
@@ -416,6 +415,6 @@ class KotlinNativeTargetWithTestsConfigurator(kotlinPluginVersion: String)
setExecutionSourceFrom(target.binaries.getTest(NativeBuildType.DEBUG))
project.kotlinTestRegistry.registerTestTask(project, testTaskOrProvider)
project.kotlinTestRegistry.registerTestTask(testTaskOrProvider)
}
}
@@ -20,12 +20,9 @@ import org.gradle.api.Project
import org.gradle.api.Task
import org.gradle.api.UnknownTaskException
import org.gradle.api.tasks.TaskProvider
import org.jetbrains.kotlin.gradle.dsl.kotlinExtension
import org.jetbrains.kotlin.gradle.plugin.*
import org.jetbrains.kotlin.gradle.plugin.mpp.AbstractKotlinCompilation
import org.jetbrains.kotlin.gradle.plugin.mpp.defaultSourceSetName
import org.jetbrains.kotlin.gradle.plugin.sources.applyLanguageSettingsToKotlinTask
import org.jetbrains.kotlin.gradle.utils.isGradleVersionAtLeast
/**
* Registers the task with [name] and [type] and initialization script [body]
@@ -33,16 +30,16 @@ import org.jetbrains.kotlin.gradle.utils.isGradleVersionAtLeast
@JvmName("registerTaskOld")
@Deprecated("please use Project.createOrRegisterTask", ReplaceWith("project.createOrRegisterTask(name, body)"))
internal fun <T : Task> registerTask(project: Project, name: String, type: Class<T>, body: (T) -> (Unit)): TaskProvider<T> =
project.createOrRegisterTask(name, type, emptyList(), body)
project.registerTask(name, type, emptyList(), body)
internal inline fun <reified T : Task> Project.createOrRegisterTask(
internal inline fun <reified T : Task> Project.registerTask(
name: String,
args: List<Any> = emptyList(),
noinline body: (T) -> (Unit)
): TaskProvider<T> =
createOrRegisterTask(name, T::class.java, args, body)
this@registerTask.registerTask(name, T::class.java, args, body)
internal fun <T : Task> Project.createOrRegisterTask(
internal fun <T : Task> Project.registerTask(
name: String,
type: Class<T>,
constructorArgs: List<Any> = emptyList(),
@@ -94,7 +91,7 @@ internal open class KotlinTasksProvider(val targetName: String) {
): TaskProvider<out Kotlin2JsCompile> {
val properties = PropertiesProvider(project)
val taskClass = taskOrWorkersTask<Kotlin2JsCompile, Kotlin2JsCompileWithWorkers>(properties)
val result = project.createOrRegisterTask(name, taskClass) {
val result = project.registerTask(name, taskClass) {
configureAction(it)
}
configure(result, project, properties, compilation)
@@ -109,7 +106,7 @@ internal open class KotlinTasksProvider(val targetName: String) {
): TaskProvider<out KotlinCompileCommon> {
val properties = PropertiesProvider(project)
val taskClass = taskOrWorkersTask<KotlinCompileCommon, KotlinCompileCommonWithWorkers>(properties)
val result = project.createOrRegisterTask(name, taskClass) {
val result = project.registerTask(name, taskClass) {
configureAction(it)
}
configure(result, project, properties, compilation)
@@ -42,7 +42,7 @@ import java.net.URI
*/
open class KotlinTestReport : TestReport() {
@Internal
val testTasks = mutableListOf<TaskProvider<out AbstractTestTask>>()
val testTasks = mutableListOf<AbstractTestTask>()
private var parent: KotlinTestReport? = null
@@ -62,7 +62,7 @@ open class KotlinTestReport : TestReport() {
private var hasOwnFailedTests = false
private val hasFailedTests: Boolean
get() = hasOwnFailedTests || children.map { it.get() }.any { it.hasFailedTests }
get() = hasOwnFailedTests || children.any { it.get().hasFailedTests }
private val ownSuppressedRunningFailures = mutableListOf<Pair<KotlinTest, Error>>()
@@ -104,10 +104,8 @@ open class KotlinTestReport : TestReport() {
}
}
fun registerTestTask(taskProvider: TaskProvider<out AbstractTestTask>) {
testTasks.add(taskProvider)
val task = taskProvider.get()
fun registerTestTask(task: AbstractTestTask) {
testTasks.add(task)
task.addTestListener(failedTestsListener)
if (task is KotlinTest) task.addRunListener(object : KotlinTestRunnerListener {
@@ -243,9 +241,7 @@ open class KotlinTestReport : TestReport() {
}
}
private fun disableTestReporting(taskProvider: TaskProvider<out AbstractTestTask>) {
val task = taskProvider.get()
private fun disableTestReporting(task: AbstractTestTask) {
task.ignoreFailures = true
if (task is KotlinTest) {
task.ignoreRunFailures = true
@@ -11,7 +11,7 @@ import org.gradle.api.plugins.JavaBasePlugin
import org.gradle.api.tasks.TaskProvider
import org.gradle.api.tasks.testing.AbstractTestTask
import org.gradle.language.base.plugins.LifecycleBasePlugin
import org.jetbrains.kotlin.gradle.tasks.createOrRegisterTask
import org.jetbrains.kotlin.gradle.tasks.registerTask
import org.jetbrains.kotlin.gradle.tasks.locateTask
/**
@@ -29,7 +29,6 @@ class KotlinTestsRegistry(val project: Project, val allTestsTaskName: String = "
}
fun registerTestTask(
project: Project,
taskHolder: TaskProvider<out AbstractTestTask>,
aggregate: TaskProvider<KotlinTestReport> = allTestsTask
) {
@@ -37,7 +36,7 @@ class KotlinTestsRegistry(val project: Project, val allTestsTaskName: String = "
project.cleanAllTestTask.dependsOn(cleanTaskName(taskHolder.name))
aggregate.configure {
it.dependsOn(taskHolder.name)
it.registerTestTask(taskHolder)
it.registerTestTask(taskHolder.get())
}
taskHolder.configure { task ->
@@ -66,7 +65,7 @@ class KotlinTestsRegistry(val project: Project, val allTestsTaskName: String = "
val reportName = name
val aggregate: TaskProvider<KotlinTestReport> = project.createOrRegisterTask(name) { aggregate ->
val aggregate: TaskProvider<KotlinTestReport> = project.registerTask(name) { aggregate ->
aggregate.description = description
aggregate.group = JavaBasePlugin.VERIFICATION_GROUP
@@ -59,7 +59,7 @@ class SourceSetVisibilityTest {
checkSourceSetVisibilityRequirements(setOf(jvmTest), compilationsBySourceSets)
}.apply {
assertEquals(jvmTest, sourceSet)
assertEquals(emptySet(), visibleSourceSets)
assertEquals(emptyList(), visibleSourceSets)
assertEquals(setOf(jvmMain), requiredButNotVisible)
assertEquals(setOf(jvmTestCompilation), compilations)
}
@@ -68,7 +68,7 @@ class SourceSetVisibilityTest {
checkSourceSetVisibilityRequirements(setOf(commonTest), compilationsBySourceSets)
}.apply {
assertEquals(commonTest, sourceSet)
assertEquals(emptySet(), visibleSourceSets)
assertEquals(emptyList(), visibleSourceSets)
assertEquals(setOf(commonMain), requiredButNotVisible)
assertEquals(setOf(jvmTestCompilation), compilations)
}
@@ -185,7 +185,7 @@ class SourceSetVisibilityTest {
checkSourceSetVisibilityRequirements(setOf(commonTest), compilationsBySourceSets)
}.apply {
assertEquals(commonTest, this.sourceSet)
assertEquals(setOf(commonMain), visibleSourceSets)
assertEquals(listOf(commonMain), visibleSourceSets)
assertEquals(setOf(jvmMain), requiredButNotVisible)
assertEquals(setOf(jvmTestCompilation, jsTestCompilation), compilations)
}
@@ -288,7 +288,7 @@ class MockKotlinCompilation(
associateWith += other
}
override val associateWith: MutableSet<KotlinCompilation<*>> = mutableSetOf()
override val associateWith: MutableList<KotlinCompilation<*>> = mutableListOf()
override fun defaultSourceSet(configure: KotlinSourceSet.() -> Unit) = defaultSourceSet.run(configure)