From 37dce28a29b91806356639e7d7bdb41bdad58ef6 Mon Sep 17 00:00:00 2001 From: Kirill Shishin Date: Tue, 4 Jul 2023 14:47:20 +0300 Subject: [PATCH] Quick fix of ClassNotFoundException: kotlinx.collections.immutable.ExtensionsKt --- utbot-instrumentation/build.gradle.kts | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/utbot-instrumentation/build.gradle.kts b/utbot-instrumentation/build.gradle.kts index 931fdc857f..8d660d6237 100644 --- a/utbot-instrumentation/build.gradle.kts +++ b/utbot-instrumentation/build.gradle.kts @@ -94,6 +94,31 @@ tasks.shadowJar { archiveFileName.set("utbot-instrumentation-shadow.jar") } +// TODO get rid of this quick fix of ClassNotFoundException: kotlinx.collections.immutable.ExtensionsKt +// probably by fixing dependency versions in some gradle files +val compileClasspath = configurations.compileClasspath.get() + +tasks.jar { + duplicatesStrategy = DuplicatesStrategy.EXCLUDE + + manifest { + attributes( + "Main-Class" to "org.utbot.instrumentation.process.InstrumentedProcessMainKt", + "Premain-Class" to "org.utbot.instrumentation.agent.Agent", + ) + } + + // we need only classes from implementation and utbot to execute instrumented process + dependsOn(compileClasspath) + + from( + compileClasspath + .filter { it.isDirectory() || it.name.endsWith("jar") } + .map { if(it.isDirectory()) it else zipTree(it) } + ) +} +// end of quick fix of ClassNotFoundException: kotlinx.collections.immutable.ExtensionsKt + val instrumentationArchive: Configuration by configurations.creating { isCanBeResolved = false isCanBeConsumed = true