diff --git a/build.gradle.kts b/build.gradle.kts index d44130937cc..74323ef6c14 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,3 +1,8 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinCompile +import org.jmailen.gradle.kotlinter.KotlinterPlugin +import org.jmailen.gradle.kotlinter.tasks.FormatTask +import org.jmailen.gradle.kotlinter.tasks.LintTask + plugins { kotlin("jvm") version "1.8.20" apply false id("org.jetbrains.dokka") version "1.8.10" apply false @@ -11,8 +16,31 @@ allprojects { version = "0.13.0-SNAPSHOT" } -subprojects { +allprojects { repositories { mavenCentral() } + + tasks.withType { + sourceCompatibility = "1.8" + targetCompatibility = "1.8" + } + + tasks.withType { + kotlinOptions.jvmTarget = "1.8" + } + + plugins.withType { + val formatBuildscripts = tasks.register("formatBuildscripts") { + group = "verification" + source(layout.projectDirectory.asFileTree.matching { include("**.kts") }) + } + tasks.named("formatKotlin") { dependsOn(formatBuildscripts) } + + val lintBuildscripts = tasks.register("lintBuildscripts") { + group = "verification" + source(layout.projectDirectory.asFileTree.matching { include("**.kts") }) + } + tasks.named("lintKotlin") { dependsOn(lintBuildscripts) } + } } diff --git a/kotlin-power-assert-gradle/build.gradle.kts b/kotlin-power-assert-gradle/build.gradle.kts index d2b7219103d..dea7e9a7063 100644 --- a/kotlin-power-assert-gradle/build.gradle.kts +++ b/kotlin-power-assert-gradle/build.gradle.kts @@ -1,7 +1,3 @@ -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile -import org.jmailen.gradle.kotlinter.tasks.FormatTask -import org.jmailen.gradle.kotlinter.tasks.LintTask - plugins { id("java-gradle-plugin") kotlin("jvm") @@ -36,14 +32,6 @@ gradlePlugin { } } } -tasks.withType { - sourceCompatibility = "1.8" - targetCompatibility = "1.8" -} - -tasks.withType { - kotlinOptions.jvmTarget = "1.8" -} tasks.named("publish") { dependsOn("publishPlugins") @@ -57,14 +45,3 @@ publishing { } } } -tasks.register("formatBuildscripts") { - group = "verification" - source(layout.projectDirectory.asFileTree.matching { include("**.kts") }) -} -tasks.register("lintBuildscripts") { - group = "verification" - source(layout.projectDirectory.asFileTree.matching { include("**.kts") }) -} - -tasks.named("lintKotlin") { dependsOn("lintBuildscripts") } -tasks.named("formatKotlin") { dependsOn("formatBuildscripts") } diff --git a/kotlin-power-assert-plugin/build.gradle.kts b/kotlin-power-assert-plugin/build.gradle.kts index 1e0ae65339b..fc7bc5aea47 100644 --- a/kotlin-power-assert-plugin/build.gradle.kts +++ b/kotlin-power-assert-plugin/build.gradle.kts @@ -1,6 +1,4 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile -import org.jmailen.gradle.kotlinter.tasks.FormatTask -import org.jmailen.gradle.kotlinter.tasks.LintTask plugins { kotlin("jvm") @@ -25,12 +23,9 @@ dependencies { } tasks.withType { - kotlinOptions.jvmTarget = "1.8" - kotlinOptions.freeCompilerArgs = listOf("-opt-in=org.jetbrains.kotlin.backend.common.extensions.FirIncompatiblePluginAPI", "-opt-in=org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi") -} -tasks.withType { - sourceCompatibility = "1.8" - targetCompatibility = "1.8" + kotlinOptions.freeCompilerArgs += listOf( + "-opt-in=org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi", + ) } tasks.withType { @@ -117,14 +112,3 @@ publishing { } } } -tasks.register("formatBuildscripts") { - group = "verification" - source(layout.projectDirectory.asFileTree.matching { include("**.kts") }) -} -tasks.register("lintBuildscripts") { - group = "verification" - source(layout.projectDirectory.asFileTree.matching { include("**.kts") }) -} - -tasks.named("lintKotlin") { dependsOn("lintBuildscripts") } -tasks.named("formatKotlin") { dependsOn("formatBuildscripts") } diff --git a/kotlin-power-assert-plugin/src/main/kotlin/com/bnorm/power/PowerAssertCallTransformer.kt b/kotlin-power-assert-plugin/src/main/kotlin/com/bnorm/power/PowerAssertCallTransformer.kt index 27c06d546cb..58e20cbb87d 100644 --- a/kotlin-power-assert-plugin/src/main/kotlin/com/bnorm/power/PowerAssertCallTransformer.kt +++ b/kotlin-power-assert-plugin/src/main/kotlin/com/bnorm/power/PowerAssertCallTransformer.kt @@ -30,6 +30,7 @@ import com.bnorm.power.diagram.irDiagramString import org.jetbrains.kotlin.backend.common.IrElementTransformerVoidWithContext import org.jetbrains.kotlin.backend.common.extensions.IrPluginContext import org.jetbrains.kotlin.backend.common.lower.DeclarationIrBuilder +import org.jetbrains.kotlin.backend.jvm.ir.parentClassId import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity import org.jetbrains.kotlin.cli.common.messages.MessageCollector import org.jetbrains.kotlin.ir.IrElement @@ -37,6 +38,7 @@ import org.jetbrains.kotlin.ir.backend.js.utils.asString import org.jetbrains.kotlin.ir.builders.irCall import org.jetbrains.kotlin.ir.builders.irString import org.jetbrains.kotlin.ir.builders.parent +import org.jetbrains.kotlin.ir.declarations.IrClass import org.jetbrains.kotlin.ir.declarations.IrFunction import org.jetbrains.kotlin.ir.declarations.IrValueParameter import org.jetbrains.kotlin.ir.expressions.IrCall @@ -57,11 +59,14 @@ import org.jetbrains.kotlin.ir.types.classifierOrNull import org.jetbrains.kotlin.ir.types.isBoolean import org.jetbrains.kotlin.ir.types.isSubtypeOf import org.jetbrains.kotlin.ir.types.isSubtypeOfClass +import org.jetbrains.kotlin.ir.util.classId import org.jetbrains.kotlin.ir.util.deepCopyWithSymbols import org.jetbrains.kotlin.ir.util.functions +import org.jetbrains.kotlin.ir.util.isFileClass import org.jetbrains.kotlin.ir.util.isFunctionOrKFunction import org.jetbrains.kotlin.ir.util.kotlinFqName -import org.jetbrains.kotlin.ir.util.parentClassOrNull +import org.jetbrains.kotlin.name.CallableId +import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.FqName class PowerAssertCallTransformer( @@ -215,13 +220,13 @@ class PowerAssertCallTransformer( // Java static functions require searching by class val parentClassFunctions = ( - function.parentClassOrNull - ?.let { context.referenceClass(it.kotlinFqName) } + function.parentClassId + ?.let { context.referenceClass(it) } ?.functions ?: emptySequence() ) .filter { it.owner.kotlinFqName == function.kotlinFqName } .toList() - val possible = (context.referenceFunctions(function.kotlinFqName) + parentClassFunctions) + val possible = (context.referenceFunctions(function.callableId) + parentClassFunctions) .distinct() return possible.mapNotNull { overload -> @@ -256,7 +261,7 @@ class PowerAssertCallTransformer( type.isFunctionOrKFunction() && type is IrSimpleType && (type.arguments.size == 1 && isStringSupertype(type.arguments.first())) private fun isStringJavaSupplierFunction(type: IrType): Boolean { - val javaSupplier = context.referenceClass(FqName("java.util.function.Supplier")) + val javaSupplier = context.referenceClass(ClassId.topLevel(FqName("java.util.function.Supplier"))) return javaSupplier != null && type.isSubtypeOfClass(javaSupplier) && type is IrSimpleType && (type.arguments.size == 1 && isStringSupertype(type.arguments.first())) } @@ -289,3 +294,14 @@ class PowerAssertCallTransformer( report(severity, message, sourceFile.getCompilerMessageLocation(expression)) } } + +val IrFunction.callableId: CallableId + get() { + val parentClass = parent as? IrClass + val classId = parentClass?.classId + return if (classId != null && !parentClass.isFileClass) { + CallableId(classId, name) + } else { + CallableId(parent.kotlinFqName, name) + } + } diff --git a/kotlin-power-assert-plugin/src/main/kotlin/com/bnorm/power/PowerAssertComponentRegistrar.kt b/kotlin-power-assert-plugin/src/main/kotlin/com/bnorm/power/PowerAssertCompilerPluginRegistrar.kt similarity index 76% rename from kotlin-power-assert-plugin/src/main/kotlin/com/bnorm/power/PowerAssertComponentRegistrar.kt rename to kotlin-power-assert-plugin/src/main/kotlin/com/bnorm/power/PowerAssertCompilerPluginRegistrar.kt index 1001a840c79..50148950958 100644 --- a/kotlin-power-assert-plugin/src/main/kotlin/com/bnorm/power/PowerAssertComponentRegistrar.kt +++ b/kotlin-power-assert-plugin/src/main/kotlin/com/bnorm/power/PowerAssertCompilerPluginRegistrar.kt @@ -20,29 +20,27 @@ import com.google.auto.service.AutoService import org.jetbrains.kotlin.backend.common.extensions.IrGenerationExtension import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys import org.jetbrains.kotlin.cli.common.messages.MessageCollector -import org.jetbrains.kotlin.com.intellij.mock.MockProject -import org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar +import org.jetbrains.kotlin.compiler.plugin.CompilerPluginRegistrar import org.jetbrains.kotlin.config.CompilerConfiguration import org.jetbrains.kotlin.config.CompilerConfigurationKey import org.jetbrains.kotlin.name.FqName val KEY_FUNCTIONS = CompilerConfigurationKey>("fully-qualified function names") -@AutoService(ComponentRegistrar::class) -class PowerAssertComponentRegistrar( +@AutoService(CompilerPluginRegistrar::class) +class PowerAssertCompilerPluginRegistrar( private val functions: Set, -) : ComponentRegistrar { +) : CompilerPluginRegistrar() { @Suppress("unused") constructor() : this(emptySet()) // Used by service loader - override fun registerProjectComponents( - project: MockProject, - configuration: CompilerConfiguration, - ) { + override val supportsK2: Boolean = true + + override fun ExtensionStorage.registerExtensions(configuration: CompilerConfiguration) { val functions = configuration[KEY_FUNCTIONS]?.map { FqName(it) } ?: functions if (functions.isEmpty()) return val messageCollector = configuration.get(CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY, MessageCollector.NONE) - IrGenerationExtension.registerExtension(project, PowerAssertIrGenerationExtension(messageCollector, functions.toSet())) + IrGenerationExtension.registerExtension(PowerAssertIrGenerationExtension(messageCollector, functions.toSet())) } } diff --git a/kotlin-power-assert-plugin/src/test/kotlin/com/bnorm/power/AssertTest.kt b/kotlin-power-assert-plugin/src/test/kotlin/com/bnorm/power/AssertTest.kt index 076e4af961e..5ceb29eab92 100644 --- a/kotlin-power-assert-plugin/src/test/kotlin/com/bnorm/power/AssertTest.kt +++ b/kotlin-power-assert-plugin/src/test/kotlin/com/bnorm/power/AssertTest.kt @@ -369,7 +369,7 @@ assertTrue(1 == 2, message = "${"$"}text, the world is broken") | false """.trimIndent(), - PowerAssertComponentRegistrar(setOf(FqName("kotlin.test.assertTrue"))), + PowerAssertCompilerPluginRegistrar(setOf(FqName("kotlin.test.assertTrue"))), ) } @@ -386,7 +386,7 @@ require(1 == 2) { "the world is broken" } | false """.trimIndent(), - PowerAssertComponentRegistrar(setOf(FqName("kotlin.require"))), + PowerAssertCompilerPluginRegistrar(setOf(FqName("kotlin.require"))), ) } @@ -403,7 +403,7 @@ check(1 == 2) { "the world is broken" } | false """.trimIndent(), - PowerAssertComponentRegistrar(setOf(FqName("kotlin.check"))), + PowerAssertCompilerPluginRegistrar(setOf(FqName("kotlin.check"))), ) } diff --git a/kotlin-power-assert-plugin/src/test/kotlin/com/bnorm/power/Compiler.kt b/kotlin-power-assert-plugin/src/test/kotlin/com/bnorm/power/Compiler.kt index 3f4b9fd460c..87ff9433ea5 100644 --- a/kotlin-power-assert-plugin/src/test/kotlin/com/bnorm/power/Compiler.kt +++ b/kotlin-power-assert-plugin/src/test/kotlin/com/bnorm/power/Compiler.kt @@ -19,24 +19,23 @@ package com.bnorm.power import com.tschuchort.compiletesting.KotlinCompilation import com.tschuchort.compiletesting.SourceFile import org.intellij.lang.annotations.Language -import org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar +import org.jetbrains.kotlin.compiler.plugin.CompilerPluginRegistrar import org.jetbrains.kotlin.name.FqName import java.io.OutputStream import java.lang.reflect.InvocationTargetException import kotlin.test.assertEquals import kotlin.test.fail -private val DEFAULT_COMPONENT_REGISTRARS = arrayOf( - PowerAssertComponentRegistrar(setOf(FqName("kotlin.assert"))), +private val DEFAULT_COMPILER_PLUGIN_REGISTRARS = arrayOf( + PowerAssertCompilerPluginRegistrar(setOf(FqName("kotlin.assert"))), ) fun compile( list: List, - vararg componentRegistrars: ComponentRegistrar = DEFAULT_COMPONENT_REGISTRARS, + vararg compilerPluginRegistrars: CompilerPluginRegistrar = DEFAULT_COMPILER_PLUGIN_REGISTRARS, ): KotlinCompilation.Result { return KotlinCompilation().apply { sources = list - useIR = true messageOutputStream = object : OutputStream() { override fun write(b: Int) { // black hole all writes @@ -46,18 +45,18 @@ fun compile( // black hole all writes } } - this.componentRegistrars = componentRegistrars.toList() + this.compilerPluginRegistrars = compilerPluginRegistrars.toList() inheritClassPath = true }.compile() } fun executeAssertion( @Language("kotlin") source: String, - vararg plugins: ComponentRegistrar = DEFAULT_COMPONENT_REGISTRARS, + vararg compilerPluginRegistrars: CompilerPluginRegistrar = DEFAULT_COMPILER_PLUGIN_REGISTRARS, ): String { val result = compile( listOf(SourceFile.kotlin("main.kt", source, trimIndent = false)), - *plugins, + *compilerPluginRegistrars, ) assertEquals(KotlinCompilation.ExitCode.OK, result.exitCode, result.messages) @@ -86,8 +85,8 @@ fun main() { fun assertMessage( @Language("kotlin") source: String, message: String, - vararg plugins: ComponentRegistrar = DEFAULT_COMPONENT_REGISTRARS, + vararg compilerPluginRegistrars: CompilerPluginRegistrar = DEFAULT_COMPILER_PLUGIN_REGISTRARS, ) { - val actual = executeAssertion(source, *plugins) + val actual = executeAssertion(source, *compilerPluginRegistrars) assertEquals(message, actual) } diff --git a/kotlin-power-assert-plugin/src/test/kotlin/com/bnorm/power/DebugFunctionTest.kt b/kotlin-power-assert-plugin/src/test/kotlin/com/bnorm/power/DebugFunctionTest.kt index c6b2906938c..cc4ca96b46e 100644 --- a/kotlin-power-assert-plugin/src/test/kotlin/com/bnorm/power/DebugFunctionTest.kt +++ b/kotlin-power-assert-plugin/src/test/kotlin/com/bnorm/power/DebugFunctionTest.kt @@ -82,7 +82,7 @@ fun main() { trimIndent = false, ) - val result = compile(listOf(file), PowerAssertComponentRegistrar(setOf(FqName("dbg")))) + val result = compile(listOf(file), PowerAssertCompilerPluginRegistrar(setOf(FqName("dbg")))) assertEquals(KotlinCompilation.ExitCode.OK, result.exitCode) val kClazz = result.classLoader.loadClass("MainKt") diff --git a/kotlin-power-assert-plugin/src/test/kotlin/com/bnorm/power/InfixFunctionTest.kt b/kotlin-power-assert-plugin/src/test/kotlin/com/bnorm/power/InfixFunctionTest.kt index bee9cdb3bd8..26368fb8511 100644 --- a/kotlin-power-assert-plugin/src/test/kotlin/com/bnorm/power/InfixFunctionTest.kt +++ b/kotlin-power-assert-plugin/src/test/kotlin/com/bnorm/power/InfixFunctionTest.kt @@ -350,7 +350,7 @@ class InfixFunctionTest { } private fun run(file: SourceFile, fqNames: Set, main: String = "MainKt"): String { - val result = compile(listOf(file), PowerAssertComponentRegistrar(fqNames)) + val result = compile(listOf(file), PowerAssertCompilerPluginRegistrar(fqNames)) assertEquals(KotlinCompilation.ExitCode.OK, result.exitCode, "Failed with messages: " + result.messages) val kClazz = result.classLoader.loadClass(main) diff --git a/kotlin-power-assert-plugin/src/test/kotlin/com/bnorm/power/Junit5AssertionsTest.kt b/kotlin-power-assert-plugin/src/test/kotlin/com/bnorm/power/Junit5AssertionsTest.kt index c6d6707ae3f..d2c25a6b124 100644 --- a/kotlin-power-assert-plugin/src/test/kotlin/com/bnorm/power/Junit5AssertionsTest.kt +++ b/kotlin-power-assert-plugin/src/test/kotlin/com/bnorm/power/Junit5AssertionsTest.kt @@ -35,7 +35,7 @@ class Junit5AssertionsTest { | false ==> expected: but was: """.trimIndent(), - PowerAssertComponentRegistrar(setOf(FqName("org.junit.jupiter.api.Assertions.assertTrue"))), + PowerAssertCompilerPluginRegistrar(setOf(FqName("org.junit.jupiter.api.Assertions.assertTrue"))), ) } @@ -54,7 +54,7 @@ class Junit5AssertionsTest { | false ==> expected: but was: """.trimIndent(), - PowerAssertComponentRegistrar(setOf(FqName("org.junit.jupiter.api.Assertions.assertTrue"))), + PowerAssertCompilerPluginRegistrar(setOf(FqName("org.junit.jupiter.api.Assertions.assertTrue"))), ) } @@ -74,7 +74,7 @@ class Junit5AssertionsTest { | false ==> expected: but was: """.trimIndent(), - PowerAssertComponentRegistrar(setOf(FqName("org.junit.jupiter.api.Assertions.assertTrue"))), + PowerAssertCompilerPluginRegistrar(setOf(FqName("org.junit.jupiter.api.Assertions.assertTrue"))), ) } @@ -93,7 +93,7 @@ class Junit5AssertionsTest { | false ==> expected: but was: """.trimIndent(), - PowerAssertComponentRegistrar(setOf(FqName("org.junit.jupiter.api.Assertions.assertTrue"))), + PowerAssertCompilerPluginRegistrar(setOf(FqName("org.junit.jupiter.api.Assertions.assertTrue"))), ) } @@ -114,7 +114,7 @@ class Junit5AssertionsTest { | false ==> expected: but was: """.trimIndent(), - PowerAssertComponentRegistrar(setOf(FqName("org.junit.jupiter.api.Assertions.assertTrue"))), + PowerAssertCompilerPluginRegistrar(setOf(FqName("org.junit.jupiter.api.Assertions.assertTrue"))), ) } @@ -133,7 +133,7 @@ class Junit5AssertionsTest { | true ==> expected: but was: """.trimIndent(), - PowerAssertComponentRegistrar(setOf(FqName("org.junit.jupiter.api.Assertions.assertFalse"))), + PowerAssertCompilerPluginRegistrar(setOf(FqName("org.junit.jupiter.api.Assertions.assertFalse"))), ) } @@ -152,7 +152,7 @@ class Junit5AssertionsTest { | true ==> expected: but was: """.trimIndent(), - PowerAssertComponentRegistrar(setOf(FqName("org.junit.jupiter.api.Assertions.assertFalse"))), + PowerAssertCompilerPluginRegistrar(setOf(FqName("org.junit.jupiter.api.Assertions.assertFalse"))), ) } @@ -172,7 +172,7 @@ class Junit5AssertionsTest { | true ==> expected: but was: """.trimIndent(), - PowerAssertComponentRegistrar(setOf(FqName("org.junit.jupiter.api.Assertions.assertFalse"))), + PowerAssertCompilerPluginRegistrar(setOf(FqName("org.junit.jupiter.api.Assertions.assertFalse"))), ) } @@ -191,7 +191,7 @@ class Junit5AssertionsTest { | true ==> expected: but was: """.trimIndent(), - PowerAssertComponentRegistrar(setOf(FqName("org.junit.jupiter.api.Assertions.assertFalse"))), + PowerAssertCompilerPluginRegistrar(setOf(FqName("org.junit.jupiter.api.Assertions.assertFalse"))), ) } @@ -212,7 +212,7 @@ class Junit5AssertionsTest { | true ==> expected: but was: """.trimIndent(), - PowerAssertComponentRegistrar(setOf(FqName("org.junit.jupiter.api.Assertions.assertFalse"))), + PowerAssertCompilerPluginRegistrar(setOf(FqName("org.junit.jupiter.api.Assertions.assertFalse"))), ) } @@ -233,7 +233,7 @@ class Junit5AssertionsTest { | World Hello ==> expected: but was: """.trimIndent(), - PowerAssertComponentRegistrar(setOf(FqName("org.junit.jupiter.api.Assertions.assertEquals"))), + PowerAssertCompilerPluginRegistrar(setOf(FqName("org.junit.jupiter.api.Assertions.assertEquals"))), ) } @@ -255,7 +255,7 @@ class Junit5AssertionsTest { | World Hello ==> expected: but was: """.trimIndent(), - PowerAssertComponentRegistrar(setOf(FqName("org.junit.jupiter.api.Assertions.assertEquals"))), + PowerAssertCompilerPluginRegistrar(setOf(FqName("org.junit.jupiter.api.Assertions.assertEquals"))), ) } @@ -278,7 +278,7 @@ class Junit5AssertionsTest { | World Hello ==> expected: but was: """.trimIndent(), - PowerAssertComponentRegistrar(setOf(FqName("org.junit.jupiter.api.Assertions.assertEquals"))), + PowerAssertCompilerPluginRegistrar(setOf(FqName("org.junit.jupiter.api.Assertions.assertEquals"))), ) } @@ -300,7 +300,7 @@ class Junit5AssertionsTest { | World Hello ==> expected: but was: """.trimIndent(), - PowerAssertComponentRegistrar(setOf(FqName("org.junit.jupiter.api.Assertions.assertEquals"))), + PowerAssertCompilerPluginRegistrar(setOf(FqName("org.junit.jupiter.api.Assertions.assertEquals"))), ) } @@ -324,7 +324,7 @@ class Junit5AssertionsTest { | World Hello ==> expected: but was: """.trimIndent(), - PowerAssertComponentRegistrar(setOf(FqName("org.junit.jupiter.api.Assertions.assertEquals"))), + PowerAssertCompilerPluginRegistrar(setOf(FqName("org.junit.jupiter.api.Assertions.assertEquals"))), ) } } diff --git a/kotlin-power-assert-plugin/src/test/kotlin/com/bnorm/power/KotlinTestAssertTest.kt b/kotlin-power-assert-plugin/src/test/kotlin/com/bnorm/power/KotlinTestAssertTest.kt index a306cc69457..7aaa9133f5d 100644 --- a/kotlin-power-assert-plugin/src/test/kotlin/com/bnorm/power/KotlinTestAssertTest.kt +++ b/kotlin-power-assert-plugin/src/test/kotlin/com/bnorm/power/KotlinTestAssertTest.kt @@ -35,7 +35,7 @@ class KotlinTestAssertTest { | false """.trimIndent(), - PowerAssertComponentRegistrar(setOf(FqName("kotlin.test.assertTrue"))), + PowerAssertCompilerPluginRegistrar(setOf(FqName("kotlin.test.assertTrue"))), ) } @@ -54,7 +54,7 @@ class KotlinTestAssertTest { | false """.trimIndent(), - PowerAssertComponentRegistrar(setOf(FqName("kotlin.test.assertTrue"))), + PowerAssertCompilerPluginRegistrar(setOf(FqName("kotlin.test.assertTrue"))), ) } @@ -74,7 +74,7 @@ class KotlinTestAssertTest { | false """.trimIndent(), - PowerAssertComponentRegistrar(setOf(FqName("kotlin.test.assertTrue"))), + PowerAssertCompilerPluginRegistrar(setOf(FqName("kotlin.test.assertTrue"))), ) } @@ -93,7 +93,7 @@ class KotlinTestAssertTest { | true """.trimIndent(), - PowerAssertComponentRegistrar(setOf(FqName("kotlin.test.assertFalse"))), + PowerAssertCompilerPluginRegistrar(setOf(FqName("kotlin.test.assertFalse"))), ) } @@ -112,7 +112,7 @@ class KotlinTestAssertTest { | true """.trimIndent(), - PowerAssertComponentRegistrar(setOf(FqName("kotlin.test.assertFalse"))), + PowerAssertCompilerPluginRegistrar(setOf(FqName("kotlin.test.assertFalse"))), ) } @@ -132,7 +132,7 @@ class KotlinTestAssertTest { | true """.trimIndent(), - PowerAssertComponentRegistrar(setOf(FqName("kotlin.test.assertFalse"))), + PowerAssertCompilerPluginRegistrar(setOf(FqName("kotlin.test.assertFalse"))), ) } @@ -153,7 +153,7 @@ class KotlinTestAssertTest { | World Hello ==> expected: but was: """.trimIndent(), - PowerAssertComponentRegistrar(setOf(FqName("kotlin.test.assertEquals"))), + PowerAssertCompilerPluginRegistrar(setOf(FqName("kotlin.test.assertEquals"))), ) } @@ -175,7 +175,7 @@ class KotlinTestAssertTest { | World Hello ==> expected: but was: """.trimIndent(), - PowerAssertComponentRegistrar(setOf(FqName("kotlin.test.assertEquals"))), + PowerAssertCompilerPluginRegistrar(setOf(FqName("kotlin.test.assertEquals"))), ) } @@ -198,7 +198,7 @@ class KotlinTestAssertTest { | World Hello ==> expected: but was: """.trimIndent(), - PowerAssertComponentRegistrar(setOf(FqName("kotlin.test.assertEquals"))), + PowerAssertCompilerPluginRegistrar(setOf(FqName("kotlin.test.assertEquals"))), ) } @@ -217,7 +217,7 @@ class KotlinTestAssertTest { | null ==> expected: not """.trimIndent(), - PowerAssertComponentRegistrar(setOf(FqName("kotlin.test.assertNotNull"))), + PowerAssertCompilerPluginRegistrar(setOf(FqName("kotlin.test.assertNotNull"))), ) } @@ -237,7 +237,7 @@ class KotlinTestAssertTest { | null ==> expected: not """.trimIndent(), - PowerAssertComponentRegistrar(setOf(FqName("kotlin.test.assertNotNull"))), + PowerAssertCompilerPluginRegistrar(setOf(FqName("kotlin.test.assertNotNull"))), ) } @@ -258,7 +258,7 @@ class KotlinTestAssertTest { | null ==> expected: not """.trimIndent(), - PowerAssertComponentRegistrar(setOf(FqName("kotlin.test.assertNotNull"))), + PowerAssertCompilerPluginRegistrar(setOf(FqName("kotlin.test.assertNotNull"))), ) } } diff --git a/kotlin-power-assert-plugin/src/test/kotlin/com/bnorm/power/LamdaTest.kt b/kotlin-power-assert-plugin/src/test/kotlin/com/bnorm/power/LamdaTest.kt index 060da7a2940..242936891a4 100644 --- a/kotlin-power-assert-plugin/src/test/kotlin/com/bnorm/power/LamdaTest.kt +++ b/kotlin-power-assert-plugin/src/test/kotlin/com/bnorm/power/LamdaTest.kt @@ -65,7 +65,7 @@ class LamdaTest { false ) """.trimIndent(), - PowerAssertComponentRegistrar(setOf(FqName("kotlin.require"))), + PowerAssertCompilerPluginRegistrar(setOf(FqName("kotlin.require"))), ) } } diff --git a/kotlin-power-assert-plugin/src/test/kotlin/com/bnorm/power/MultiParameterFunctionTest.kt b/kotlin-power-assert-plugin/src/test/kotlin/com/bnorm/power/MultiParameterFunctionTest.kt index e447920bf9c..fab5a9c86e8 100644 --- a/kotlin-power-assert-plugin/src/test/kotlin/com/bnorm/power/MultiParameterFunctionTest.kt +++ b/kotlin-power-assert-plugin/src/test/kotlin/com/bnorm/power/MultiParameterFunctionTest.kt @@ -148,7 +148,7 @@ fun main() { trimIndent = false, ) - val result = compile(listOf(file), PowerAssertComponentRegistrar(setOf(FqName("dbg")))) + val result = compile(listOf(file), PowerAssertCompilerPluginRegistrar(setOf(FqName("dbg")))) assertEquals(KotlinCompilation.ExitCode.OK, result.exitCode) val kClazz = result.classLoader.loadClass("MainKt") diff --git a/sample/build.gradle.kts b/sample/build.gradle.kts index 97866da6259..3ee19f1fd64 100644 --- a/sample/build.gradle.kts +++ b/sample/build.gradle.kts @@ -1,5 +1,5 @@ plugins { - kotlin("multiplatform") version "1.7.0" + kotlin("multiplatform") version "1.8.20" id("com.bnorm.power.kotlin-power-assert") version "0.12.1" } @@ -51,6 +51,13 @@ kotlin { dependsOn(commonTest) } } + + // TODO Kotlin/JS loses class information at the IR level -> Soft-assertion doesn't work + // targets.all { + // compilations.all { + // kotlinOptions.languageVersion = "2.0" + // } + // } } tasks.withType { diff --git a/sample/gradle/wrapper/gradle-wrapper.properties b/sample/gradle/wrapper/gradle-wrapper.properties index 508322917bd..bdc9a83b1e6 100644 --- a/sample/gradle/wrapper/gradle-wrapper.properties +++ b/sample/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.2-bin.zip networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists