From 859ee911f2b6c44487bc8eb0ed0a91e8420222b5 Mon Sep 17 00:00:00 2001 From: Ankita Sharma Date: Fri, 6 Oct 2023 15:07:47 -0400 Subject: [PATCH 1/4] Added cache fixes --- workflow-testing/build.gradle.kts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/workflow-testing/build.gradle.kts b/workflow-testing/build.gradle.kts index c9dff653f..9651e7584 100644 --- a/workflow-testing/build.gradle.kts +++ b/workflow-testing/build.gradle.kts @@ -15,8 +15,7 @@ tasks.withType { val friendModule = project(":workflow-core") // Pointing to jar instead of classes dir since :workflow-core is a multiplatform project. - val jarPath = friendModule.configurations["jvmRuntimeElements"].artifacts.first().file.path - freeCompilerArgs += "-Xfriend-paths=$jarPath" + friendPaths.from(friendModule.configurations["jvmRuntimeElements"].artifacts.first().file) } } From 54129b5d89d48c1dcceeee7354ed9a1ccad5a69f Mon Sep 17 00:00:00 2001 From: Ankita Sharma Date: Fri, 6 Oct 2023 17:27:36 -0400 Subject: [PATCH 2/4] refactored method --- workflow-testing/build.gradle.kts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/workflow-testing/build.gradle.kts b/workflow-testing/build.gradle.kts index 9651e7584..a66762601 100644 --- a/workflow-testing/build.gradle.kts +++ b/workflow-testing/build.gradle.kts @@ -15,7 +15,11 @@ tasks.withType { val friendModule = project(":workflow-core") // Pointing to jar instead of classes dir since :workflow-core is a multiplatform project. - friendPaths.from(friendModule.configurations["jvmRuntimeElements"].artifacts.first().file) + friendPaths.from( + provider { + friendModule.configurations.getByName("jvmRuntimeElements").artifacts.first().file + } + ) } } From 0b5d0d407d90e9f6c45a955c84367fc6b485c459 Mon Sep 17 00:00:00 2001 From: Ankita Sharma Date: Tue, 10 Oct 2023 11:02:00 -0400 Subject: [PATCH 3/4] Added variant-aware sharing of artifacts between projects --- workflow-testing/build.gradle.kts | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/workflow-testing/build.gradle.kts b/workflow-testing/build.gradle.kts index a66762601..e26443aca 100644 --- a/workflow-testing/build.gradle.kts +++ b/workflow-testing/build.gradle.kts @@ -1,25 +1,35 @@ @file:Suppress("SuspiciousCollectionReassignment") +import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType + plugins { id("java-library") id("kotlin-jvm") id("published") } +val friendPathsConfiguration by configurations.creating { + isCanBeConsumed = false + isCanBeResolved = true + attributes { + attribute(Category.CATEGORY_ATTRIBUTE, objects.named(Category.LIBRARY)) + attribute(Usage.USAGE_ATTRIBUTE, objects.named(Usage.JAVA_RUNTIME)) + attribute(LibraryElements.LIBRARY_ELEMENTS_ATTRIBUTE, objects.named(LibraryElements.JAR)) + attribute( + TargetJvmEnvironment.TARGET_JVM_ENVIRONMENT_ATTRIBUTE, + objects.named(TargetJvmEnvironment.STANDARD_JVM) + ) + attribute(KotlinPlatformType.attribute, KotlinPlatformType.jvm) + } +} + tasks.withType { kotlinOptions { // Configure friend paths so the testing module can access internal declarations from the // following modules. Note that the IntelliJ Kotlin plugin won't be aware of this configuration // so it will still complain about internal accesses across modules, but they will actually // compile just fine. See https://youtrack.jetbrains.com/issue/KT-20760. - val friendModule = project(":workflow-core") - - // Pointing to jar instead of classes dir since :workflow-core is a multiplatform project. - friendPaths.from( - provider { - friendModule.configurations.getByName("jvmRuntimeElements").artifacts.first().file - } - ) + friendPaths.from(friendPathsConfiguration) } } @@ -27,7 +37,7 @@ dependencies { api(libs.kotlin.jdk7) api(libs.kotlinx.coroutines.test) - api(project(":workflow-core")) + friendPathsConfiguration(project(":workflow-core")) api(project(":workflow-runtime")) compileOnly(libs.jetbrains.annotations) @@ -41,4 +51,4 @@ dependencies { testImplementation(libs.kotlin.test.jdk) testImplementation(libs.mockito.kotlin) testImplementation(libs.mockk) -} +} \ No newline at end of file From 719d6f4ac2df3a5050b98dec24a25dd16053397e Mon Sep 17 00:00:00 2001 From: Ankita Sharma Date: Tue, 10 Oct 2023 12:24:19 -0400 Subject: [PATCH 4/4] Update build.gradle.kts --- workflow-testing/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow-testing/build.gradle.kts b/workflow-testing/build.gradle.kts index e26443aca..e58a2d575 100644 --- a/workflow-testing/build.gradle.kts +++ b/workflow-testing/build.gradle.kts @@ -51,4 +51,4 @@ dependencies { testImplementation(libs.kotlin.test.jdk) testImplementation(libs.mockito.kotlin) testImplementation(libs.mockk) -} \ No newline at end of file +}