diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/build.gradle b/libraries/tools/kotlin-gradle-plugin-integration-tests/build.gradle index 5f8d759e7d2..094dbd5763f 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/build.gradle +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/build.gradle @@ -55,7 +55,7 @@ test.dependsOn(":kotlin-allopen:install", ":examples:annotation-processor-example:install", ":kotlin-scripting-common:install", ":kotlin-scripting-jvm:install", - ":kotlin-scripting-gradle:install") + ":kotlin-scripting-compiler-embeddable:install") // Validate that all dependencies 'install' tasks are added to 'test' dependencies diff --git a/libraries/tools/kotlin-gradle-plugin/build.gradle b/libraries/tools/kotlin-gradle-plugin/build.gradle index 31eca71d757..f46d44a713d 100644 --- a/libraries/tools/kotlin-gradle-plugin/build.gradle +++ b/libraries/tools/kotlin-gradle-plugin/build.gradle @@ -56,16 +56,12 @@ dependencies { extension = 'jar' } } - compileOnly project(':kotlin-scripting-gradle') runtime project(path: ':kotlin-compiler-embeddable', configuration: "runtimeJar") runtime project(path: ':kotlin-annotation-processing-gradle', configuration: "runtimeJar") runtime project(path: ':kotlin-android-extensions', configuration: 'runtimeJar') runtime project(path: ':kotlin-compiler-runner', configuration: 'runtimeJar') runtime project(':kotlin-reflect') - runtime project(':kotlin-scripting-common') - runtime project(':kotlin-scripting-compiler') - runtime project(path: ':kotlin-scripting-gradle', configuration: 'runtimeJar') // com.android.tools.build:gradle has ~50 unneeded transitive dependencies agp25CompileOnly('com.android.tools.build:gradle:3.0.0-alpha1') { transitive = false } @@ -155,5 +151,9 @@ pluginBundle { id = 'org.jetbrains.kotlin.kapt' description = displayName = 'Kotlin Kapt plugin' } + kotlinScriptingPlugin { + id = 'org.jetbrains.kotlin.plugin.scripting' + description = displayName = 'Gradle plugin for kotlin scripting' + } } } \ No newline at end of file diff --git a/plugins/scripting/scripting-gradle/src/org/jetbrains/kotlin/scripting/gradle/ScriptingExtension.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/scripting/ScriptingExtension.kt similarity index 92% rename from plugins/scripting/scripting-gradle/src/org/jetbrains/kotlin/scripting/gradle/ScriptingExtension.kt rename to libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/scripting/ScriptingExtension.kt index 2dc5d02515a..ad1d0d791bd 100644 --- a/plugins/scripting/scripting-gradle/src/org/jetbrains/kotlin/scripting/gradle/ScriptingExtension.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/scripting/ScriptingExtension.kt @@ -1,9 +1,9 @@ /* - * Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license + * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license * that can be found in the license/LICENSE.txt file. */ -package org.jetbrains.kotlin.scripting.gradle +package org.jetbrains.kotlin.gradle.scripting open class ScriptingExtension { internal val myScriptDefinitions = mutableListOf() diff --git a/plugins/scripting/scripting-gradle/src/org/jetbrains/kotlin/scripting/gradle/ScriptingGradleSubplugin.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/scripting/internal/ScriptingGradleSubplugin.kt similarity index 87% rename from plugins/scripting/scripting-gradle/src/org/jetbrains/kotlin/scripting/gradle/ScriptingGradleSubplugin.kt rename to libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/scripting/internal/ScriptingGradleSubplugin.kt index 7264e4c9022..1af52fa5e3b 100644 --- a/plugins/scripting/scripting-gradle/src/org/jetbrains/kotlin/scripting/gradle/ScriptingGradleSubplugin.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/scripting/internal/ScriptingGradleSubplugin.kt @@ -1,9 +1,9 @@ /* - * Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license + * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license * that can be found in the license/LICENSE.txt file. */ -package org.jetbrains.kotlin.scripting.gradle +package org.jetbrains.kotlin.gradle.scripting.internal import org.gradle.api.Plugin import org.gradle.api.Project @@ -13,9 +13,9 @@ import org.jetbrains.kotlin.gradle.plugin.JetBrainsSubpluginArtifact import org.jetbrains.kotlin.gradle.plugin.KotlinGradleSubplugin import org.jetbrains.kotlin.gradle.plugin.SubpluginArtifact import org.jetbrains.kotlin.gradle.plugin.SubpluginOption +import org.jetbrains.kotlin.gradle.scripting.ScriptingExtension -class ScriptingGradleSubplugin : Plugin -{ +class ScriptingGradleSubplugin : Plugin { companion object { fun isEnabled(project: Project) = project.plugins.findPlugin(ScriptingGradleSubplugin::class.java) != null } @@ -25,7 +25,7 @@ class ScriptingGradleSubplugin : Plugin class ScriptingKotlinGradleSubplugin : KotlinGradleSubplugin { companion object { - const val SCRIPTING_ARTIFACT_NAME = "kotlin-scripting" + const val SCRIPTING_ARTIFACT_NAME = "kotlin-scripting-compiler-embeddable" val SCRIPT_DEFINITIONS_OPTION = "script-definitions" val SCRIPT_DEFINITIONS_CLASSPATH_OPTION = "script-definitions-classpath" @@ -33,7 +33,8 @@ class ScriptingKotlinGradleSubplugin : KotlinGradleSubplugin { val LEGACY_SCRIPT_RESOLVER_ENVIRONMENT_OPTION = "script-resolver-environment" } - override fun isApplicable(project: Project, task: AbstractCompile) = ScriptingGradleSubplugin.isEnabled(project) + override fun isApplicable(project: Project, task: AbstractCompile) = + ScriptingGradleSubplugin.isEnabled(project) override fun apply( project: Project, diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/kotlin-scripting.properties b/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/kotlin-scripting.properties new file mode 100644 index 00000000000..82bc3b14d8e --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/kotlin-scripting.properties @@ -0,0 +1 @@ +implementation-class=org.jetbrains.kotlin.gradle.scripting.internal.ScriptingGradleSubplugin \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.kotlin.plugin.scripting.properties b/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.kotlin.plugin.scripting.properties new file mode 100644 index 00000000000..82bc3b14d8e --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/org.jetbrains.kotlin.plugin.scripting.properties @@ -0,0 +1 @@ +implementation-class=org.jetbrains.kotlin.gradle.scripting.internal.ScriptingGradleSubplugin \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/services/org.jetbrains.kotlin.gradle.plugin.KotlinGradleSubplugin b/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/services/org.jetbrains.kotlin.gradle.plugin.KotlinGradleSubplugin index 9291a3aa382..e6839bb85cc 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/services/org.jetbrains.kotlin.gradle.plugin.KotlinGradleSubplugin +++ b/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/services/org.jetbrains.kotlin.gradle.plugin.KotlinGradleSubplugin @@ -1,2 +1,3 @@ org.jetbrains.kotlin.gradle.internal.AndroidSubplugin -org.jetbrains.kotlin.gradle.internal.Kapt3KotlinGradleSubplugin \ No newline at end of file +org.jetbrains.kotlin.gradle.internal.Kapt3KotlinGradleSubplugin +org.jetbrains.kotlin.gradle.scripting.internal.ScriptingKotlinGradleSubplugin \ No newline at end of file diff --git a/plugins/scripting/scripting-embeddable/build.gradle.kts b/plugins/scripting/scripting-embeddable/build.gradle.kts new file mode 100644 index 00000000000..3ed91969c2b --- /dev/null +++ b/plugins/scripting/scripting-embeddable/build.gradle.kts @@ -0,0 +1,24 @@ +import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar +import org.jetbrains.kotlin.pill.PillExtension.Variant + +plugins { java } + +description = "Kotlin Scripting Compiler Plugin for embeddable compiler" + +val packedJars by configurations.creating +dependencies { + packedJars(project(":kotlin-scripting-compiler")) { isTransitive = false } + packedJars(project(":kotlin-scripting-common")) { isTransitive = false } + packedJars(project(":kotlin-scripting-misc")) { isTransitive = false } + packedJars(project(":kotlin-scripting-jvm")) { isTransitive = false } +} + +noDefaultJar() +runtimeJar(rewriteDepsToShadedCompiler( + task("shadowJar") { + from(packedJars) + } +)) +sourcesJar() +javadocJar() +publish() diff --git a/plugins/scripting/scripting-gradle/build.gradle.kts b/plugins/scripting/scripting-gradle/build.gradle.kts deleted file mode 100644 index 20de4ca9ebb..00000000000 --- a/plugins/scripting/scripting-gradle/build.gradle.kts +++ /dev/null @@ -1,63 +0,0 @@ -import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar -import org.jetbrains.kotlin.pill.PillExtension.Variant - -description = "Kotlin Scripting Compiler Plugin for Gradle" - -plugins { - kotlin("jvm") - id("com.gradle.plugin-publish") - `java-gradle-plugin` - id("jps-compatible") -} - -pill { - variant = Variant.FULL -} - -val packedJars by configurations.creating - -dependencies { - compile(project(":kotlin-gradle-plugin-api")) - compileOnly(project(":kotlin-scripting-compiler")) - packedJars(project(":kotlin-scripting-compiler")) { isTransitive = false } - runtime(project(":kotlin-scripting-common")) - runtime(project(":kotlin-scripting-jvm")) - runtime(project(":kotlin-scripting-misc")) -} - -sourceSets { - "main" { projectDefault() } - "test" { projectDefault() } -} - -val jar: Jar by tasks -jar.apply { - classifier = "base" -} - -runtimeJar(rewriteDepsToShadedCompiler( - task("shadowJar") { - from(packedJars) - from(the().sourceSets.getByName("main").output) - } -)) -sourcesJar() -javadocJar() - -val gradlePluginId = "org.jetbrains.kotlin.plugin.scripting" - -pluginBundle { - (plugins) { - gradlePluginId { - id = gradlePluginId - displayName = "Gradle plugin for kotlin scripting" - description = displayName - } - } -} - -publish() - -projectTest { - workingDir = rootDir -} diff --git a/plugins/scripting/scripting-gradle/plugin-marker/build.gradle b/plugins/scripting/scripting-gradle/plugin-marker/build.gradle deleted file mode 100644 index 1f04f9e6d6a..00000000000 --- a/plugins/scripting/scripting-gradle/plugin-marker/build.gradle +++ /dev/null @@ -1,3 +0,0 @@ -apply from: "$rootDir/libraries/tools/gradle-tools/pluginMarkers.gradle" - -pluginMarkerProject('kotlin-scripting-gradle') diff --git a/plugins/scripting/scripting-gradle/resources/META-INF/gradle-plugins/kotlin-scripting.properties b/plugins/scripting/scripting-gradle/resources/META-INF/gradle-plugins/kotlin-scripting.properties deleted file mode 100644 index 75dc0c2b3e1..00000000000 --- a/plugins/scripting/scripting-gradle/resources/META-INF/gradle-plugins/kotlin-scripting.properties +++ /dev/null @@ -1 +0,0 @@ -implementation-class=org.jetbrains.kotlin.scripting.gradle.ScriptingGradleSubplugin \ No newline at end of file diff --git a/plugins/scripting/scripting-gradle/resources/META-INF/gradle-plugins/org.jetbrains.kotlin.plugin.scripting.properties b/plugins/scripting/scripting-gradle/resources/META-INF/gradle-plugins/org.jetbrains.kotlin.plugin.scripting.properties deleted file mode 100644 index 75dc0c2b3e1..00000000000 --- a/plugins/scripting/scripting-gradle/resources/META-INF/gradle-plugins/org.jetbrains.kotlin.plugin.scripting.properties +++ /dev/null @@ -1 +0,0 @@ -implementation-class=org.jetbrains.kotlin.scripting.gradle.ScriptingGradleSubplugin \ No newline at end of file diff --git a/plugins/scripting/scripting-gradle/resources/META-INF/services/org.jetbrains.kotlin.gradle.plugin.KotlinGradleSubplugin b/plugins/scripting/scripting-gradle/resources/META-INF/services/org.jetbrains.kotlin.gradle.plugin.KotlinGradleSubplugin deleted file mode 100644 index eb5d7cc87c4..00000000000 --- a/plugins/scripting/scripting-gradle/resources/META-INF/services/org.jetbrains.kotlin.gradle.plugin.KotlinGradleSubplugin +++ /dev/null @@ -1 +0,0 @@ -org.jetbrains.kotlin.scripting.gradle.ScriptingKotlinGradleSubplugin diff --git a/settings.gradle b/settings.gradle index 0eb96e96a57..6fdeb4e437c 100644 --- a/settings.gradle +++ b/settings.gradle @@ -160,7 +160,7 @@ include ":kotlin-build-common", ":kotlin-scripting-jvm-host", ":kotlin-scripting-compiler", ":kotlin-scripting-idea", - ":kotlin-scripting-gradle", + ":kotlin-scripting-compiler-embeddable", ":examples:scripting-jvm-simple-script", ":examples:scripting-jvm-simple-script-host", ":examples:scripting-jvm-maven-deps", @@ -172,7 +172,6 @@ include ":kotlin-build-common", ':kotlin-gradle-plugin:plugin-marker', ':kotlin-allopen:plugin-marker', ':kotlin-noarg:plugin-marker', - ':kotlin-scripting-gradle:plugin-marker', ":test-instrumenter" def isTeamcityBuild = hasProperty("teamcity") || System.getenv("TEAMCITY_VERSION") != null @@ -267,8 +266,8 @@ project(':kotlin-scripting-misc').projectDir = "$rootDir/libraries/scripting/mis project(':kotlin-scripting-jvm').projectDir = "$rootDir/libraries/scripting/jvm" as File project(':kotlin-scripting-jvm-host').projectDir = "$rootDir/libraries/scripting/jvm-host" as File project(':kotlin-scripting-compiler').projectDir = "$rootDir/plugins/scripting/scripting-cli" as File +project(':kotlin-scripting-compiler-embeddable').projectDir = "$rootDir/plugins/scripting/scripting-embeddable" as File project(':kotlin-scripting-idea').projectDir = "$rootDir/plugins/scripting/scripting-idea" as File -project(':kotlin-scripting-gradle').projectDir = "$rootDir/plugins/scripting/scripting-gradle" as File project(':examples:scripting-jvm-simple-script').projectDir = "$rootDir/libraries/examples/scripting/jvm-simple-script/script" as File project(':examples:scripting-jvm-simple-script-host').projectDir = "$rootDir/libraries/examples/scripting/jvm-simple-script/host" as File project(':examples:scripting-jvm-maven-deps').projectDir = "$rootDir/libraries/examples/scripting/jvm-maven-deps/script" as File @@ -280,5 +279,3 @@ project(':kotlin-imports-dumper-compiler-plugin').projectDir = "$rootDir/plugins project(':kotlin-gradle-plugin:plugin-marker').projectDir = file("$rootDir/libraries/tools/kotlin-gradle-plugin/plugin-marker") project(':kotlin-allopen:plugin-marker').projectDir = file("$rootDir/libraries/tools/kotlin-allopen/plugin-marker") project(':kotlin-noarg:plugin-marker').projectDir = file("$rootDir/libraries/tools/kotlin-noarg/plugin-marker") -project(':kotlin-scripting-gradle:plugin-marker').projectDir = file("$rootDir/plugins/scripting/scripting-gradle/plugin-marker") -