diff --git a/atomicfu-gradle-plugin/build.gradle b/atomicfu-gradle-plugin/build.gradle index a5741e35..53125517 100644 --- a/atomicfu-gradle-plugin/build.gradle +++ b/atomicfu-gradle-plugin/build.gradle @@ -14,8 +14,8 @@ if (rootProject.ext.jvm_ir_enabled) { // Gradle plugin must be compiled targeting the same Kotlin version as used by Gradle kotlin.sourceSets.all { languageSettings { - apiVersion = KotlinAggregateBuild.getOverriddenKotlinApiVersion(project) ?: "1.7" - languageVersion = KotlinAggregateBuild.getOverriddenKotlinLanguageVersion(project) ?: "1.7" + apiVersion = "1.4" + languageVersion = "1.4" } } diff --git a/atomicfu-maven-plugin/build.gradle b/atomicfu-maven-plugin/build.gradle index d11cd6fb..a1657696 100644 --- a/atomicfu-maven-plugin/build.gradle +++ b/atomicfu-maven-plugin/build.gradle @@ -23,8 +23,6 @@ def buildSnapshots = rootProject.properties['build_snapshot_train'] != null evaluationDependsOn(':atomicfu-transformer') -def kotlinDevRepoUrl = KotlinAggregateBuild.getKotlinDevRepositoryUrl(project) - task generatePomFile(dependsOn: [compileKotlin, ':atomicfu-transformer:publishToMavenLocal']) { def buildDir = project.buildDir // because Maven model also has "project" outputs.file(pomFile) @@ -45,12 +43,11 @@ task generatePomFile(dependsOn: [compileKotlin, ':atomicfu-transformer:publishTo appendNode('project.build.sourceEncoding', 'UTF-8') } appendNode('repositories').with { - if (kotlinDevRepoUrl != null && !kotlinDevRepoUrl.isEmpty()) { - appendNode('repository').with { - appendNode('id', 'dev') - appendNode('url', kotlinDevRepoUrl) - } + appendNode('repository').with { + appendNode('id', 'dev') + appendNode('url', 'https://maven.pkg.jetbrains.space/kotlin/p/kotlin/dev') } + if (buildSnapshots) { appendNode('repository').with { appendNode('id', 'kotlin-snapshots') @@ -80,11 +77,11 @@ task generatePluginDescriptor(type: Exec, dependsOn: generatePomFile) { if (mavenUserHome != null) args.add("-Dmaven.user.home=${new File(mavenUserHome).getAbsolutePath()}") if (mavenRepoLocal != null) args.add("-Dmaven.repo.local=${new File(mavenRepoLocal).getAbsolutePath()}") args.addAll([ - '--settings', './settings.xml', - '--errors', - '--batch-mode', - '--file', pomFile.toString(), - 'org.apache.maven.plugins:maven-plugin-plugin:3.5.1:descriptor' + '--settings', './settings.xml', + '--errors', + '--batch-mode', + '--file', pomFile.toString(), + 'org.apache.maven.plugins:maven-plugin-plugin:3.5.1:descriptor' ]) commandLine args doLast { diff --git a/build.gradle b/build.gradle index f9090c2d..2c26cad9 100644 --- a/build.gradle +++ b/build.gradle @@ -5,8 +5,6 @@ import org.jetbrains.kotlin.konan.target.HostManager buildscript { - - /* * These property group is used to build kotlinx.atomicfu against Kotlin compiler snapshot. * How does it work: @@ -31,13 +29,14 @@ buildscript { ext.jvm_ir_enabled = rootProject.properties['enable_jvm_ir'] != null ext.native_targets_enabled = rootProject.properties['disable_native_targets'] == null - repositories { mavenCentral() maven { url "https://plugins.gradle.org/m2/" } - KotlinAggregateBuild.addDevRepositoryIfEnabled(delegate, project) + // Future replacement for kotlin-dev, with cache redirector + maven { url "https://cache-redirector.jetbrains.com/maven.pkg.jetbrains.space/kotlin/p/kotlin/dev" } + maven { url "https://maven.pkg.jetbrains.space/kotlin/p/kotlin/dev" } } - + dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "com.moowork.gradle:gradle-node-plugin:$gradle_node_version" @@ -55,11 +54,12 @@ allprojects { } } - logger.info("Using Kotlin compiler $kotlin_version for $it") - + println "Using Kotlin $kotlin_version for project $it" repositories { mavenCentral() - KotlinAggregateBuild.addDevRepositoryIfEnabled(delegate, project) + // Future replacement for kotlin-dev, with cache redirector + maven { url "https://cache-redirector.jetbrains.com/maven.pkg.jetbrains.space/kotlin/p/kotlin/dev" } + maven { url "https://maven.pkg.jetbrains.space/kotlin/p/kotlin/dev" } } def deployVersion = properties['DeployVersion'] @@ -79,7 +79,7 @@ allprojects { } } -logger.info("Using Kotlin compiler version: $org.jetbrains.kotlin.config.KotlinCompilerVersion.VERSION") +println("Using Kotlin compiler version: $org.jetbrains.kotlin.config.KotlinCompilerVersion.VERSION") if (build_snapshot_train) { afterEvaluate { println "Manifest of kotlin-compiler-embeddable.jar for atomicfu" diff --git a/buildSrc/src/main/kotlin/KotlinAggregateBuild.kt b/buildSrc/src/main/kotlin/KotlinAggregateBuild.kt deleted file mode 100644 index 042c0957..00000000 --- a/buildSrc/src/main/kotlin/KotlinAggregateBuild.kt +++ /dev/null @@ -1,67 +0,0 @@ -@file:JvmName("KotlinAggregateBuild") - -import org.gradle.api.Project -import org.gradle.api.artifacts.dsl.* -import java.net.* -import java.util.logging.Logger - -/* - * Functions in this file are responsible for configuring atomicfu build against a custom dev version - * of Kotlin compiler. - * Such configuration is used in aggregate builds of Kotlin in order to check whether not-yet-released changes - * are compatible with our libraries (aka "integration testing that substitues lack of unit testing"). - */ - -private val LOGGER: Logger = Logger.getLogger("Kotlin settings logger") - -/** - * Should be used for running against of non-released Kotlin compiler on a system test level. - * - * @return a Kotlin API version parametrized from command line nor gradle.properties, null otherwise - */ -fun getOverriddenKotlinApiVersion(project: Project): String? { - val apiVersion = project.rootProject.properties["kotlin_api_version"] as? String - if (apiVersion != null) { - LOGGER.info("""Configured Kotlin API version: '$apiVersion' for project $${project.name}""") - } - return apiVersion -} - -/** - * Should be used for running against of non-released Kotlin compiler on a system test level - * - * @return a Kotlin Language version parametrized from command line nor gradle.properties, null otherwise - */ -fun getOverriddenKotlinLanguageVersion(project: Project): String? { - val languageVersion = project.rootProject.properties["kotlin_language_version"] as? String - if (languageVersion != null) { - LOGGER.info("""Configured Kotlin Language version: '$languageVersion' for project ${project.name}""") - } - return languageVersion -} - -/** - * Should be used for running against of non-released Kotlin compiler on a system test level - * Kotlin compiler artifacts are expected to be downloaded from maven central by default. - * In case of compiling with not-published into the MC kotlin compiler artifacts, a kotlin_repo_url gradle parameter should be specified. - * To reproduce a build locally, a kotlin/dev repo should be passed - * - * @return an url for a kotlin compiler repository parametrized from command line nor gradle.properties, empty string otherwise - */ -fun getKotlinDevRepositoryUrl(project: Project): String? { - val url = project.rootProject.properties["kotlin_repo_url"] as? String - if (url != null) { - LOGGER.info("""Configured Kotlin Compiler repository url: '$url' for project ${project.name}""") - } - return url -} - -/** - * Adds a kotlin-dev space repository with dev versions of Kotlin if Kotlin aggregate build is enabled - */ -fun addDevRepositoryIfEnabled(rh: RepositoryHandler, project: Project) { - val devRepoUrl = getKotlinDevRepositoryUrl(project) ?: return - rh.maven { - url = URI.create(devRepoUrl) - } -} diff --git a/buildSrc/src/main/kotlin/Publishing.kt b/buildSrc/src/main/kotlin/Publishing.kt index 2af49509..3db911f9 100644 --- a/buildSrc/src/main/kotlin/Publishing.kt +++ b/buildSrc/src/main/kotlin/Publishing.kt @@ -45,10 +45,12 @@ fun MavenPom.configureMavenCentralMetadata(project: Project) { } fun mavenRepositoryUri(): URI { + // TODO -SNAPSHOT detection can be made here as well val repositoryId: String? = System.getenv("libs.repository.id") return if (repositoryId == null) { // Using implicitly created staging, for MPP it's likely to be a mistake because // publication on TeamCity will create 3 independent staging repositories + System.err.println("Warning: using an implicitly created staging for atomicfu") URI("https://oss.sonatype.org/service/local/staging/deploy/maven2/") } else { URI("https://oss.sonatype.org/service/local/staging/deployByRepositoryId/$repositoryId") diff --git a/gradle.properties b/gradle.properties index ebcb2767..903d60df 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,7 +6,6 @@ version=0.18.5-SNAPSHOT group=org.jetbrains.kotlinx kotlin_version=1.7.20 - asm_version=9.3 slf4j_version=1.8.0-alpha2 junit_version=4.12 diff --git a/gradle/compile-options.gradle b/gradle/compile-options.gradle index 8cbdd8a6..b6ce5325 100644 --- a/gradle/compile-options.gradle +++ b/gradle/compile-options.gradle @@ -19,8 +19,8 @@ ext.configureKotlin = { isMultiplatform -> kotlin.sourceSets.all { languageSettings { - apiVersion = KotlinAggregateBuild.getOverriddenKotlinApiVersion(project) ?: "1.7" - languageVersion = KotlinAggregateBuild.getOverriddenKotlinLanguageVersion(project) ?: "1.7" + apiVersion = "1.4" + languageVersion = "1.4" } } }