diff --git a/docs/RELEASE.md b/docs/RELEASE.md index 34fcde17..954f4a16 100644 --- a/docs/RELEASE.md +++ b/docs/RELEASE.md @@ -1,8 +1,12 @@ ## Releasing a version -Releasing a version is mostly automated. However since the CHANGELOG.md + version information are part of the git history and need to be committed, some manual steps are still needed. These steps are also there to check for errors which may have been made in the git history via the [Conventionalcommits standard](https://www.conventionalcommits.org/en/v1.0.0/) format. +Releasing a version is mostly automated. However since the CHANGELOG.md + version information are part of the git +history and need to be committed, some manual steps are still needed. These steps are also there to check for errors +which may have been made in the git history via +the [Conventionalcommits standard](https://www.conventionalcommits.org/en/v1.0.0/) format. -The NPM package [Commit-And-Tag](https://github.com/absolute-version/commit-and-tag-version) is used to streamline the release process. +The NPM package [Commit-And-Tag](https://github.com/absolute-version/commit-and-tag-version) is used to streamline the +release process. ### Preparing a release @@ -17,12 +21,16 @@ The following convenience NPM scripts are available for use here: } ``` -1) Execute `npm run commit-release` to prepare the release. This will automatically bump the version to the next correct semantic version, create a CHANGELOG.md file and make a commit. +1) Execute `npm run commit-release` to prepare the release. This will automatically bump the version to the next correct + semantic version, create a CHANGELOG.md file and make a commit. 2) Check the CHANGELOG.md for wrong entries which may have been committed in the history - We are human after all! :) -3) Push the commit, create a PR and wait for the merge. +3) Push the commit, create a PR and wait for the merge. ### Deploying a release 1) Execute `npm run tag-release` on the main branch after the above merge. -2) Push the tag via 'git push --follow-tags origin feature-x'. The command should be shown in the terminal after step 1. A push of a release tag with the correct format will automatically trigger an official release GitHub workflow. -3) Check if the GitHub package was uploaded successfully. +2) Push the tag via 'git push origin feature-x'. "Origin" may differ if working with forks. The command should be shown + in the terminal after step 1. A push of a release tag with the correct format will automatically trigger an official + release GitHub workflow. +3) Check if the artifacts were uploaded successfully to the Nexus repository. +4) Close the uploaded staging repository and check the activity tab if all steps were successful. diff --git a/vss-processor-plugin/build.gradle.kts b/vss-processor-plugin/build.gradle.kts index f3c9fdff..8d02656e 100644 --- a/vss-processor-plugin/build.gradle.kts +++ b/vss-processor-plugin/build.gradle.kts @@ -34,6 +34,10 @@ plugins { // caching so the cache does not know about this. The issue will be ignored as a warning for now. // // Similar issue: https://github.com/gradle/gradle/issues/27940 +val pluginDescription = "Vehicle Signal Specification (VSS) Plugin of the KUKSA SDK. This is used in combination " + + "with the KSP processor component 'KUKSA VSS Processor'. The plugin is configured to provide " + + "VSS Files to KSP processor. This is mandatory to use the 'KUKSA VSS Processor' component." + val versionPath = "$rootDir/../$VERSION_FILE_DEFAULT_NAME" val semanticVersion = SemanticVersion(versionPath) version = semanticVersion.versionName @@ -42,15 +46,14 @@ group = "org.eclipse.kuksa" gradlePlugin { website.set("https://github.com/eclipse-kuksa/kuksa-android-sdk") vcsUrl.set("https://github.com/eclipse-kuksa/kuksa-android-sdk") + plugins { create("VssProcessorPlugin") { id = "org.eclipse.kuksa.vss-processor-plugin" implementationClass = "org.eclipse.kuksa.vssprocessor.plugin.VssProcessorPlugin" displayName = "VSS Processor Plugin" tags.set(listOf("KUKSA", "Vehicle Signal Specification", "VSS", "Android", "Kotlin")) - description = "Vehicle Signal Specification (VSS) Plugin of the KUKSA SDK. This is used in combination " + - "with the KSP processor component 'KUKSA VSS Processor'. The plugin is configured to provide " + - "VSS Files to KSP processor. This is mandatory to use the 'KUKSA VSS Processor' component." + description = pluginDescription } } } @@ -73,38 +76,43 @@ afterEvaluate { // automatic timestamps / build number being added as a postfix to the files. } publications { - getByName("pluginMaven") { - pom { - licenses { - license { - name.set("The Apache Software License, Version 2.0") - url.set("http://www.apache.org/licenses/LICENSE-2.0.txt") + all { + with((this as MavenPublication)) { + pom { + name = "${project.group}:${project.name}" + description = pluginDescription + url = "https://github.com/eclipse-kuksa/kuksa-android-sdk" + licenses { + license { + name.set("The Apache Software License, Version 2.0") + url.set("http://www.apache.org/licenses/LICENSE-2.0.txt") + } } - } - developers { - developer { - name.set("Mark Hüsers") - email.set("mark.huesers@etas.com") - organization.set("ETAS GmbH") - organizationUrl.set("https://www.etas.com") + developers { + developer { + name.set("Mark Hüsers") + email.set("mark.huesers@etas.com") + organization.set("ETAS GmbH") + organizationUrl.set("https://www.etas.com") + } + developer { + name.set("Sebastian Schildt") + email.set("sebastian.schildt@etas.com") + organization.set("ETAS GmbH") + organizationUrl.set("https://www.etas.com") + } + developer { + name.set("Andre Weber") + email.set("andre.weber3@etas.com") + organization.set("ETAS GmbH") + organizationUrl.set("https://www.etas.com") + } } - developer { - name.set("Sebastian Schildt") - email.set("sebastian.schildt@etas.com") - organization.set("ETAS GmbH") - organizationUrl.set("https://www.etas.com") + scm { + connection.set("scm:git:github.com/eclipse-kuksa/kuksa-android-sdk.git") + developerConnection.set("scm:git:ssh://github.com/eclipse-kuksa/kuksa-android-sdk.git") + url.set("https://github.com/eclipse-kuksa/kuksa-android-sdk/tree/main") } - developer { - name.set("Andre Weber") - email.set("andre.weber3@etas.com") - organization.set("ETAS GmbH") - organizationUrl.set("https://www.etas.com") - } - } - scm { - connection.set("scm:git:github.com/eclipse-kuksa/kuksa-android-sdk.git") - developerConnection.set("scm:git:ssh://github.com/eclipse-kuksa/kuksa-android-sdk.git") - url.set("https://github.com/eclipse-kuksa/kuksa-android-sdk/tree/main") } } }