blob: 667855bde5b97d15d2aada6af9e0e18d1284c073 [file] [log] [blame] [view] [edit]
# kotlinx-metadata-? releasing guide
> This document is no longer actual for kotlin-metadata-jvm (although it is still theoretically possible to release it separately from Kotlin using neighbor configuration),
> but can be used for kotlinx-metadata-klib.
Release is usually done from `master` branch, unless specific circumstances occur (e.g. incompatibility of protobuf between master and current Kotlin's release branch).
To release version `N` of `kotlinx-metadata-klib`:
1. Update `ChangeLog.md` and other documentation (`ReadMe.md`, `Migration.md`) if necessary.
If release is done with different version of Kotlin than the previous one, add note about metadata version update.
2. If changes are large: Send changes for the review as a separate branch and merge them into `master` after approve.
3. Run the [TeamCity build](https://teamcity.jetbrains.com/buildConfiguration/KotlinTools_KotlinxMetadata_PublishKotlinxMetadataKlib?mode=builds) with parameters:
* `deployVersion` is a version of Kotlin and kotlin-stdlib which `kotlinx-metadata-klib` should depend on.
* `kotlinxMetadataDeployVersion` is a version `N` you want to release.
4. In [Sonatype](https://oss.sonatype.org/#stagingRepositories) admin interface:
* Close the repository and wait for it to verify.
* Release it.
5. Announce new version in [forum topic](https://discuss.kotlinlang.org/t/announcing-kotlinx-metadata-jvm-library-for-reading-modifying-metadata-of-kotlin-jvm-class-files/7980).
Additionally, you may announce it in the #compiler [public Slack channel](https://kotlinlang.slack.com) and in the internal channel #ext-google-compiler.