diff --git a/build.gradle.kts b/build.gradle.kts index bead099c853..9145480248a 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -357,7 +357,14 @@ val ignoreTestFailures by extra(project.kotlinBuildProperties.ignoreTestFailures allprojects { - configurations.maybeCreate("embedded") + configurations.maybeCreate("embedded").apply { + isCanBeConsumed = false + isCanBeResolved = true + attributes { + attribute(Usage.USAGE_ATTRIBUTE, objects.named(Usage.JAVA_RUNTIME)) + attribute(LibraryElements.LIBRARY_ELEMENTS_ATTRIBUTE, objects.named(LibraryElements.JAR)) + } + } jvmTarget = defaultJvmTarget javaHome = defaultJavaHome diff --git a/js/js.tests/build.gradle.kts b/js/js.tests/build.gradle.kts index b06230ab29a..b6a89373704 100644 --- a/js/js.tests/build.gradle.kts +++ b/js/js.tests/build.gradle.kts @@ -2,6 +2,8 @@ import com.moowork.gradle.node.NodeExtension import com.moowork.gradle.node.npm.NpmTask import de.undercouch.gradle.tasks.download.Download import org.gradle.internal.os.OperatingSystem +import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType +import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinUsages plugins { kotlin("jvm") @@ -18,7 +20,8 @@ node { val antLauncherJar by configurations.creating val testJsRuntime by configurations.creating { attributes { - attribute(LibraryElements.LIBRARY_ELEMENTS_ATTRIBUTE, objects.named(LibraryElements.JAR)) + attribute(Usage.USAGE_ATTRIBUTE, objects.named(KotlinUsages.KOTLIN_RUNTIME)) + attribute(KotlinPlatformType.attribute, KotlinPlatformType.js) } } diff --git a/libraries/examples/kotlin-jsr223-daemon-local-eval-example/build.gradle.kts b/libraries/examples/kotlin-jsr223-daemon-local-eval-example/build.gradle.kts index 5b5926a1a25..c936d20af0b 100644 --- a/libraries/examples/kotlin-jsr223-daemon-local-eval-example/build.gradle.kts +++ b/libraries/examples/kotlin-jsr223-daemon-local-eval-example/build.gradle.kts @@ -11,7 +11,12 @@ pill { variant = PillExtension.Variant.FULL } -val compilerClasspath by configurations.creating +val compilerClasspath by configurations.creating { + attributes { + attribute(Usage.USAGE_ATTRIBUTE, objects.named(Usage.JAVA_RUNTIME)) + attribute(Category.CATEGORY_ATTRIBUTE, objects.named(Category.LIBRARY)) + } +} dependencies { testCompile(kotlinStdlib()) diff --git a/libraries/kotlin.test/js/it/build.gradle b/libraries/kotlin.test/js/it/build.gradle index eb4786eadd2..19a1775bd13 100644 --- a/libraries/kotlin.test/js/it/build.gradle +++ b/libraries/kotlin.test/js/it/build.gradle @@ -1,3 +1,6 @@ +import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType +import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinUsages + plugins { id "com.github.node-gradle.node" version "2.2.0" } @@ -8,9 +11,10 @@ apply plugin: 'kotlin-platform-js' configurations { nodeModules { - extendsFrom testCompile + extendsFrom compile attributes { - attribute(LibraryElements.LIBRARY_ELEMENTS_ATTRIBUTE, objects.named(LibraryElements, LibraryElements.JAR)) + attribute(Usage.USAGE_ATTRIBUTE, objects.named(Usage, KotlinUsages.KOTLIN_RUNTIME)) + attribute(KotlinPlatformType.attribute, KotlinPlatformType.js) } } } diff --git a/libraries/scripting/jsr223-test/build.gradle.kts b/libraries/scripting/jsr223-test/build.gradle.kts index 5ed4b6f89de..f76c059c928 100644 --- a/libraries/scripting/jsr223-test/build.gradle.kts +++ b/libraries/scripting/jsr223-test/build.gradle.kts @@ -5,7 +5,12 @@ plugins { jvmTarget = "1.6" -val embeddableTestRuntime by configurations.creating +val embeddableTestRuntime by configurations.creating { + attributes { + attribute(Usage.USAGE_ATTRIBUTE, objects.named(Usage.JAVA_RUNTIME)) + attribute(Category.CATEGORY_ATTRIBUTE, objects.named(Category.LIBRARY)) + } +} dependencies { testCompile(commonDep("junit")) diff --git a/libraries/tools/kotlin-main-kts/build.gradle.kts b/libraries/tools/kotlin-main-kts/build.gradle.kts index 2adad280b63..487c2f39a24 100644 --- a/libraries/tools/kotlin-main-kts/build.gradle.kts +++ b/libraries/tools/kotlin-main-kts/build.gradle.kts @@ -13,14 +13,11 @@ val jarBaseName = property("archivesBaseName") as String val proguardLibraryJars by configurations.creating { attributes { - attribute(Usage.USAGE_ATTRIBUTE, objects.named(Usage.JAVA_RUNTIME)) - } -} -val relocatedJarContents by configurations.creating { - attributes { - attribute(Usage.USAGE_ATTRIBUTE, objects.named(Usage.JAVA_RUNTIME)) + attribute(Usage.USAGE_ATTRIBUTE, objects.named(Usage.JAVA_API)) } } + +val relocatedJarContents by configurations.creating val embedded by configurations diff --git a/plugins/scripting/scripting-ide-services-test/build.gradle.kts b/plugins/scripting/scripting-ide-services-test/build.gradle.kts index 5d846be2cec..e589ee589a4 100644 --- a/plugins/scripting/scripting-ide-services-test/build.gradle.kts +++ b/plugins/scripting/scripting-ide-services-test/build.gradle.kts @@ -10,6 +10,10 @@ val testCompile by configurations testCompile.extendsFrom(allTestsRuntime) val embeddableTestRuntime by configurations.creating { extendsFrom(allTestsRuntime) + attributes { + attribute(Usage.USAGE_ATTRIBUTE, objects.named(Usage.JAVA_RUNTIME)) + attribute(Category.CATEGORY_ATTRIBUTE, objects.named(Category.LIBRARY)) + } } dependencies { diff --git a/prepare/compiler-client-embeddable/build.gradle.kts b/prepare/compiler-client-embeddable/build.gradle.kts index 6dc5892c406..babcff99610 100644 --- a/prepare/compiler-client-embeddable/build.gradle.kts +++ b/prepare/compiler-client-embeddable/build.gradle.kts @@ -4,7 +4,13 @@ plugins { kotlin("jvm") } -val testCompilerClasspath by configurations.creating +val testCompilerClasspath by configurations.creating { + attributes { + attribute(Usage.USAGE_ATTRIBUTE, objects.named(Usage.JAVA_RUNTIME)) + attribute(Category.CATEGORY_ATTRIBUTE, objects.named(Category.LIBRARY)) + } +} + val testCompilationClasspath by configurations.creating dependencies { diff --git a/prepare/compiler-embeddable/build.gradle.kts b/prepare/compiler-embeddable/build.gradle.kts index 25bcdd7fd5c..62fd559eb54 100644 --- a/prepare/compiler-embeddable/build.gradle.kts +++ b/prepare/compiler-embeddable/build.gradle.kts @@ -11,7 +11,7 @@ dependencies { runtimeOnly(kotlinStdlib()) runtimeOnly(project(":kotlin-script-runtime")) runtimeOnly(project(":kotlin-reflect")) - runtime(project(":kotlin-daemon-embeddable")) + runtimeOnly(project(":kotlin-daemon-embeddable")) runtimeOnly(commonDep("org.jetbrains.intellij.deps", "trove4j")) testCompile(commonDep("junit:junit")) testCompile(project(":kotlin-test:kotlin-test-junit")) diff --git a/prepare/compiler/build.gradle.kts b/prepare/compiler/build.gradle.kts index 6896e6280f1..304c3e51f60 100644 --- a/prepare/compiler/build.gradle.kts +++ b/prepare/compiler/build.gradle.kts @@ -40,9 +40,6 @@ val proguardLibraries by configurations.creating { // Libraries to copy to the lib directory val libraries by configurations.creating { exclude("org.jetbrains.kotlin", "kotlin-stdlib-common") - attributes { - attribute(LibraryElements.LIBRARY_ELEMENTS_ATTRIBUTE, objects.named(LibraryElements.JAR)) - } } val librariesStripVersion by configurations.creating diff --git a/prepare/idea-plugin/build.gradle.kts b/prepare/idea-plugin/build.gradle.kts index b82e7eadc26..189cf745c4e 100644 --- a/prepare/idea-plugin/build.gradle.kts +++ b/prepare/idea-plugin/build.gradle.kts @@ -142,7 +142,11 @@ val libraries by configurations.creating { exclude("org.jetbrains.intellij.deps", "trove4j") // Idea already has trove4j } -val jpsPlugin by configurations.creating +val jpsPlugin by configurations.creating { + attributes { + attribute(LibraryElements.LIBRARY_ELEMENTS_ATTRIBUTE, objects.named(LibraryElements.JAR)) + } +} configurations.all { resolutionStrategy { diff --git a/prepare/kotlin-daemon-embeddable/build.gradle.kts b/prepare/kotlin-daemon-embeddable/build.gradle.kts index 2d4f982988c..d4a201c303b 100644 --- a/prepare/kotlin-daemon-embeddable/build.gradle.kts +++ b/prepare/kotlin-daemon-embeddable/build.gradle.kts @@ -1,28 +1,16 @@ - -import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar -import org.gradle.jvm.tasks.Jar - description = "Kotlin Daemon (for using with embeddable compiler)" plugins { `java` } -val packedJars by configurations.creating - dependencies { - packedJars(project(":kotlin-daemon")) { isTransitive = false } + embedded(project(":kotlin-daemon")) { isTransitive = false } } publish() -noDefaultJar() - -runtimeJar(rewriteDepsToShadedCompiler( - tasks.register("shadowJar") { - from(packedJars) - } -)) +runtimeJar(rewriteDefaultJarDepsToShadedCompiler()) sourcesJar() javadocJar()