From 72f5494060e8df5a2229cd0ce43714dc8cf78d16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=B3bert=20Papp=20=28TWiStErRob=29?= Date: Sun, 12 Mar 2023 16:58:26 +0000 Subject: [PATCH 1/7] Fix space --- .../net/twisterrob/gradle/build/publishing/PublishingPlugin.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/plugins/src/main/kotlin/net/twisterrob/gradle/build/publishing/PublishingPlugin.kt b/gradle/plugins/src/main/kotlin/net/twisterrob/gradle/build/publishing/PublishingPlugin.kt index 3b6056bda..d299db27c 100644 --- a/gradle/plugins/src/main/kotlin/net/twisterrob/gradle/build/publishing/PublishingPlugin.kt +++ b/gradle/plugins/src/main/kotlin/net/twisterrob/gradle/build/publishing/PublishingPlugin.kt @@ -94,7 +94,7 @@ private fun MavenPublication.setupPublication(project: Project) { setupLinks(project) reorderNodes(project) } - + private fun MavenPublication.fixMarkers(project: Project) { project.gradlePlugin.plugins.forEach { plugin -> // Needs to be eager getByName rather than named because we're already inside a named block at call-site. From dcb92d7a91305ee3fdb76a6fd410cd2ae47db5ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=B3bert=20Papp=20=28TWiStErRob=29?= Date: Sun, 12 Mar 2023 16:58:46 +0000 Subject: [PATCH 2/7] Bump version numbers --- docs/examples/local/build.gradle.kts | 2 +- docs/examples/local/settings.gradle.kts | 2 +- docs/examples/release/build.gradle.kts | 4 +--- docs/examples/release/settings.gradle.kts | 2 +- docs/examples/snapshot/build.gradle.kts | 2 +- docs/examples/snapshot/settings.gradle.kts | 2 +- gradle.properties | 2 +- 7 files changed, 7 insertions(+), 9 deletions(-) diff --git a/docs/examples/local/build.gradle.kts b/docs/examples/local/build.gradle.kts index dc422bd48..b9a24fb82 100644 --- a/docs/examples/local/build.gradle.kts +++ b/docs/examples/local/build.gradle.kts @@ -1,6 +1,6 @@ plugins { id("com.android.application") version "7.4.2" - id("net.twisterrob.gradle.plugin.quality") version "0.15.1-SNAPSHOT" + id("net.twisterrob.gradle.plugin.quality") version "0.16-SNAPSHOT" } android { diff --git a/docs/examples/local/settings.gradle.kts b/docs/examples/local/settings.gradle.kts index 667ab67ae..344f61238 100644 --- a/docs/examples/local/settings.gradle.kts +++ b/docs/examples/local/settings.gradle.kts @@ -26,7 +26,7 @@ pluginManagement { } plugins { - id("net.twisterrob.gradle.plugin.settings") version "0.15.1-SNAPSHOT" + id("net.twisterrob.gradle.plugin.settings") version "0.16-SNAPSHOT" } if (!JavaVersion.current().isJava11Compatible) { diff --git a/docs/examples/release/build.gradle.kts b/docs/examples/release/build.gradle.kts index cc2168504..e546790d9 100644 --- a/docs/examples/release/build.gradle.kts +++ b/docs/examples/release/build.gradle.kts @@ -1,8 +1,6 @@ plugins { id("com.android.application") version "7.4.2" - // TODEL resolutionStrategy in settings.gradle.kts after changing to release 0.15.1 - // TODO change plugin name after changing to release 0.15.1 - id("net.twisterrob.quality") version "0.15" + id("net.twisterrob.quality") version "0.15.1" } android { diff --git a/docs/examples/release/settings.gradle.kts b/docs/examples/release/settings.gradle.kts index bf0745da6..45aba74a1 100644 --- a/docs/examples/release/settings.gradle.kts +++ b/docs/examples/release/settings.gradle.kts @@ -29,7 +29,7 @@ pluginManagement { } plugins { - id("net.twisterrob.settings") version "0.15" + id("net.twisterrob.settings") version "0.15.1" } if (!JavaVersion.current().isJava11Compatible) { diff --git a/docs/examples/snapshot/build.gradle.kts b/docs/examples/snapshot/build.gradle.kts index 2c1a49d52..0cbc4aa04 100644 --- a/docs/examples/snapshot/build.gradle.kts +++ b/docs/examples/snapshot/build.gradle.kts @@ -1,6 +1,6 @@ plugins { id("com.android.application") version "7.4.2" - id("net.twisterrob.gradle.plugin.quality") version "0.15.1-SNAPSHOT" + id("net.twisterrob.gradle.plugin.quality") version "0.16-SNAPSHOT" } android { diff --git a/docs/examples/snapshot/settings.gradle.kts b/docs/examples/snapshot/settings.gradle.kts index 10551b7dc..87c70e207 100644 --- a/docs/examples/snapshot/settings.gradle.kts +++ b/docs/examples/snapshot/settings.gradle.kts @@ -31,7 +31,7 @@ pluginManagement { } plugins { - id("net.twisterrob.gradle.plugin.settings") version "0.15.1-SNAPSHOT" + id("net.twisterrob.gradle.plugin.settings") version "0.16-SNAPSHOT" } if (!JavaVersion.current().isJava11Compatible) { diff --git a/gradle.properties b/gradle.properties index 04c14602d..554228dc7 100644 --- a/gradle.properties +++ b/gradle.properties @@ -18,7 +18,7 @@ org.gradle.jvmargs=-Dfile.encoding=UTF-8 -Xmx2G -Dorg.gradle.deprecation.trace=t # REPORT Kotlin 1.6.21 eagerly puts itself on the classpath, even though the apiVersion is set. kotlin.stdlib.default.dependency=false -projectVersion=0.15.1 +projectVersion=0.16-SNAPSHOT # Default test substitutions net.twisterrob.test.android.compileSdkVersion=android-30 From 6a41b945602c1aea1ef75c4eb1f4520f944ea7fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=B3bert=20Papp=20=28TWiStErRob=29?= Date: Sun, 12 Mar 2023 17:04:41 +0000 Subject: [PATCH 3/7] Review release steps --- docs/release.md | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/docs/release.md b/docs/release.md index 66bec10de..cc90111c3 100644 --- a/docs/release.md +++ b/docs/release.md @@ -4,7 +4,6 @@ For the full process see [.github/release.md](https://github.com/TWiStErRob/.git 1. Make sure local copy is on latest `master` `git fetch -p & git checkout master & git reset --hard origin/master` - 1. `git add gradle.properties README.md & git commit -m "Release x.y"` * `gradle.properties`: remove `-SNAPSHOT` suffix Double-check that version is `x.y` * `README.md`: review compatibility table @@ -30,7 +29,7 @@ For the full process see [.github/release.md](https://github.com/TWiStErRob/.git * > Failed to load staging profiles, server at https://s01.oss.sonatype.org/service/local/ responded with status code 401, body: Means the username or password is wrong. - * Open [Sonatype Nexus Repository Manager](https://s01.oss.sonatype.org/#stagingRepositories), log in and close staging repository output at console to validate. + * Open [Sonatype Nexus Repository Manager](https://s01.oss.sonatype.org/#stagingRepositories), log in and **close staging repository**; check output at console to validate. 1. Archive and final integration test. * Run `p:\repos\release\net.twisterrob.gradle\download-repo.bat` Need to change mvn2get.json's `remote_repo_urls`. @@ -45,23 +44,22 @@ For the full process see [.github/release.md](https://github.com/TWiStErRob/.git } filter { includeVersionByRegex("""^net\.twisterrob\.gradle$""", ".*", "^${Regex.escape("x.y")}$") + includeVersionByRegex("""^net\.twisterrob\.gradle\.plugin\.[^.]+$""", ".*", "^${Regex.escape("x.y")}$") } } } ``` 1. Repeat previous steps as necessary. - 1. `git push origin master:master` to get the "Release x.y" commit published. + 1. Merge the PR to `master`. 1. Release staging repository at [Sonatype Nexus Repository Manager](https://s01.oss.sonatype.org/#stagingRepositories) 1. Watch [Maven Central](https://repo1.maven.org/maven2/net/twisterrob/gradle/twister-quality/) for the artifact to appear. May take a few minutes. ## Prepare next release `x.z` - - 1. `git add gradle.properties docs/examples/*/build.gradle.kts & git commit -m "Pre-Release x.z"` + 1. Create a PR titled "Pre-Release x.z" to `master` with the following changes: * `gradle.properties`: version number `x.z-SNAPSHOT` - * `docs/examples/local/build.gradle.kts`: plugin version `x.z-SNAPSHOT` - * `docs/examples/snapshot/build.gradle.kts`: plugin version `x.z-SNAPSHOT` - * `docs/examples/release/build.gradle.kts`: plugin version `x.y` - 1. Push commit to `origin/master`. + * `docs/examples/local/build.gradle.kts` + `settings.gradle.kts`: plugin version `x.z-SNAPSHOT` + * `docs/examples/snapshot/build.gradle.kts` + `settings.gradle.kts`: plugin version `x.z-SNAPSHOT` + * `docs/examples/release/build.gradle.kts` + `settings.gradle.kts`: plugin version `x.y` 1. [Create milestone](https://github.com/TWiStErRob/net.twisterrob.gradle/milestones/new) `vx.z`, if doesn't exist yet. [1]: https://github.com/TWiStErRob/.github/blob/main/RELEASE.md#release-process From f4363764e80016df507188e20a95920855dfd3f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=B3bert=20Papp=20=28TWiStErRob=29?= Date: Sun, 12 Mar 2023 17:06:37 +0000 Subject: [PATCH 4/7] Revisit renovate config to prevent https://github.com/TWiStErRob/net.twisterrob.gradle/pull/427 --- .github/renovate.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/renovate.json b/.github/renovate.json index de92dff18..d2bba7f4f 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -35,10 +35,10 @@ "enabled": false }, { - "description": "Disable updating Quality plugin in example projects, they're part of the release process.", + "description": "Disable updating plugins in example projects, they're part of the release process.", "matchPackageNames": [ - "net.twisterrob.quality", - "net.twisterrob.gradle.plugin.quality" + "net.twisterrob.gradle.plugin.quality", + "net.twisterrob.gradle.plugin.settings" ], "matchPaths": [ "docs/examples/release/**", From 3ef77e392aa8ca10ba5fcf85f43c10558d2eab1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=B3bert=20Papp=20=28TWiStErRob=29?= Date: Sun, 12 Mar 2023 17:10:59 +0000 Subject: [PATCH 5/7] Rename plugins --- docs/examples/local/settings.gradle.kts | 2 +- docs/examples/release/build.gradle.kts | 2 +- docs/examples/release/settings.gradle.kts | 6 +----- docs/examples/snapshot/settings.gradle.kts | 2 +- 4 files changed, 4 insertions(+), 8 deletions(-) diff --git a/docs/examples/local/settings.gradle.kts b/docs/examples/local/settings.gradle.kts index 344f61238..5c8f56e47 100644 --- a/docs/examples/local/settings.gradle.kts +++ b/docs/examples/local/settings.gradle.kts @@ -18,7 +18,7 @@ pluginManagement { mavenLocal() } filter { - includeGroupByRegex("""^net\.twisterrob\.gradle\.plugin\..*$""") + includeGroupByRegex("""^net\.twisterrob\.gradle\.plugin\.[^.]+$""") includeGroupByRegex("""^net\.twisterrob\.gradle$""") } } diff --git a/docs/examples/release/build.gradle.kts b/docs/examples/release/build.gradle.kts index e546790d9..ddd4263fd 100644 --- a/docs/examples/release/build.gradle.kts +++ b/docs/examples/release/build.gradle.kts @@ -1,6 +1,6 @@ plugins { id("com.android.application") version "7.4.2" - id("net.twisterrob.quality") version "0.15.1" + id("net.twisterrob.gradle.plugin.quality") version "0.15.1" } android { diff --git a/docs/examples/release/settings.gradle.kts b/docs/examples/release/settings.gradle.kts index 45aba74a1..e94db970c 100644 --- a/docs/examples/release/settings.gradle.kts +++ b/docs/examples/release/settings.gradle.kts @@ -19,17 +19,13 @@ pluginManagement { when (requested.id.id) { "com.android.application" -> useModule("com.android.tools.build:gradle:${requested.version}") - "net.twisterrob.quality" -> - useModule("net.twisterrob.gradle:twister-quality:${requested.version}") - "net.twisterrob.settings" -> - useModule("net.twisterrob.gradle:twister-convention-settings:${requested.version}") } } } } plugins { - id("net.twisterrob.settings") version "0.15.1" + id("net.twisterrob.gradle.plugin.settings") version "0.15.1" } if (!JavaVersion.current().isJava11Compatible) { diff --git a/docs/examples/snapshot/settings.gradle.kts b/docs/examples/snapshot/settings.gradle.kts index 87c70e207..b05869c66 100644 --- a/docs/examples/snapshot/settings.gradle.kts +++ b/docs/examples/snapshot/settings.gradle.kts @@ -23,7 +23,7 @@ pluginManagement { } } filter { - includeGroupByRegex("""^net\.twisterrob\.gradle\.plugin\..*$""") + includeGroupByRegex("""^net\.twisterrob\.gradle\.plugin\.[^.]+$""") includeGroupByRegex("""^net\.twisterrob\.gradle$""") } } From d57488f18a81d8f8a3910a40a47928127fa394a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=B3bert=20Papp=20=28TWiStErRob=29?= Date: Sun, 12 Mar 2023 17:11:39 +0000 Subject: [PATCH 6/7] Remove unnecessary plugin resolution --- docs/examples/release/settings.gradle.kts | 8 -------- 1 file changed, 8 deletions(-) diff --git a/docs/examples/release/settings.gradle.kts b/docs/examples/release/settings.gradle.kts index e94db970c..dc90b25ff 100644 --- a/docs/examples/release/settings.gradle.kts +++ b/docs/examples/release/settings.gradle.kts @@ -14,14 +14,6 @@ pluginManagement { } } } - resolutionStrategy { - eachPlugin { - when (requested.id.id) { - "com.android.application" -> - useModule("com.android.tools.build:gradle:${requested.version}") - } - } - } } plugins { From b89314f0f069339205b22d8a614a4377fbe52fa0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=B3bert=20Papp=20=28TWiStErRob=29?= Date: Sun, 12 Mar 2023 17:13:21 +0000 Subject: [PATCH 7/7] More docs --- docs/release.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/release.md b/docs/release.md index cc90111c3..2adeceab9 100644 --- a/docs/release.md +++ b/docs/release.md @@ -7,6 +7,7 @@ For the full process see [.github/release.md](https://github.com/TWiStErRob/.git * `gradle.properties`: remove `-SNAPSHOT` suffix Double-check that version is `x.y` * `README.md`: review compatibility table + * Label the PR `a:feature`, `in:meta`. 1. Upload * Set up credentials * `sonatypeUsername` is the account name of https://s01.oss.sonatype.org/ @@ -60,6 +61,7 @@ For the full process see [.github/release.md](https://github.com/TWiStErRob/.git * `docs/examples/local/build.gradle.kts` + `settings.gradle.kts`: plugin version `x.z-SNAPSHOT` * `docs/examples/snapshot/build.gradle.kts` + `settings.gradle.kts`: plugin version `x.z-SNAPSHOT` * `docs/examples/release/build.gradle.kts` + `settings.gradle.kts`: plugin version `x.y` + * Label the PR `a:feature`, `in:meta`. 1. [Create milestone](https://github.com/TWiStErRob/net.twisterrob.gradle/milestones/new) `vx.z`, if doesn't exist yet. [1]: https://github.com/TWiStErRob/.github/blob/main/RELEASE.md#release-process