| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
Migrate to new Maven Central API (#5344) - new API requires creating a zip - API code is copied and adapted from [compose-hot-reload](https://github.com/JetBrains/compose-hot-reload/blob/799b90b76ffc6d93207c25626be53ecb0cb86a63/buildSrc/src/main/kotlin/PublishToMavenCentralTask.kt#L39) - [CI change](https://jetbrains.team/p/ui/reviews/31/timeline) ## Testing 1. Configure Maven Space Token in https://public.jetbrains.space/p/compose/edit/applications, write it in cli/build.gradle.kts 2. Use Maven Central token, write it in cli/gradle.properties 3. ..\gradlew reuploadArtifactsToMavenCentral --info --stacktrace -Pmaven.central.coordinates=org.jetbrains.compose*:*:1.8.0,org.jetbrains.compose.material:material-navigation*:2.9.0-beta02,org.jetbrains.compose.material3.adaptive:*:1.1.0 -Pmaven.central.deployName="Compose1.8.0 and associated libs" --rerun-tasks ..\gradlew reuploadArtifactsToMavenCentral --info --stacktrace -Pmaven.central.coordinates=org.jetbrains.skiko*:*:0.9.16 -Pmaven.central.deployName="Skiko 0.9.16" --rerun-tasks downloads packages from Space, creates a zip, and uploads as a new (non-published) deployment. With failed state, because signing was disabled: <img width="305" alt="image" src="https://github.com/user-attachments/assets/0a32e185-e43b-4783-9145-84aba64d41c0" /> I will check on a valid uploading on Skiko after the merge ## Release Notes N/A | 1 年前 | |
Bump versions (Kotlin, AGP, Gradle) (#5399) ## Release Notes N/A | 1 年前 | |
Fix Maven Central API uploading (#5353) Fixes java.util.zip.ZipException: duplicate entry: org/jetbrains/compose/material/material-navigation/1.9.0-alpha03/material-navigation-1.9.0-alpha03.module.sha512 16:53:22 at org.jetbrains.compose.internal.publishing.UploadToSonatypeTask.createDeploymentBundle(UploadToSonatypeTask.kt:90) It happened because we pass -Pmaven.central.coordinates=org.jetbrains.compose*:*:1.9.0-alpha03,org.jetbrains.compose.material:material-navigation*:1.9.0-alpha03 which points to intersected artifacts. When we add org.jetbrains.compose.material:material-navigation* into the bundle, we already added it by org.jetbrains.compose*:*. This is [a known issue](https://youtrack.jetbrains.com/issue/CMP-8504/Maven-Central-uploading.-Intersection-of-version-groups) ## Testing ./gradlew -p=cli reuploadArtifactsToMavenCentral --info --stacktrace -Pmaven.central.sign=true -Pmaven.central.coordinates=org.jetbrains.compose*:*:1.9.0-alpha03,org.jetbrains.compose.material:material-navigation*:1.9.0-alpha03,org.jetbrains.compose.material3.adaptive:*:1.2.0-alpha03,org.jetbrains.androidx.graphics:graphics-shape*:1.0.0-alpha09,org.jetbrains.androidx.window:*:1.4.0-alpha08 -Pmaven.central.deployName="Compose 1.9.0-alpha03 and associated libs" --rerun-tasks with disabled signing and uploading to Maven no longer produces the error ## Release Notes N/A | 1 年前 | |
Build Helpers. Publish as a library (#5343) Fixes https://youtrack.jetbrains.com/issue/SKIKO-1003/Unify-Maven-publication-of-Skiko-with-Compose This library contains logic that uploads artifacts to Maven Central. [Previously](https://github.com/JetBrains/compose-multiplatform/pull/5184) it was converted to CLI-only. But now we convert it back to a library, because it is currently [the best way to use it](https://youtrack.jetbrains.com/issue/SKIKO-1003/Unify-Maven-publication-of-Skiko-with-Compose#focus=Comments-27-12193419.0-0) from Skiko. We keep the CLI as well, it is used for Compose/Androidx currently On every change in the source, CI will publish org.jetbrains.compose.internal.build-helpers:publishing:$version [Skiko PR](https://github.com/JetBrains/skiko/pull/1067) [TeamCity auto-publishing configuration](https://jetbrains.team/p/ui/repositories/compose-teamcity-config/files/igor.demin/publish-build-helpers/.teamcity/compose/service/PublishBuildHelpers.kt) (will be merged after this PR) ## Testing - ./gradlew publishToMavenLocal and use it in Skiko - run CLI: ./gradlew -p=cli reuploadArtifactsToMavenCentral -Pmaven.central.sign=true \ -Pmaven.central.coordinates=org.jetbrains.compose*:*:%version.COMPOSE%,org.jetbrains.compose.material:material-navigation*:%version.COMPOSE_MATERIAL_NAVIGATION% \ -Pmaven.central.stage=org.jetbrains.compose \ -Pmaven.central.description="Compose %version.COMPOSE% and associated libs" \ -Pmaven.central.staging.close.after.upload=true - will battle test it after merging, trying to publish Skiko to Maven Central ## Release Notes N/A | 1 年前 | |
Build Helpers. Publish as a library (#5343) Fixes https://youtrack.jetbrains.com/issue/SKIKO-1003/Unify-Maven-publication-of-Skiko-with-Compose This library contains logic that uploads artifacts to Maven Central. [Previously](https://github.com/JetBrains/compose-multiplatform/pull/5184) it was converted to CLI-only. But now we convert it back to a library, because it is currently [the best way to use it](https://youtrack.jetbrains.com/issue/SKIKO-1003/Unify-Maven-publication-of-Skiko-with-Compose#focus=Comments-27-12193419.0-0) from Skiko. We keep the CLI as well, it is used for Compose/Androidx currently On every change in the source, CI will publish org.jetbrains.compose.internal.build-helpers:publishing:$version [Skiko PR](https://github.com/JetBrains/skiko/pull/1067) [TeamCity auto-publishing configuration](https://jetbrains.team/p/ui/repositories/compose-teamcity-config/files/igor.demin/publish-build-helpers/.teamcity/compose/service/PublishBuildHelpers.kt) (will be merged after this PR) ## Testing - ./gradlew publishToMavenLocal and use it in Skiko - run CLI: ./gradlew -p=cli reuploadArtifactsToMavenCentral -Pmaven.central.sign=true \ -Pmaven.central.coordinates=org.jetbrains.compose*:*:%version.COMPOSE%,org.jetbrains.compose.material:material-navigation*:%version.COMPOSE_MATERIAL_NAVIGATION% \ -Pmaven.central.stage=org.jetbrains.compose \ -Pmaven.central.description="Compose %version.COMPOSE% and associated libs" \ -Pmaven.central.staging.close.after.upload=true - will battle test it after merging, trying to publish Skiko to Maven Central ## Release Notes N/A | 1 年前 | |
Build Helpers. Publish as a library (#5343) Fixes https://youtrack.jetbrains.com/issue/SKIKO-1003/Unify-Maven-publication-of-Skiko-with-Compose This library contains logic that uploads artifacts to Maven Central. [Previously](https://github.com/JetBrains/compose-multiplatform/pull/5184) it was converted to CLI-only. But now we convert it back to a library, because it is currently [the best way to use it](https://youtrack.jetbrains.com/issue/SKIKO-1003/Unify-Maven-publication-of-Skiko-with-Compose#focus=Comments-27-12193419.0-0) from Skiko. We keep the CLI as well, it is used for Compose/Androidx currently On every change in the source, CI will publish org.jetbrains.compose.internal.build-helpers:publishing:$version [Skiko PR](https://github.com/JetBrains/skiko/pull/1067) [TeamCity auto-publishing configuration](https://jetbrains.team/p/ui/repositories/compose-teamcity-config/files/igor.demin/publish-build-helpers/.teamcity/compose/service/PublishBuildHelpers.kt) (will be merged after this PR) ## Testing - ./gradlew publishToMavenLocal and use it in Skiko - run CLI: ./gradlew -p=cli reuploadArtifactsToMavenCentral -Pmaven.central.sign=true \ -Pmaven.central.coordinates=org.jetbrains.compose*:*:%version.COMPOSE%,org.jetbrains.compose.material:material-navigation*:%version.COMPOSE_MATERIAL_NAVIGATION% \ -Pmaven.central.stage=org.jetbrains.compose \ -Pmaven.central.description="Compose %version.COMPOSE% and associated libs" \ -Pmaven.central.staging.close.after.upload=true - will battle test it after merging, trying to publish Skiko to Maven Central ## Release Notes N/A | 1 年前 | |
Don't publish build-helpers, use it directly Fixes https://youtrack.jetbrains.com/issue/CMP-1339/Change-description-of-androidx-artifacts-in-Maven-Central-stage We need some changes in it: https://youtrack.jetbrains.com/issue/CMP-7198/Maven-Central-publication-publishes-old-artifacts-for-Core-Bundle https://youtrack.jetbrains.com/issue/CMP-1339/Change-description-of-androidx-artifacts-in-Maven-Central-stage and the current workflow is complicated: - make changes - publish this as a library in the dev repo - add this as a dependency in some Gradle project (Example https://github.com/JetBrains/compose-multiplatform-core/blob/2d8c5f479f590305b9fedc744e00fdc9c276bbb9/mpp/build.gradle.kts#L286) - Run the gradle task on CI from compose-multiplatform-core project clone compose-multiplatform-core ./gradlew reuploadArtifactsToMavenCentral --info --stacktrace -Pmaven.central.sign=true -Pmaven.central.group=$group -Pmaven.central.stage=$stage -Pmaven.central.version=$version -Pmaven.central.staging.close.after.upload=true This task also doesn't use any of compose-multiplatform-core info, so it is overhead to store it as part of this project. Now we just change some code, and it is already can be run by CI. Related change on CI: https://jetbrains.team/p/ui/repositories/compose-teamcity-config/revision/14790a506883923b25ef9ef4d05802f6210362f3 Related change in core: TODO ## Testing 1. Run https://teamcity.jetbrains.com/buildConfiguration/JetBrainsPublicProjects_Compose_UploadToMavenCentralManually on branch igor.demin/upload-to-maven-central-without-library with: 2. See: | 1 年前 | |
Don't publish build-helpers, use it directly Fixes https://youtrack.jetbrains.com/issue/CMP-1339/Change-description-of-androidx-artifacts-in-Maven-Central-stage We need some changes in it: https://youtrack.jetbrains.com/issue/CMP-7198/Maven-Central-publication-publishes-old-artifacts-for-Core-Bundle https://youtrack.jetbrains.com/issue/CMP-1339/Change-description-of-androidx-artifacts-in-Maven-Central-stage and the current workflow is complicated: - make changes - publish this as a library in the dev repo - add this as a dependency in some Gradle project (Example https://github.com/JetBrains/compose-multiplatform-core/blob/2d8c5f479f590305b9fedc744e00fdc9c276bbb9/mpp/build.gradle.kts#L286) - Run the gradle task on CI from compose-multiplatform-core project clone compose-multiplatform-core ./gradlew reuploadArtifactsToMavenCentral --info --stacktrace -Pmaven.central.sign=true -Pmaven.central.group=$group -Pmaven.central.stage=$stage -Pmaven.central.version=$version -Pmaven.central.staging.close.after.upload=true This task also doesn't use any of compose-multiplatform-core info, so it is overhead to store it as part of this project. Now we just change some code, and it is already can be run by CI. Related change on CI: https://jetbrains.team/p/ui/repositories/compose-teamcity-config/revision/14790a506883923b25ef9ef4d05802f6210362f3 Related change in core: TODO ## Testing 1. Run https://teamcity.jetbrains.com/buildConfiguration/JetBrainsPublicProjects_Compose_UploadToMavenCentralManually on branch igor.demin/upload-to-maven-central-without-library with: 2. See: | 1 年前 | |
Build Helpers. Publish as a library (#5343) Fixes https://youtrack.jetbrains.com/issue/SKIKO-1003/Unify-Maven-publication-of-Skiko-with-Compose This library contains logic that uploads artifacts to Maven Central. [Previously](https://github.com/JetBrains/compose-multiplatform/pull/5184) it was converted to CLI-only. But now we convert it back to a library, because it is currently [the best way to use it](https://youtrack.jetbrains.com/issue/SKIKO-1003/Unify-Maven-publication-of-Skiko-with-Compose#focus=Comments-27-12193419.0-0) from Skiko. We keep the CLI as well, it is used for Compose/Androidx currently On every change in the source, CI will publish org.jetbrains.compose.internal.build-helpers:publishing:$version [Skiko PR](https://github.com/JetBrains/skiko/pull/1067) [TeamCity auto-publishing configuration](https://jetbrains.team/p/ui/repositories/compose-teamcity-config/files/igor.demin/publish-build-helpers/.teamcity/compose/service/PublishBuildHelpers.kt) (will be merged after this PR) ## Testing - ./gradlew publishToMavenLocal and use it in Skiko - run CLI: ./gradlew -p=cli reuploadArtifactsToMavenCentral -Pmaven.central.sign=true \ -Pmaven.central.coordinates=org.jetbrains.compose*:*:%version.COMPOSE%,org.jetbrains.compose.material:material-navigation*:%version.COMPOSE_MATERIAL_NAVIGATION% \ -Pmaven.central.stage=org.jetbrains.compose \ -Pmaven.central.description="Compose %version.COMPOSE% and associated libs" \ -Pmaven.central.staging.close.after.upload=true - will battle test it after merging, trying to publish Skiko to Maven Central ## Release Notes N/A | 1 年前 |
Publish as a library
This library exists to help to publish artifacts to Maven Central for CMP projects and its dependencies.
For exmaple, for Skiko
./gradlew publish
It is published automatically to https://maven.pkg.jetbrains.space/public/p/compose/internal on any change in the CMP sources by this CI task: https://teamcity.jetbrains.com/buildConfiguration/JetBrainsPublicProjects_Compose_PublishBuildHelpers
Publish as a local library
./gradlew publishToMavenLocal
Use from sources
./gradlew -p=cli reuploadArtifactsToMavenCentral -Pmaven.central.sign=true \
-Pmaven.central.coordinates=org.jetbrains.compose*:*:%version.COMPOSE%,org.jetbrains.compose.material:material-navigation*:%version.COMPOSE_MATERIAL_NAVIGATION% \
-Pmaven.central.stage=org.jetbrains.compose \
-Pmaven.central.description="Compose %version.COMPOSE% and associated libs" \
-Pmaven.central.staging.close.after.upload=true