diff --git a/.github/workflows/CODECOV.yml b/.github/workflows/CODECOV.yml new file mode 100644 index 0000000..08a5cc7 --- /dev/null +++ b/.github/workflows/CODECOV.yml @@ -0,0 +1,36 @@ +name: CODECOV +# https://docs.github.com/en/actions/learn-github-actions/expressions + +on: + push: + branches: [ main, 'release/**' ] + pull_request: + branches: [ main, 'release/**' ] + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +env: + CI: true + + JAVA_VERSION: 17 + JAVA_DISTRIBUTION: zulu + +jobs: + test: + timeout-minutes: 30 + runs-on: ubuntu-latest + steps: + - { uses: actions/checkout@v4 } + - { name: Use Node.js 20.x, uses: actions/setup-node@v4, with: { node-version: 20.x } } + - { name: Setup Deno, uses: denoland/setup-deno@v1, with: { deno-version: "1.44.4" } } + - { name: Replace gradle wrapper, run: "sed 's/-all/-bin/g' gradle/wrapper/gradle-wrapper.properties > gradle/wrapper/gradle-wrapper.properties.bak; cp gradle/wrapper/gradle-wrapper.properties.bak gradle/wrapper/gradle-wrapper.properties" } + - { name: Set up JDK, uses: actions/setup-java@v4, with: { distribution: "${{ env.JAVA_DISTRIBUTION }}", java-version: "${{ env.JAVA_VERSION }}" } } + - { name: Prepare Gradle, uses: gradle/actions/setup-gradle@d9c87d481d55275bb5441eef3fe0e46805f9ef70 } # https://github.com/gradle/actions/releases/tag/v3.5.0 + - { name: Start gradle, run: ./gradlew } + - { name: Code coverage, run: ./gradlew koverXmlReport } + - name: Upload coverage reports to Codecov + uses: codecov/codecov-action@v4.0.1 + with: + token: ${{ secrets.CODECOV_TOKEN }} \ No newline at end of file diff --git a/.github/workflows/TEST.yml b/.github/workflows/TEST.yml index 4e5caa9..56feda5 100644 --- a/.github/workflows/TEST.yml +++ b/.github/workflows/TEST.yml @@ -30,7 +30,7 @@ jobs: #- { outputKey: testJs, os: ubuntu-latest, testTask: "wasmBrowserTest", buildTasks: "jsNodeTest jsBrowserTest" } - { outputKey: testJs, os: ubuntu-latest, testTask: "wasmBrowserTest", buildTasks: "jsBrowserTest jsDenoTest" } - { outputKey: testAndroid, os: ubuntu-latest, enableAndroid: true } - - { outputKey: testJvmMacos, os: macos-latest, testTask: jvmTest } + - { outputKey: testJvmMacos, os: macos-latest, testTask: jvmTest apiCheck } - { outputKey: testJvmLinux, os: ubuntu-latest, testTask: jvmTest, precompileTask: compileTestKotlinJvm, enableKotlinNative: true, enableSandbox: true, e2e: true } - { outputKey: testJvmWindows, os: windows-latest, testTask: jvmTest, precompileTask: compileTestKotlinJvm } #if: ${{ needs.changes.outputs[matrix.outputKey] == 'true' }} diff --git a/build.gradle.kts b/build.gradle.kts index 6e98412..21a8186 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -17,6 +17,8 @@ import java.util.concurrent.* plugins { kotlin("multiplatform") version "2.0.0" id("com.android.library") version "8.2.2" + id("org.jetbrains.kotlinx.kover") version "0.8.3" apply false + id("org.jetbrains.kotlinx.binary-compatibility-validator") version "0.16.2" id("org.jetbrains.dokka") version "1.9.20" `maven-publish` signing @@ -971,10 +973,12 @@ class MicroAmper(val project: Project) { main = maybeCreate("${name}Main").also { it.kotlin.srcDirIfExists("src$atName") it.resources.srcDirIfExists("resources$atName") + it.kotlin.srcDir("build/generated/ksp/$name/${name}Main/kotlin") }, test = maybeCreate("${name}Test").also { it.kotlin.srcDirIfExists("test$atName") it.resources.srcDirIfExists("testResources$atName") + it.kotlin.srcDir("build/generated/ksp/$name/${name}Test/kotlin") } ) } @@ -988,6 +992,8 @@ class MicroAmper(val project: Project) { ssDependsOn("appleNonWatchos", "apple") ssDependsOn("appleIosTvos", "apple") + maybeCreate("commonMain").kotlin.srcDir("build/generated/ksp/metadata/commonMain/kotlin") + for (platform in kotlinPlatforms) { val isMacos = platform.startsWith("macos") val isIos = platform.startsWith("ios") @@ -1122,6 +1128,7 @@ allprojects { subprojects { plugins.apply("org.jetbrains.dokka") + plugins.apply("org.jetbrains.kotlinx.kover") } allprojects { @@ -1130,3 +1137,7 @@ allprojects { offlineMode.set(true) } } + +apiValidation { + ignoredProjects.addAll(listOf(rootProject.name)) +} diff --git a/korlibs-inject/api/android/korlibs-inject.api b/korlibs-inject/api/android/korlibs-inject.api new file mode 100644 index 0000000..6dbcd57 --- /dev/null +++ b/korlibs-inject/api/android/korlibs-inject.api @@ -0,0 +1,152 @@ +public final class korlibs/inject/AsyncInjectorJvmExtKt { + public static final fun jvmAutomapping (Lkorlibs/inject/Injector;)Lkorlibs/inject/Injector; + public static final fun jvmFallback (Lkorlibs/inject/Injector$Companion;Lkorlibs/inject/Injector;Lkotlin/reflect/KClass;Lkorlibs/inject/Injector$RequestContext;)Lkorlibs/inject/ObjectProvider; + public static final fun jvmRemoveMappingsByClassName (Lkorlibs/inject/Injector;Ljava/util/Set;)V +} + +public abstract interface annotation class korlibs/inject/FactoryClass : java/lang/annotation/Annotation { + public abstract fun clazz ()Ljava/lang/Class; +} + +public final class korlibs/inject/FactoryObjectProvider : korlibs/inject/ObjectProvider { + public fun (Lkotlin/jvm/functions/Function1;)V + public fun deinit ()V + public fun get (Lkorlibs/inject/Injector;)Ljava/lang/Object; + public final fun getGenerator ()Lkotlin/jvm/functions/Function1; + public fun toString ()Ljava/lang/String; +} + +public abstract interface class korlibs/inject/InjectedHandler { + public abstract fun injectedInto (Ljava/lang/Object;)V +} + +public final class korlibs/inject/Injector { + public static final field Companion Lkorlibs/inject/Injector$Companion; + public fun ()V + public fun (Lkorlibs/inject/Injector;I)V + public synthetic fun (Lkorlibs/inject/Injector;IILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun addDeinit (Lkorlibs/inject/InjectorDestructor;)V + public final fun child ()Lkorlibs/inject/Injector; + public final fun deinit ()V + public final fun dump ()V + public final fun get (Lkotlin/reflect/KClass;Lkorlibs/inject/Injector$RequestContext;)Ljava/lang/Object; + public static synthetic fun get$default (Lkorlibs/inject/Injector;Lkotlin/reflect/KClass;Lkorlibs/inject/Injector$RequestContext;ILjava/lang/Object;)Ljava/lang/Object; + public final fun getClassDefiner (Lkotlin/reflect/KClass;)Lkorlibs/inject/Injector; + public final fun getFallbackProvider ()Lkotlin/jvm/functions/Function2; + public final fun getLevel ()I + public final fun getNearestFallbackProvider ()Lkotlin/jvm/functions/Function2; + public final fun getOrNull (Lkotlin/reflect/KClass;Lkorlibs/inject/Injector$RequestContext;)Ljava/lang/Object; + public static synthetic fun getOrNull$default (Lkorlibs/inject/Injector;Lkotlin/reflect/KClass;Lkorlibs/inject/Injector$RequestContext;ILjava/lang/Object;)Ljava/lang/Object; + public final fun getParent ()Lkorlibs/inject/Injector; + public final fun getProvider (Lkotlin/reflect/KClass;Lkorlibs/inject/Injector$RequestContext;)Lkorlibs/inject/ObjectProvider; + public static synthetic fun getProvider$default (Lkorlibs/inject/Injector;Lkotlin/reflect/KClass;Lkorlibs/inject/Injector$RequestContext;ILjava/lang/Object;)Lkorlibs/inject/ObjectProvider; + public final fun getProviderOrNull (Lkotlin/reflect/KClass;Lkorlibs/inject/Injector$RequestContext;)Lkorlibs/inject/ObjectProvider; + public static synthetic fun getProviderOrNull$default (Lkorlibs/inject/Injector;Lkotlin/reflect/KClass;Lkorlibs/inject/Injector$RequestContext;ILjava/lang/Object;)Lkorlibs/inject/ObjectProvider; + public final fun getProvidersByClass ()Ljava/util/LinkedHashMap; + public final fun getRoot ()Lkorlibs/inject/Injector; + public final fun getWith (Lkotlin/reflect/KClass;[Ljava/lang/Object;)Ljava/lang/Object; + public final fun has (Lkotlin/reflect/KClass;)Z + public final fun mapFactory (Lkotlin/reflect/KClass;Lkotlin/jvm/functions/Function1;)Lkorlibs/inject/Injector; + public final fun mapInstance (Lkotlin/reflect/KClass;Ljava/lang/Object;)Lkorlibs/inject/Injector; + public final fun mapPrototype (Lkotlin/reflect/KClass;Lkotlin/jvm/functions/Function1;)Lkorlibs/inject/Injector; + public final fun mapSingleton (Lkotlin/reflect/KClass;Lkotlin/jvm/functions/Function1;)Lkorlibs/inject/Injector; + public final fun removeMapping (Lkotlin/reflect/KClass;)V + public final fun setFallbackProvider (Lkotlin/jvm/functions/Function2;)V + public fun toString ()Ljava/lang/String; +} + +public final class korlibs/inject/Injector$Companion { +} + +public final class korlibs/inject/Injector$NotMappedException : java/lang/RuntimeException { + public fun (Lkotlin/reflect/KClass;Lkotlin/reflect/KClass;Lkorlibs/inject/Injector$RequestContext;Ljava/lang/String;)V + public synthetic fun (Lkotlin/reflect/KClass;Lkotlin/reflect/KClass;Lkorlibs/inject/Injector$RequestContext;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun getClazz ()Lkotlin/reflect/KClass; + public final fun getCtx ()Lkorlibs/inject/Injector$RequestContext; + public final fun getMsg ()Ljava/lang/String; + public final fun getRequestedByClass ()Lkotlin/reflect/KClass; +} + +public final class korlibs/inject/Injector$RequestContext { + public fun (Lkotlin/reflect/KClass;)V + public final fun component1 ()Lkotlin/reflect/KClass; + public final fun copy (Lkotlin/reflect/KClass;)Lkorlibs/inject/Injector$RequestContext; + public static synthetic fun copy$default (Lkorlibs/inject/Injector$RequestContext;Lkotlin/reflect/KClass;ILjava/lang/Object;)Lkorlibs/inject/Injector$RequestContext; + public fun equals (Ljava/lang/Object;)Z + public final fun getInitialClazz ()Lkotlin/reflect/KClass; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class korlibs/inject/InjectorContext : kotlin/coroutines/CoroutineContext$Element { + public static final field Companion Lkorlibs/inject/InjectorContext$Companion; + public fun (Lkorlibs/inject/Injector;)V + public fun fold (Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; + public fun get (Lkotlin/coroutines/CoroutineContext$Key;)Lkotlin/coroutines/CoroutineContext$Element; + public final fun getInjector ()Lkorlibs/inject/Injector; + public fun getKey ()Lkorlibs/inject/InjectorContext$Companion; + public synthetic fun getKey ()Lkotlin/coroutines/CoroutineContext$Key; + public fun minusKey (Lkotlin/coroutines/CoroutineContext$Key;)Lkotlin/coroutines/CoroutineContext; + public fun plus (Lkotlin/coroutines/CoroutineContext;)Lkotlin/coroutines/CoroutineContext; +} + +public final class korlibs/inject/InjectorContext$Companion : kotlin/coroutines/CoroutineContext$Key { +} + +public final class korlibs/inject/InjectorCoroutineContextKt { + public static final fun injector (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun withInjector (Lkorlibs/inject/Injector;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public abstract interface class korlibs/inject/InjectorDependency { + public abstract fun init (Lkorlibs/inject/Injector;)V +} + +public abstract interface class korlibs/inject/InjectorDestructor { + public abstract fun deinit ()V +} + +public abstract interface class korlibs/inject/InjectorFactory { + public abstract fun create ()Ljava/lang/Object; +} + +public final class korlibs/inject/InstanceObjectProvider : korlibs/inject/ObjectProvider { + public fun (Ljava/lang/Object;)V + public fun deinit ()V + public fun get (Lkorlibs/inject/Injector;)Ljava/lang/Object; + public final fun getInstance ()Ljava/lang/Object; + public fun toString ()Ljava/lang/String; +} + +public abstract interface class korlibs/inject/ObjectProvider { + public abstract fun deinit ()V + public abstract fun get (Lkorlibs/inject/Injector;)Ljava/lang/Object; +} + +public abstract interface annotation class korlibs/inject/Optional : java/lang/annotation/Annotation { +} + +public abstract interface annotation class korlibs/inject/Prototype : java/lang/annotation/Annotation { +} + +public final class korlibs/inject/PrototypeObjectProvider : korlibs/inject/ObjectProvider { + public fun (Lkotlin/jvm/functions/Function1;)V + public fun deinit ()V + public fun get (Lkorlibs/inject/Injector;)Ljava/lang/Object; + public final fun getGenerator ()Lkotlin/jvm/functions/Function1; + public fun toString ()Ljava/lang/String; +} + +public abstract interface annotation class korlibs/inject/Singleton : java/lang/annotation/Annotation { +} + +public final class korlibs/inject/SingletonObjectProvider : korlibs/inject/ObjectProvider { + public fun (Lkotlin/jvm/functions/Function1;)V + public fun deinit ()V + public fun get (Lkorlibs/inject/Injector;)Ljava/lang/Object; + public final fun getGenerator ()Lkotlin/jvm/functions/Function1; + public final fun getValue ()Ljava/lang/Object; + public final fun setValue (Ljava/lang/Object;)V + public fun toString ()Ljava/lang/String; +} + diff --git a/korlibs-inject/api/jvm/korlibs-inject.api b/korlibs-inject/api/jvm/korlibs-inject.api new file mode 100644 index 0000000..6dbcd57 --- /dev/null +++ b/korlibs-inject/api/jvm/korlibs-inject.api @@ -0,0 +1,152 @@ +public final class korlibs/inject/AsyncInjectorJvmExtKt { + public static final fun jvmAutomapping (Lkorlibs/inject/Injector;)Lkorlibs/inject/Injector; + public static final fun jvmFallback (Lkorlibs/inject/Injector$Companion;Lkorlibs/inject/Injector;Lkotlin/reflect/KClass;Lkorlibs/inject/Injector$RequestContext;)Lkorlibs/inject/ObjectProvider; + public static final fun jvmRemoveMappingsByClassName (Lkorlibs/inject/Injector;Ljava/util/Set;)V +} + +public abstract interface annotation class korlibs/inject/FactoryClass : java/lang/annotation/Annotation { + public abstract fun clazz ()Ljava/lang/Class; +} + +public final class korlibs/inject/FactoryObjectProvider : korlibs/inject/ObjectProvider { + public fun (Lkotlin/jvm/functions/Function1;)V + public fun deinit ()V + public fun get (Lkorlibs/inject/Injector;)Ljava/lang/Object; + public final fun getGenerator ()Lkotlin/jvm/functions/Function1; + public fun toString ()Ljava/lang/String; +} + +public abstract interface class korlibs/inject/InjectedHandler { + public abstract fun injectedInto (Ljava/lang/Object;)V +} + +public final class korlibs/inject/Injector { + public static final field Companion Lkorlibs/inject/Injector$Companion; + public fun ()V + public fun (Lkorlibs/inject/Injector;I)V + public synthetic fun (Lkorlibs/inject/Injector;IILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun addDeinit (Lkorlibs/inject/InjectorDestructor;)V + public final fun child ()Lkorlibs/inject/Injector; + public final fun deinit ()V + public final fun dump ()V + public final fun get (Lkotlin/reflect/KClass;Lkorlibs/inject/Injector$RequestContext;)Ljava/lang/Object; + public static synthetic fun get$default (Lkorlibs/inject/Injector;Lkotlin/reflect/KClass;Lkorlibs/inject/Injector$RequestContext;ILjava/lang/Object;)Ljava/lang/Object; + public final fun getClassDefiner (Lkotlin/reflect/KClass;)Lkorlibs/inject/Injector; + public final fun getFallbackProvider ()Lkotlin/jvm/functions/Function2; + public final fun getLevel ()I + public final fun getNearestFallbackProvider ()Lkotlin/jvm/functions/Function2; + public final fun getOrNull (Lkotlin/reflect/KClass;Lkorlibs/inject/Injector$RequestContext;)Ljava/lang/Object; + public static synthetic fun getOrNull$default (Lkorlibs/inject/Injector;Lkotlin/reflect/KClass;Lkorlibs/inject/Injector$RequestContext;ILjava/lang/Object;)Ljava/lang/Object; + public final fun getParent ()Lkorlibs/inject/Injector; + public final fun getProvider (Lkotlin/reflect/KClass;Lkorlibs/inject/Injector$RequestContext;)Lkorlibs/inject/ObjectProvider; + public static synthetic fun getProvider$default (Lkorlibs/inject/Injector;Lkotlin/reflect/KClass;Lkorlibs/inject/Injector$RequestContext;ILjava/lang/Object;)Lkorlibs/inject/ObjectProvider; + public final fun getProviderOrNull (Lkotlin/reflect/KClass;Lkorlibs/inject/Injector$RequestContext;)Lkorlibs/inject/ObjectProvider; + public static synthetic fun getProviderOrNull$default (Lkorlibs/inject/Injector;Lkotlin/reflect/KClass;Lkorlibs/inject/Injector$RequestContext;ILjava/lang/Object;)Lkorlibs/inject/ObjectProvider; + public final fun getProvidersByClass ()Ljava/util/LinkedHashMap; + public final fun getRoot ()Lkorlibs/inject/Injector; + public final fun getWith (Lkotlin/reflect/KClass;[Ljava/lang/Object;)Ljava/lang/Object; + public final fun has (Lkotlin/reflect/KClass;)Z + public final fun mapFactory (Lkotlin/reflect/KClass;Lkotlin/jvm/functions/Function1;)Lkorlibs/inject/Injector; + public final fun mapInstance (Lkotlin/reflect/KClass;Ljava/lang/Object;)Lkorlibs/inject/Injector; + public final fun mapPrototype (Lkotlin/reflect/KClass;Lkotlin/jvm/functions/Function1;)Lkorlibs/inject/Injector; + public final fun mapSingleton (Lkotlin/reflect/KClass;Lkotlin/jvm/functions/Function1;)Lkorlibs/inject/Injector; + public final fun removeMapping (Lkotlin/reflect/KClass;)V + public final fun setFallbackProvider (Lkotlin/jvm/functions/Function2;)V + public fun toString ()Ljava/lang/String; +} + +public final class korlibs/inject/Injector$Companion { +} + +public final class korlibs/inject/Injector$NotMappedException : java/lang/RuntimeException { + public fun (Lkotlin/reflect/KClass;Lkotlin/reflect/KClass;Lkorlibs/inject/Injector$RequestContext;Ljava/lang/String;)V + public synthetic fun (Lkotlin/reflect/KClass;Lkotlin/reflect/KClass;Lkorlibs/inject/Injector$RequestContext;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun getClazz ()Lkotlin/reflect/KClass; + public final fun getCtx ()Lkorlibs/inject/Injector$RequestContext; + public final fun getMsg ()Ljava/lang/String; + public final fun getRequestedByClass ()Lkotlin/reflect/KClass; +} + +public final class korlibs/inject/Injector$RequestContext { + public fun (Lkotlin/reflect/KClass;)V + public final fun component1 ()Lkotlin/reflect/KClass; + public final fun copy (Lkotlin/reflect/KClass;)Lkorlibs/inject/Injector$RequestContext; + public static synthetic fun copy$default (Lkorlibs/inject/Injector$RequestContext;Lkotlin/reflect/KClass;ILjava/lang/Object;)Lkorlibs/inject/Injector$RequestContext; + public fun equals (Ljava/lang/Object;)Z + public final fun getInitialClazz ()Lkotlin/reflect/KClass; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class korlibs/inject/InjectorContext : kotlin/coroutines/CoroutineContext$Element { + public static final field Companion Lkorlibs/inject/InjectorContext$Companion; + public fun (Lkorlibs/inject/Injector;)V + public fun fold (Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; + public fun get (Lkotlin/coroutines/CoroutineContext$Key;)Lkotlin/coroutines/CoroutineContext$Element; + public final fun getInjector ()Lkorlibs/inject/Injector; + public fun getKey ()Lkorlibs/inject/InjectorContext$Companion; + public synthetic fun getKey ()Lkotlin/coroutines/CoroutineContext$Key; + public fun minusKey (Lkotlin/coroutines/CoroutineContext$Key;)Lkotlin/coroutines/CoroutineContext; + public fun plus (Lkotlin/coroutines/CoroutineContext;)Lkotlin/coroutines/CoroutineContext; +} + +public final class korlibs/inject/InjectorContext$Companion : kotlin/coroutines/CoroutineContext$Key { +} + +public final class korlibs/inject/InjectorCoroutineContextKt { + public static final fun injector (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun withInjector (Lkorlibs/inject/Injector;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public abstract interface class korlibs/inject/InjectorDependency { + public abstract fun init (Lkorlibs/inject/Injector;)V +} + +public abstract interface class korlibs/inject/InjectorDestructor { + public abstract fun deinit ()V +} + +public abstract interface class korlibs/inject/InjectorFactory { + public abstract fun create ()Ljava/lang/Object; +} + +public final class korlibs/inject/InstanceObjectProvider : korlibs/inject/ObjectProvider { + public fun (Ljava/lang/Object;)V + public fun deinit ()V + public fun get (Lkorlibs/inject/Injector;)Ljava/lang/Object; + public final fun getInstance ()Ljava/lang/Object; + public fun toString ()Ljava/lang/String; +} + +public abstract interface class korlibs/inject/ObjectProvider { + public abstract fun deinit ()V + public abstract fun get (Lkorlibs/inject/Injector;)Ljava/lang/Object; +} + +public abstract interface annotation class korlibs/inject/Optional : java/lang/annotation/Annotation { +} + +public abstract interface annotation class korlibs/inject/Prototype : java/lang/annotation/Annotation { +} + +public final class korlibs/inject/PrototypeObjectProvider : korlibs/inject/ObjectProvider { + public fun (Lkotlin/jvm/functions/Function1;)V + public fun deinit ()V + public fun get (Lkorlibs/inject/Injector;)Ljava/lang/Object; + public final fun getGenerator ()Lkotlin/jvm/functions/Function1; + public fun toString ()Ljava/lang/String; +} + +public abstract interface annotation class korlibs/inject/Singleton : java/lang/annotation/Annotation { +} + +public final class korlibs/inject/SingletonObjectProvider : korlibs/inject/ObjectProvider { + public fun (Lkotlin/jvm/functions/Function1;)V + public fun deinit ()V + public fun get (Lkorlibs/inject/Injector;)Ljava/lang/Object; + public final fun getGenerator ()Lkotlin/jvm/functions/Function1; + public final fun getValue ()Ljava/lang/Object; + public final fun setValue (Ljava/lang/Object;)V + public fun toString ()Ljava/lang/String; +} + diff --git a/settings.gradle.kts b/settings.gradle.kts index 8517311..e8e9bcd 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -7,14 +7,16 @@ pluginManagement { //maven("https://www.jetbrains.com/intellij-repository/releases") //maven("https://packages.jetbrains.team/maven/p/ij/intellij-dependencies") } -} -plugins { - //id("org.jetbrains.amper.settings.plugin").version("0.2.1-dev-470") - //id("org.jetbrains.amper.settings.plugin").version("0.2.2") - //id("org.jetbrains.amper.settings.plugin").version("0.2.3-dev-473") + plugins { + id("com.google.devtools.ksp") version "2.0.0-1.0.23" + //id("org.jetbrains.amper.settings.plugin").version("0.2.1-dev-470") + //id("org.jetbrains.amper.settings.plugin").version("0.2.2") + //id("org.jetbrains.amper.settings.plugin").version("0.2.3-dev-473") + } } + for (file in rootDir.listFiles()) { if (file.isDirectory() && File(file, "module.yaml").exists()) { include(":${file.name}")