diff --git a/gradle/project-schema.json b/gradle/project-schema.json index ff00d4eefb4..66b294048ac 100644 --- a/gradle/project-schema.json +++ b/gradle/project-schema.json @@ -67,6 +67,7 @@ "implementation", "kapt", "kaptTest", + "packIntoJar", "runtime", "runtimeClasspath", "runtimeElements", @@ -536,6 +537,47 @@ "reporting": "org.gradle.api.reporting.ReportingExtension" } }, + ":kotlin-android-extensions-runtime": { + "conventions": { + "base": "org.gradle.api.plugins.BasePluginConvention", + "java": "org.gradle.api.plugins.JavaPluginConvention", + "maven": "org.gradle.api.plugins.MavenPluginConvention" + }, + "configurations": [ + "apiElements", + "archives", + "buildVersion", + "classes-dirs", + "compile", + "compileClasspath", + "compileOnly", + "default", + "implementation", + "kapt", + "kaptTest", + "runtime", + "runtimeClasspath", + "runtimeElements", + "runtimeJar", + "runtimeOnly", + "signatures", + "testCompile", + "testCompileClasspath", + "testCompileOnly", + "testImplementation", + "testRuntime", + "testRuntimeClasspath", + "testRuntimeOnly" + ], + "extensions": { + "ext": "org.gradle.api.plugins.ExtraPropertiesExtension", + "kotlin": "org.jetbrains.kotlin.gradle.dsl.KotlinProjectExtension", + "kapt": "org.jetbrains.kotlin.gradle.plugin.KaptExtension", + "defaultArtifacts": "org.gradle.api.internal.plugins.DefaultArtifactPublicationSet", + "reporting": "org.gradle.api.reporting.ReportingExtension", + "signing": "org.gradle.plugins.signing.SigningExtension" + } + }, ":kotlin-annotation-processing": { "conventions": { "base": "org.gradle.api.plugins.BasePluginConvention", @@ -699,16 +741,32 @@ "maven": "org.gradle.api.plugins.MavenPluginConvention" }, "configurations": [ + "apiElements", "archives", + "compile", + "compileClasspath", + "compileOnly", "compilerJar", "default", "distJar", "fatJar", "fatJarContents", "fatSourcesJarContents", + "implementation", "proguardLibraryJars", + "runtime", + "runtimeClasspath", + "runtimeElements", "runtimeJar", - "signatures" + "runtimeOnly", + "signatures", + "testCompile", + "testCompileClasspath", + "testCompileOnly", + "testImplementation", + "testRuntime", + "testRuntimeClasspath", + "testRuntimeOnly" ], "extensions": { "ext": "org.gradle.api.plugins.ExtraPropertiesExtension", @@ -764,26 +822,45 @@ ":kotlin-compiler-embeddable": { "conventions": { "base": "org.gradle.api.plugins.BasePluginConvention", + "java": "org.gradle.api.plugins.JavaPluginConvention", "maven": "org.gradle.api.plugins.MavenPluginConvention" }, "configurations": [ + "apiElements", "archives", "buildVersion", + "compile", + "compileClasspath", + "compileOnly", "compilerJar", "default", + "implementation", + "runtime", + "runtimeClasspath", + "runtimeElements", "runtimeJar", - "signatures" + "runtimeOnly", + "signatures", + "testCompile", + "testCompileClasspath", + "testCompileOnly", + "testImplementation", + "testRuntime", + "testRuntimeClasspath", + "testRuntimeOnly" ], "extensions": { "ext": "org.gradle.api.plugins.ExtraPropertiesExtension", "defaultArtifacts": "org.gradle.api.internal.plugins.DefaultArtifactPublicationSet", + "reporting": "org.gradle.api.reporting.ReportingExtension", "signing": "org.gradle.plugins.signing.SigningExtension" } }, ":kotlin-daemon-client": { "conventions": { "base": "org.gradle.api.plugins.BasePluginConvention", - "java": "org.gradle.api.plugins.JavaPluginConvention" + "java": "org.gradle.api.plugins.JavaPluginConvention", + "maven": "org.gradle.api.plugins.MavenPluginConvention" }, "configurations": [ "apiElements", @@ -802,6 +879,7 @@ "runtimeElements", "runtimeJar", "runtimeOnly", + "signatures", "testCompile", "testCompileClasspath", "testCompileOnly", @@ -815,7 +893,8 @@ "kotlin": "org.jetbrains.kotlin.gradle.dsl.KotlinProjectExtension", "kapt": "org.jetbrains.kotlin.gradle.plugin.KaptExtension", "defaultArtifacts": "org.gradle.api.internal.plugins.DefaultArtifactPublicationSet", - "reporting": "org.gradle.api.reporting.ReportingExtension" + "reporting": "org.gradle.api.reporting.ReportingExtension", + "signing": "org.gradle.plugins.signing.SigningExtension" } }, ":kotlin-gradle-plugin": { @@ -3416,6 +3495,111 @@ "reporting": "org.gradle.api.reporting.ReportingExtension" } }, + ":kotlin-allopen:plugin-marker": { + "conventions": { + "base": "org.gradle.api.plugins.BasePluginConvention", + "java": "org.gradle.api.plugins.JavaPluginConvention", + "maven": "org.gradle.api.plugins.MavenPluginConvention" + }, + "configurations": [ + "apiElements", + "archives", + "compile", + "compileClasspath", + "compileOnly", + "default", + "distJar", + "implementation", + "runtime", + "runtimeClasspath", + "runtimeElements", + "runtimeOnly", + "signatures", + "testCompile", + "testCompileClasspath", + "testCompileOnly", + "testImplementation", + "testRuntime", + "testRuntimeClasspath", + "testRuntimeOnly" + ], + "extensions": { + "ext": "org.gradle.api.plugins.ExtraPropertiesExtension", + "defaultArtifacts": "org.gradle.api.internal.plugins.DefaultArtifactPublicationSet", + "reporting": "org.gradle.api.reporting.ReportingExtension", + "signing": "org.gradle.plugins.signing.SigningExtension" + } + }, + ":kotlin-gradle-plugin:plugin-marker": { + "conventions": { + "base": "org.gradle.api.plugins.BasePluginConvention", + "java": "org.gradle.api.plugins.JavaPluginConvention", + "maven": "org.gradle.api.plugins.MavenPluginConvention" + }, + "configurations": [ + "apiElements", + "archives", + "compile", + "compileClasspath", + "compileOnly", + "default", + "distJar", + "implementation", + "runtime", + "runtimeClasspath", + "runtimeElements", + "runtimeOnly", + "signatures", + "testCompile", + "testCompileClasspath", + "testCompileOnly", + "testImplementation", + "testRuntime", + "testRuntimeClasspath", + "testRuntimeOnly" + ], + "extensions": { + "ext": "org.gradle.api.plugins.ExtraPropertiesExtension", + "defaultArtifacts": "org.gradle.api.internal.plugins.DefaultArtifactPublicationSet", + "reporting": "org.gradle.api.reporting.ReportingExtension", + "signing": "org.gradle.plugins.signing.SigningExtension" + } + }, + ":kotlin-noarg:plugin-marker": { + "conventions": { + "base": "org.gradle.api.plugins.BasePluginConvention", + "java": "org.gradle.api.plugins.JavaPluginConvention", + "maven": "org.gradle.api.plugins.MavenPluginConvention" + }, + "configurations": [ + "apiElements", + "archives", + "compile", + "compileClasspath", + "compileOnly", + "default", + "distJar", + "implementation", + "runtime", + "runtimeClasspath", + "runtimeElements", + "runtimeOnly", + "signatures", + "testCompile", + "testCompileClasspath", + "testCompileOnly", + "testImplementation", + "testRuntime", + "testRuntimeClasspath", + "testRuntimeOnly" + ], + "extensions": { + "ext": "org.gradle.api.plugins.ExtraPropertiesExtension", + "defaultArtifacts": "org.gradle.api.internal.plugins.DefaultArtifactPublicationSet", + "reporting": "org.gradle.api.reporting.ReportingExtension", + "signing": "org.gradle.plugins.signing.SigningExtension" + } + }, ":kotlin-stdlib:samples": { "conventions": { "base": "org.gradle.api.plugins.BasePluginConvention", diff --git a/libraries/tools/kotlin-allopen/build.gradle b/libraries/tools/kotlin-allopen/build.gradle index f1d81ff8e1b..0e6118705bf 100644 --- a/libraries/tools/kotlin-allopen/build.gradle +++ b/libraries/tools/kotlin-allopen/build.gradle @@ -36,6 +36,11 @@ jar { from(originalSrc) { include("META-INF/**") } } +artifacts { + archives sourcesJar + archives javadocJar +} + pluginBundle { plugins { kotlinAllopenPlugin { diff --git a/libraries/tools/kotlin-gradle-plugin-api/build.gradle b/libraries/tools/kotlin-gradle-plugin-api/build.gradle index db1ee4dd74b..ea2b0e3f7ff 100644 --- a/libraries/tools/kotlin-gradle-plugin-api/build.gradle +++ b/libraries/tools/kotlin-gradle-plugin-api/build.gradle @@ -14,4 +14,9 @@ dependencies { compileOnly 'org.jetbrains.kotlin:gradle-api:1.6' compileOnly 'com.android.tools.build:gradle:0.4.2' +} + +artifacts { + archives sourcesJar + archives javadocJar } \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin/build.gradle b/libraries/tools/kotlin-gradle-plugin/build.gradle index 930a0446c20..65739cc2c5a 100644 --- a/libraries/tools/kotlin-gradle-plugin/build.gradle +++ b/libraries/tools/kotlin-gradle-plugin/build.gradle @@ -84,6 +84,11 @@ jar { from sourceSets.agp25.output.classesDir } +artifacts { + archives sourcesJar + archives javadocJar +} + test.executable = "${JDK_18}/bin/java" dokka { diff --git a/libraries/tools/kotlin-noarg/build.gradle b/libraries/tools/kotlin-noarg/build.gradle index 6399baea270..c31986b0cca 100644 --- a/libraries/tools/kotlin-noarg/build.gradle +++ b/libraries/tools/kotlin-noarg/build.gradle @@ -42,6 +42,11 @@ jar { from(originalSrc) { include("META-INF/**") } } +artifacts { + archives sourcesJar + archives javadocJar +} + pluginBundle { plugins { kotlinNoargPlugin { diff --git a/libraries/tools/kotlin-reflect/build.gradle b/libraries/tools/kotlin-reflect/build.gradle index 0c8f1457f2a..fbe988d4fdd 100644 --- a/libraries/tools/kotlin-reflect/build.gradle +++ b/libraries/tools/kotlin-reflect/build.gradle @@ -19,7 +19,7 @@ configureJvm6Project(project) configurePublishing(project) -def core = "${rootDir}//core" +def core = "${rootDir}/core" def annotationsSrc = "${buildDir}/annotations" def relocatedCoreSrc = "${buildDir}/core-relocated" diff --git a/libraries/tools/kotlin-sam-with-receiver/build.gradle b/libraries/tools/kotlin-sam-with-receiver/build.gradle index 67fd5a46fb8..54eeb2aef76 100644 --- a/libraries/tools/kotlin-sam-with-receiver/build.gradle +++ b/libraries/tools/kotlin-sam-with-receiver/build.gradle @@ -40,4 +40,9 @@ def originalSrc = "$kotlin_root/plugins/sam-with-receiver/sam-with-receiver-cli/ jar { from(originalSrc) { include("META-INF/**") } -} \ No newline at end of file +} + +artifacts { + archives sourcesJar + archives javadocJar +} diff --git a/plugins/android-extensions/android-extensions-compiler/build.gradle.kts b/plugins/android-extensions/android-extensions-compiler/build.gradle.kts index cbebd707dc8..59f02cf1ff3 100644 --- a/plugins/android-extensions/android-extensions-compiler/build.gradle.kts +++ b/plugins/android-extensions/android-extensions-compiler/build.gradle.kts @@ -3,6 +3,8 @@ description = "Kotlin Android Extensions Compiler" apply { plugin("kotlin") } +val packIntoJar by configurations.creating + dependencies { compile(ideaSdkCoreDeps("intellij-core")) compile(project(":compiler:util")) @@ -10,21 +12,19 @@ dependencies { compile(project(":compiler:frontend")) compile(project(":compiler:frontend.java")) compile(project(":compiler:backend")) - compile(ideaPluginDeps("layoutlib", plugin = "android")) + compileOnly(project(":kotlin-android-extensions-runtime")) + packIntoJar(projectClasses(":kotlin-android-extensions-runtime")) } sourceSets { - "main" { - projectDefault() - java.srcDir("../android-extensions-runtime/src") - } + "main" { projectDefault() } "test" {} } -runtimeJar () +runtimeJar { + from(packIntoJar) +} dist() ideaPlugin() - -publish() diff --git a/plugins/android-extensions/android-extensions-runtime/build.gradle.kts b/plugins/android-extensions/android-extensions-runtime/build.gradle.kts new file mode 100644 index 00000000000..18b9f2df32a --- /dev/null +++ b/plugins/android-extensions/android-extensions-runtime/build.gradle.kts @@ -0,0 +1,36 @@ +/* + * Copyright 2010-2017 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +description = "Kotlin Android Extensions Runtime" + +apply { plugin("kotlin") } + +dependencies { + compile(projectDist(":kotlin-stdlib")) + compile(ideaPluginDeps("layoutlib", plugin = "android")) +} + +sourceSets { + "main" { projectDefault() } + "test" {} +} + +runtimeJar () + +classesDirsArtifact() + +publish() diff --git a/settings.gradle b/settings.gradle index 5787c36361e..5229fc03015 100644 --- a/settings.gradle +++ b/settings.gradle @@ -69,6 +69,7 @@ include ":kotlin-build-common", ":j2k", ":plugins:lint", ":android-extensions-compiler", + ":kotlin-android-extensions-runtime", ":plugins:android-extensions-ide", ":plugins:android-extensions-jps", ":kotlin-allopen-compiler-plugin", @@ -166,6 +167,7 @@ project(':compiler:ir.ir2cfg').projectDir = "$rootDir/compiler/ir/ir.ir2cfg" as project(':kotlin-jps-plugin').projectDir = "$rootDir/prepare/jps-plugin" as File project(':idea:idea-android-output-parser').projectDir = "$rootDir/idea/idea-android/idea-android-output-parser" as File project(':android-extensions-compiler').projectDir = "$rootDir/plugins/android-extensions/android-extensions-compiler" as File +project(':kotlin-android-extensions-runtime').projectDir = "$rootDir/plugins/android-extensions/android-extensions-runtime" as File project(':plugins:android-extensions-ide').projectDir = "$rootDir/plugins/android-extensions/android-extensions-idea" as File project(':plugins:android-extensions-jps').projectDir = "$rootDir/plugins/android-extensions/android-extensions-jps" as File project(':android-lint').projectDir = "$rootDir/prepare/android-lint" as File