diff --git a/compiler/tests-common/org/jetbrains/kotlin/codegen/forTestCompile/ForTestCompileRuntime.java b/compiler/tests-common/org/jetbrains/kotlin/codegen/forTestCompile/ForTestCompileRuntime.java index c7e2a89fb3d..d9f8fd87ee8 100644 --- a/compiler/tests-common/org/jetbrains/kotlin/codegen/forTestCompile/ForTestCompileRuntime.java +++ b/compiler/tests-common/org/jetbrains/kotlin/codegen/forTestCompile/ForTestCompileRuntime.java @@ -65,7 +65,7 @@ public class ForTestCompileRuntime { @NotNull @Deprecated public static File[] runtimeClassesForTests() { - return new File[] { assertExists(new File("dist/builtins")), assertExists(new File("dist/classes/builtins")), assertExists(new File("dist/classes/stdlib")) }; + return new File[] { assertExists(new File("dist/builtins")), assertExists(new File("libraries/stdlib/build/classes/builtins")), assertExists(new File("libraries/stdlib/build/classes/main")) }; } @NotNull diff --git a/compiler/tests/org/jetbrains/kotlin/code/CodeConformanceTest.kt b/compiler/tests/org/jetbrains/kotlin/code/CodeConformanceTest.kt index 227457f2ce5..7dbaa92673f 100644 --- a/compiler/tests/org/jetbrains/kotlin/code/CodeConformanceTest.kt +++ b/compiler/tests/org/jetbrains/kotlin/code/CodeConformanceTest.kt @@ -29,6 +29,7 @@ class CodeConformanceTest : TestCase() { private val EXCLUDED_FILES_AND_DIRS = listOf( "android.tests.dependencies", "core/reflection.jvm/src/kotlin/reflect/jvm/internal/pcollections", + "libraries/tools/kotlin-reflect/build", "libraries/tools/kotlin-reflect/target/copied-sources", "libraries/tools/binary-compatibility-validator/src/main/kotlin/org.jetbrains.kotlin.tools", "dependencies", diff --git a/idea/tests/org/jetbrains/kotlin/idea/highlighter/NoErrorsInStdlibTest.kt b/idea/tests/org/jetbrains/kotlin/idea/highlighter/NoErrorsInStdlibTest.kt index d4c806c5717..4444d4975db 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/highlighter/NoErrorsInStdlibTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/highlighter/NoErrorsInStdlibTest.kt @@ -66,7 +66,7 @@ class NoErrorsInStdlibTest : KotlinLightCodeInsightFixtureTestCase() { } override fun getProjectDescriptor(): LightProjectDescriptor { - return object : KotlinJdkAndLibraryProjectDescriptor(File("dist/classes/builtins")) { + return object : KotlinJdkAndLibraryProjectDescriptor(File("libraries/stdlib/build/classes/builtins")) { override fun getSdk(): Sdk? = PluginTestCaseBase.fullJdk() } } diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/rhino/RhinoUtils.java b/js/js.tests/test/org/jetbrains/kotlin/js/test/rhino/RhinoUtils.java index 1499e66509d..cbc7e5b3a9b 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/rhino/RhinoUtils.java +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/rhino/RhinoUtils.java @@ -188,7 +188,7 @@ public final class RhinoUtils { try { runFileWithRhino(DIST_DIR_JS_PATH + "../../js/js.translator/testData/rhino-polyfills.js", context, scope); runFileWithRhino(DIST_DIR_JS_PATH + "kotlin.js", context, scope); - runFileWithRhino(DIST_DIR_JS_PATH + "../classes/kotlin-test-js/kotlin-test.js", context, scope); + runFileWithRhino(DIST_DIR_JS_PATH + "kotlin-test.js", context, scope); //runFileWithRhino(pathToTestFilesRoot() + "jshint.js", context, scope); for (String jsLibrary : jsLibraries) { diff --git a/libraries/build.gradle b/libraries/build.gradle index cad9fe50239..bb37118a5f4 100644 --- a/libraries/build.gradle +++ b/libraries/build.gradle @@ -14,7 +14,8 @@ buildscript { ext.JDK_16 = System.getenv("JDK_16") ext.JDK_17 = System.getenv("JDK_17") ext.JDK_18 = System.getenv("JDK_18") -ext.bootstrapCompilerFile = project.file("${rootDir}/../dist/kotlinc/lib/kotlin-compiler.jar") +ext.distDir = project.file("${rootDir}/../dist/kotlinc/lib") +ext.bootstrapCompilerFile = project.file("${rootDir}/../dist/kotlin-compiler-for-maven.jar") allprojects { group = 'org.jetbrains.kotlin' @@ -46,6 +47,12 @@ subprojects { } +task clean { + doLast { + delete "${buildDir}/repo" + } +} + static def configureJvmProject(Project project) { project.configure(project) { task sourcesJar(type: Jar, dependsOn: classes) { @@ -100,6 +107,12 @@ static def configurePublishing(Project project) { enabled signing.required } + task dist(type: Copy, dependsOn: assemble) { + rename "-${java.util.regex.Pattern.quote(version)}", '' + rename { String fileName -> 'gradle-' + fileName } + into distDir + } + uploadArchives { repositories { mavenDeployer { diff --git a/libraries/kotlin.test/js/build.gradle b/libraries/kotlin.test/js/build.gradle index fd46c781419..bdfcae6d9e3 100644 --- a/libraries/kotlin.test/js/build.gradle +++ b/libraries/kotlin.test/js/build.gradle @@ -41,3 +41,10 @@ artifacts { archives sourcesJar archives javadocJar } + +dist { + from (jar, sourcesJar) + from(compileKotlin2Js.kotlinOptions.outputFile) { + into '../../js' + } +} \ No newline at end of file diff --git a/libraries/kotlin.test/junit/build.gradle b/libraries/kotlin.test/junit/build.gradle index c79cedd9766..258f455aae5 100644 --- a/libraries/kotlin.test/junit/build.gradle +++ b/libraries/kotlin.test/junit/build.gradle @@ -21,6 +21,10 @@ artifacts { archives javadocJar } +dist { + from (jar, sourcesJar) +} + compileKotlin { kotlinOptions.freeCompilerArgs = ["-Xallow-kotlin-package", "-module-name", project.name] } diff --git a/libraries/kotlin.test/jvm/build.gradle b/libraries/kotlin.test/jvm/build.gradle index 3f5db80dfe0..95237705d05 100644 --- a/libraries/kotlin.test/jvm/build.gradle +++ b/libraries/kotlin.test/jvm/build.gradle @@ -24,6 +24,10 @@ artifacts { archives javadocJar } +dist { + from (jar, sourcesJar) +} + compileKotlin { // TODO: Why "-Xmulti-platfrom" ? kotlinOptions.freeCompilerArgs = ["-Xallow-kotlin-package", "-Xmulti-platform", "-module-name", project.archivesBaseName] diff --git a/libraries/stdlib/build.gradle b/libraries/stdlib/build.gradle index 4afda7b2967..b69cfeb2c38 100644 --- a/libraries/stdlib/build.gradle +++ b/libraries/stdlib/build.gradle @@ -6,6 +6,17 @@ configureJvmProject(project) configurePublishing(project) sourceSets { + annotations { + if(!System.properties.'idea.active') { + java { + srcDir "${rootDir}/../core/runtime.jvm/src" + include 'org/jetbrains/annotations/**' + } + kotlin { + exclude '**/*' + } + } + } builtins { java { srcDir "${rootDir}/../core/builtins/src" @@ -49,6 +60,16 @@ jar { from sourceSets.builtins.output } +task distJar(type: Jar) { + baseName = 'dist-kotlin-stdlib' + version = null + manifestAttributes(manifest, project, 'Main') + from("${rootDir}/../dist/builtins") + from sourceSets.annotations.output + from sourceSets.builtins.output + from sourceSets.main.output +} + sourcesJar { from "${rootDir}/../core/builtins/native" from sourceSets.builtins.kotlin @@ -59,6 +80,22 @@ artifacts { archives javadocJar } +dist { + [distJar, sourcesJar].forEach { + from(it) { + rename('dist-', '') + } + // legacy + from(it) { + rename('dist-', '') + rename('kotlin-stdlib', 'kotlin-runtime') + } + } + from (configurations.compile) { + include 'annotations*.jar' + } +} + compileBuiltinsKotlin { kotlinOptions { freeCompilerArgs = [ diff --git a/libraries/stdlib/jre7/build.gradle b/libraries/stdlib/jre7/build.gradle index ef66af9f61c..370b595ff41 100644 --- a/libraries/stdlib/jre7/build.gradle +++ b/libraries/stdlib/jre7/build.gradle @@ -35,6 +35,10 @@ artifacts { archives javadocJar } +dist { + from (jar, sourcesJar) +} + tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile) { kotlinOptions.jdkHome = JDK_17 diff --git a/libraries/stdlib/jre8/build.gradle b/libraries/stdlib/jre8/build.gradle index 7cb286a19c4..b5dbf0a2586 100644 --- a/libraries/stdlib/jre8/build.gradle +++ b/libraries/stdlib/jre8/build.gradle @@ -37,6 +37,10 @@ artifacts { archives javadocJar } +dist { + from (jar, sourcesJar) +} + tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile) { kotlinOptions.jdkHome = JDK_18 kotlinOptions.jvmTarget = 1.8 diff --git a/libraries/stdlib/js/build.gradle b/libraries/stdlib/js/build.gradle index 57871187973..89dc361d188 100644 --- a/libraries/stdlib/js/build.gradle +++ b/libraries/stdlib/js/build.gradle @@ -228,6 +228,20 @@ artifacts { } +dist { + [mergedJar, sourcesJar].forEach { + from(it) + // legacy + from(it) { + rename("kotlin-stdlib-js", 'kotlin-jslib') + } + } + from(compileJs) { + into '../../js' + } +} + + karma { dependencies(['qunitjs@1.23.1', 'karma-teamcity-reporter@0.1.2']) diff --git a/libraries/tools/binary-compatibility-validator/build.gradle b/libraries/tools/binary-compatibility-validator/build.gradle index 9069d7857ad..72439c015bd 100644 --- a/libraries/tools/binary-compatibility-validator/build.gradle +++ b/libraries/tools/binary-compatibility-validator/build.gradle @@ -23,6 +23,7 @@ compileTestKotlin { test { dependsOn cleanCompileTestKotlin + dependsOn(':kotlin-runtime:jar') dependsOn(':kotlin-stdlib:originalStdlibJar') systemProperties['overwrite.output'] = System.getProperty("overwrite.output", "false") diff --git a/libraries/tools/kotlin-reflect/build.gradle b/libraries/tools/kotlin-reflect/build.gradle index 8dc452a50da..e72718f5f01 100644 --- a/libraries/tools/kotlin-reflect/build.gradle +++ b/libraries/tools/kotlin-reflect/build.gradle @@ -167,11 +167,16 @@ task relocatedSourcesJar(type: Jar) { from "${core}/reflection.jvm/src" } -artifacts { - def artifactJar = [file: file(outputJarPath), builtBy: proguard, name: archivesBaseName] +def artifactJar = [file: file(outputJarPath), builtBy: proguard, name: archivesBaseName] +artifacts { runtime artifactJar archives artifactJar archives relocatedSourcesJar archives javadocJar } + +dist { + from(proguard) + from(relocatedSourcesJar) +} diff --git a/libraries/tools/script-runtime/build.gradle b/libraries/tools/script-runtime/build.gradle index 98f29ef7651..6be933774a5 100644 --- a/libraries/tools/script-runtime/build.gradle +++ b/libraries/tools/script-runtime/build.gradle @@ -26,6 +26,11 @@ artifacts { archives javadocJar } + +dist { + from (jar, sourcesJar) +} + compileKotlin { kotlinOptions.freeCompilerArgs = [ "-Xallow-kotlin-package",