diff --git a/CHANGELOG.md b/CHANGELOG.md index d0d5040..887a2e3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,35 @@ +# Version 1.4.0 + +Nmcp can now be 100% configured from `settings.gradle[.kts]`: + +```kotlin +// settings.gradle.kts +plugins { + id("com.gradleup.nmcp.setting").version("1.4.0") +} + +nmcpAggregation { + centralPortal { + username = TODO() + password = TODO() + // ... + } +} +``` + +This version also contains a few quality of life improvements courtesy of @SimonMarquis and fixes an issue that could sometimes cause maven-metadata.xml to be out of sync. + +## What's Changed +* Clamp remaining time to seconds https://github.com/GradleUp/nmcp/pull/213 +* maven-metadata.xml: make sure the base version is always added to the list of versions https://github.com/GradleUp/nmcp/pull/214, https://github.com/GradleUp/nmcp/pull/222 +* Set an explicit configuration name to load nmcp-tasks nmcp https://github.com/GradleUp/nmcp/pull/215 +* Register tasks earlier so that they are generated as typesafe tasks accessors https://github.com/GradleUp/nmcp/pull/219 +* Expand the zip files when passing it to `allFiles` nmcp https://github.com/GradleUp/nmcp/pull/218 +* Publish to nmcp repo tasks should never be up-to-date nmcp https://github.com/GradleUp/nmcp/pull/221 +* Allow to configure the whole build from the settings script nmcp https://github.com/GradleUp/nmcp/pull/223 + + # Version 1.3.0 Enable [classloader isolation](https://github.com/GradleUp/gratatouille?tab=readme-ov-file#classloader-isolation-optional) to fix issues such as #210. @@ -8,23 +39,23 @@ Enable [classloader isolation](https://github.com/GradleUp/gratatouille?tab=read A few fixes mostly around the settings plugin + fixed the publishing timeout. ## All Changes -* Settings plugin: only apply to subprojects if the maven-publish plugin is applied by @martinbonnin in https://github.com/GradleUp/nmcp/pull/196 -* Settings plugin: allow the root project to apply both the regular and aggregation plugins by @martinbonnin in https://github.com/GradleUp/nmcp/pull/198 -* Use allprojects {} instead of subprojects {} by @martinbonnin in https://github.com/GradleUp/nmcp/pull/199 -* Fix publishing timeout by @martinbonnin in https://github.com/GradleUp/nmcp/pull/201 -* Add publishFileByFile(File, File) helper function by @martinbonnin in https://github.com/GradleUp/nmcp/pull/207 +* Settings plugin: only apply to subprojects if the maven-publish plugin is applied nmcp in https://github.com/GradleUp/nmcp/pull/196 +* Settings plugin: allow the root project to apply both the regular and aggregation plugins nmcp in https://github.com/GradleUp/nmcp/pull/198 +* Use allprojects {} instead of subprojects {} nmcp in https://github.com/GradleUp/nmcp/pull/199 +* Fix publishing timeout nmcp in https://github.com/GradleUp/nmcp/pull/201 +* Add publishFileByFile(File, File) helper function nmcp in https://github.com/GradleUp/nmcp/pull/207 # Version 1.2.0 Bunch of fixes + you can now call `nmcpPublishAggregationToMavenLocal` to verify your publishing process and/or test locally. ## All Changes -* Add plugin marker for the settings plugin by @martinbonnin in https://github.com/GradleUp/nmcp/pull/184 -* Update to gratatouille 0.1.1 and use @GPlugin for the settings plugin by @martinbonnin in https://github.com/GradleUp/nmcp/pull/185 -* Use the snapshot version of the gratatouille plugin by @martinbonnin in https://github.com/GradleUp/nmcp/pull/187 -* Add nmcpPublishAggregationToMavenLocal by @martinbonnin in https://github.com/GradleUp/nmcp/pull/192 -* Always populate snapshotVersions manually by @martinbonnin in https://github.com/GradleUp/nmcp/pull/193 -* Bump bootstrapped version by @martinbonnin in https://github.com/GradleUp/nmcp/pull/194 +* Add plugin marker for the settings plugin nmcp in https://github.com/GradleUp/nmcp/pull/184 +* Update to gratatouille 0.1.1 and use @GPlugin for the settings plugin nmcp in https://github.com/GradleUp/nmcp/pull/185 +* Use the snapshot version of the gratatouille plugin nmcp in https://github.com/GradleUp/nmcp/pull/187 +* Add nmcpPublishAggregationToMavenLocal nmcp in https://github.com/GradleUp/nmcp/pull/192 +* Always populate snapshotVersions manually nmcp in https://github.com/GradleUp/nmcp/pull/193 +* Bump bootstrapped version nmcp in https://github.com/GradleUp/nmcp/pull/194 # Version 1.1.0 @@ -46,9 +77,9 @@ You may also experiment with different values of parallelism (current default is ## All changes * Improve comment and error message https://github.com/GradleUp/nmcp/pull/176 -* Add option to upload snapshots in parallel by @martinbonnin in https://github.com/GradleUp/nmcp/pull/180 +* Add option to upload snapshots in parallel nmcp in https://github.com/GradleUp/nmcp/pull/180 * Update compat-patrouille https://github.com/GradleUp/nmcp/pull/179 -* Enable parallelism by default by @martinbonnin in https://github.com/GradleUp/nmcp/pull/181 +* Enable parallelism by default nmcp in https://github.com/GradleUp/nmcp/pull/181 # Version 1.0.3 @@ -56,77 +87,77 @@ You may also experiment with different values of parallelism (current default is Compatibility with isolated projects alongside a few UX improvements. ## All changes -* Add description to the tasks so that they are visible in `./gradlew --tasks` by @martinbonnin in https://github.com/GradleUp/nmcp/pull/160 -* Compatibility with isolated projects by @martinbonnin in https://github.com/GradleUp/nmcp/pull/164 -* Better error message on missing credentials by @martinbonnin in https://github.com/GradleUp/nmcp/pull/167 -* Hide nmcpClient by @martinbonnin in https://github.com/GradleUp/nmcp/pull/168 -* Check that `publishingType` has a valid value by @martinbonnin in https://github.com/GradleUp/nmcp/pull/169 -* Improve the error message on publishing errors by @martinbonnin in https://github.com/GradleUp/nmcp/pull/149 -* Add NmcpExtension.extraFiles() by @martinbonnin in https://github.com/GradleUp/nmcp/pull/170 -* Bump compat-patrouille by @martinbonnin in https://github.com/GradleUp/nmcp/pull/172 +* Add description to the tasks so that they are visible in `./gradlew --tasks` nmcp in https://github.com/GradleUp/nmcp/pull/160 +* Compatibility with isolated projects nmcp in https://github.com/GradleUp/nmcp/pull/164 +* Better error message on missing credentials nmcp in https://github.com/GradleUp/nmcp/pull/167 +* Hide nmcpClient nmcp in https://github.com/GradleUp/nmcp/pull/168 +* Check that `publishingType` has a valid value nmcp in https://github.com/GradleUp/nmcp/pull/169 +* Improve the error message on publishing errors nmcp in https://github.com/GradleUp/nmcp/pull/149 +* Add NmcpExtension.extraFiles() nmcp in https://github.com/GradleUp/nmcp/pull/170 +* Bump compat-patrouille nmcp in https://github.com/GradleUp/nmcp/pull/172 # Version 1.0.2 * Add simple check to prevent some GHA workflows to run on forks by @SimonMarquis in https://github.com/GradleUp/nmcp/pull/152 * Replace `DisplayNameTest` with a more robust `FindDeploymentNameTest` by @SimonMarquis in https://github.com/GradleUp/nmcp/pull/151 -* Make tasks visible in `./gradlew tasks` by @martinbonnin in https://github.com/GradleUp/nmcp/pull/156 -* Fix OkHttp Response leak by @martinbonnin in https://github.com/GradleUp/nmcp/pull/158 +* Make tasks visible in `./gradlew tasks` nmcp in https://github.com/GradleUp/nmcp/pull/156 +* Fix OkHttp Response leak nmcp in https://github.com/GradleUp/nmcp/pull/158 # Version 1.0.1 -* Tweak symbols visibility by @martinbonnin in https://github.com/GradleUp/nmcp/pull/138 -* Hide more symbols by @martinbonnin in https://github.com/GradleUp/nmcp/pull/140 -* Fix publishingTimeout KDoc by @martinbonnin in https://github.com/GradleUp/nmcp/pull/146 -* Fix parsing artifact metadata with a modelVersion by @martinbonnin in https://github.com/GradleUp/nmcp/pull/147 +* Tweak symbols visibility nmcp in https://github.com/GradleUp/nmcp/pull/138 +* Hide more symbols nmcp in https://github.com/GradleUp/nmcp/pull/140 +* Fix publishingTimeout KDoc nmcp in https://github.com/GradleUp/nmcp/pull/146 +* Fix parsing artifact metadata with a modelVersion nmcp in https://github.com/GradleUp/nmcp/pull/147 * Document all options in `README.md` by @SimonMarquis in https://github.com/GradleUp/nmcp/pull/145 # Version 1.0.0 -* Try to guess better deployment names by @martinbonnin in https://github.com/GradleUp/nmcp/pull/130 +* Try to guess better deployment names nmcp in https://github.com/GradleUp/nmcp/pull/130 * Fix typo in log message in `nmcpPublishWithPublisherApi.kt` by @SimonMarquis in https://github.com/GradleUp/nmcp/pull/131 -* Add GitHub action to publish Kdocs by @martinbonnin in https://github.com/GradleUp/nmcp/pull/135 +* Add GitHub action to publish Kdocs nmcp in https://github.com/GradleUp/nmcp/pull/135 # Version 1.0.0-rc.1 -* Publish all projects (including root), and not only subprojects by @martinbonnin in https://github.com/GradleUp/nmcp/pull/124 -* Add intermediate zip task back by @martinbonnin in https://github.com/GradleUp/nmcp/pull/126 -* Update librarian and nmcp bootstrap versions (fixes the aggregation plugin marker) by @martinbonnin in https://github.com/GradleUp/nmcp/pull/128 +* Publish all projects (including root), and not only subprojects nmcp in https://github.com/GradleUp/nmcp/pull/124 +* Add intermediate zip task back nmcp in https://github.com/GradleUp/nmcp/pull/126 +* Update librarian and nmcp bootstrap versions (fixes the aggregation plugin marker) nmcp in https://github.com/GradleUp/nmcp/pull/128 # Version 1.0.0-rc.0 -* Make uploading snapshots less verbose by @martinbonnin in https://github.com/GradleUp/nmcp/pull/120 -* Add logs for zipping the files by @martinbonnin in https://github.com/GradleUp/nmcp/pull/121 -* Fix an OkHttp response leak by @martinbonnin in https://github.com/GradleUp/nmcp/pull/122 +* Make uploading snapshots less verbose nmcp in https://github.com/GradleUp/nmcp/pull/120 +* Add logs for zipping the files nmcp in https://github.com/GradleUp/nmcp/pull/121 +* Fix an OkHttp response leak nmcp in https://github.com/GradleUp/nmcp/pull/122 # Version 0.2.1 -* Update changelog and readme by @martinbonnin in https://github.com/GradleUp/nmcp/pull/92 -* Remove single module from the README, we want to focus on aggregation use cases by @martinbonnin in https://github.com/GradleUp/nmcp/pull/105 -* Improve logging by @martinbonnin in https://github.com/GradleUp/nmcp/pull/106 -* Use "Authentication: Bearer" instead of "Authentication: UserToken" by @martinbonnin in https://github.com/GradleUp/nmcp/pull/107 -* update Gratatouille by @martinbonnin in https://github.com/GradleUp/nmcp/pull/108 -* Use a lenient configuration by @martinbonnin in https://github.com/GradleUp/nmcp/pull/109 -* Add transport API by @martinbonnin in https://github.com/GradleUp/nmcp/pull/110 -* Drop support for publishing a single publication by @martinbonnin in https://github.com/GradleUp/nmcp/pull/111 -* Validate username and password early by @martinbonnin in https://github.com/GradleUp/nmcp/pull/104 -* [infra] Release automatically by @martinbonnin in https://github.com/GradleUp/nmcp/pull/112 -* Add NmcpAggregationExtension.allFiles by @martinbonnin in https://github.com/GradleUp/nmcp/pull/114 -* hide some symbols by @martinbonnin in https://github.com/GradleUp/nmcp/pull/113 +* Update changelog and readme nmcp in https://github.com/GradleUp/nmcp/pull/92 +* Remove single module from the README, we want to focus on aggregation use cases nmcp in https://github.com/GradleUp/nmcp/pull/105 +* Improve logging nmcp in https://github.com/GradleUp/nmcp/pull/106 +* Use "Authentication: Bearer" instead of "Authentication: UserToken" nmcp in https://github.com/GradleUp/nmcp/pull/107 +* update Gratatouille nmcp in https://github.com/GradleUp/nmcp/pull/108 +* Use a lenient configuration nmcp in https://github.com/GradleUp/nmcp/pull/109 +* Add transport API nmcp in https://github.com/GradleUp/nmcp/pull/110 +* Drop support for publishing a single publication nmcp in https://github.com/GradleUp/nmcp/pull/111 +* Validate username and password early nmcp in https://github.com/GradleUp/nmcp/pull/104 +* [infra] Release automatically nmcp in https://github.com/GradleUp/nmcp/pull/112 +* Add NmcpAggregationExtension.allFiles nmcp in https://github.com/GradleUp/nmcp/pull/114 +* hide some symbols nmcp in https://github.com/GradleUp/nmcp/pull/113 # Version 0.2.0 -* Configure compatibility flags by @martinbonnin in https://github.com/GradleUp/nmcp/pull/89 -* Change the default publishingType to AUTOMATIC by @martinbonnin in https://github.com/GradleUp/nmcp/pull/90 -* Add `publishingTimeout` and restore log messages by @martinbonnin in https://github.com/GradleUp/nmcp/pull/91 -* Compatibility with Kotlin 1.9 by @martinbonnin in https://github.com/GradleUp/nmcp/pull/94 -* Hide internal tasks by @martinbonnin in https://github.com/GradleUp/nmcp/pull/95 -* PUBLISHING is also a valid status by @martinbonnin in https://github.com/GradleUp/nmcp/pull/97 -* Unify snapshots code by @martinbonnin in https://github.com/GradleUp/nmcp/pull/96 -* Add `com.gradleup.nmcp.settings` by @martinbonnin in https://github.com/GradleUp/nmcp/pull/98 -* Remove intermediate zip task by @martinbonnin in https://github.com/GradleUp/nmcp/pull/99 -* Simplify finding a name for the deployment by @martinbonnin in https://github.com/GradleUp/nmcp/pull/100 -* Add publishAggregationToCentralPortalSnapshots as a "shortcut" lifecyle task by @martinbonnin in https://github.com/GradleUp/nmcp/pull/101 -* Only update maven-metadata.xml once all the files have been uploaded by @martinbonnin in https://github.com/GradleUp/nmcp/pull/102 +* Configure compatibility flags nmcp in https://github.com/GradleUp/nmcp/pull/89 +* Change the default publishingType to AUTOMATIC nmcp in https://github.com/GradleUp/nmcp/pull/90 +* Add `publishingTimeout` and restore log messages nmcp in https://github.com/GradleUp/nmcp/pull/91 +* Compatibility with Kotlin 1.9 nmcp in https://github.com/GradleUp/nmcp/pull/94 +* Hide internal tasks nmcp in https://github.com/GradleUp/nmcp/pull/95 +* PUBLISHING is also a valid status nmcp in https://github.com/GradleUp/nmcp/pull/97 +* Unify snapshots code nmcp in https://github.com/GradleUp/nmcp/pull/96 +* Add `com.gradleup.nmcp.settings` nmcp in https://github.com/GradleUp/nmcp/pull/98 +* Remove intermediate zip task nmcp in https://github.com/GradleUp/nmcp/pull/99 +* Simplify finding a name for the deployment nmcp in https://github.com/GradleUp/nmcp/pull/100 +* Add publishAggregationToCentralPortalSnapshots as a "shortcut" lifecyle task nmcp in https://github.com/GradleUp/nmcp/pull/101 +* Only update maven-metadata.xml once all the files have been uploaded nmcp in https://github.com/GradleUp/nmcp/pull/102 # Version 0.1.5 @@ -145,9 +176,9 @@ This limitation will be lifted in a future version. # Version 0.1.4 * fix: improve deployment status toString() by @vlsi in https://github.com/GradleUp/nmcp/pull/60 -* Fix deployment name by @martinbonnin in https://github.com/GradleUp/nmcp/pull/62 -* Add `publishAggregationToCentralSnapshots` and `publishFooPublicationToCentralSnapshots` by @martinbonnin in https://github.com/GradleUp/nmcp/pull/63 -* Remove empty aggregation check by @martinbonnin in https://github.com/GradleUp/nmcp/pull/64 +* Fix deployment name nmcp in https://github.com/GradleUp/nmcp/pull/62 +* Add `publishAggregationToCentralSnapshots` and `publishFooPublicationToCentralSnapshots` nmcp in https://github.com/GradleUp/nmcp/pull/63 +* Remove empty aggregation check nmcp in https://github.com/GradleUp/nmcp/pull/64 # Version 0.1.3 diff --git a/docs/public/favicon.svg b/docs/public/favicon.svg index 35682c7..22e1150 100644 --- a/docs/public/favicon.svg +++ b/docs/public/favicon.svg @@ -4,7 +4,7 @@ - + diff --git a/docs/src/assets/logo.svg b/docs/src/assets/logo.svg index 1f71abf..825ef80 100644 --- a/docs/src/assets/logo.svg +++ b/docs/src/assets/logo.svg @@ -4,7 +4,7 @@ - + diff --git a/docs/src/content/docs/index.mdx b/docs/src/content/docs/index.mdx index b1a8595..d20d5c4 100644 --- a/docs/src/content/docs/index.mdx +++ b/docs/src/content/docs/index.mdx @@ -34,10 +34,10 @@ Add the `com.gradleup.nmcp.settings` plugin to your `settings.gradle[.kts]` file ```kotlin // settings.gradle[.kts] plugins { - id("com.gradleup.nmcp.aggregation").version("1.3.0") + id("com.gradleup.nmcp.settings").version("1.4.0") } -nmcpAggregation { +nmcpSettings { centralPortal { username = TODO("Create a token username at https://central.sonatype.com/") password = TODO("Create a token password at https://central.sonatype.com/") diff --git a/docs/src/content/docs/manual-configuration.mdx b/docs/src/content/docs/manual-configuration.mdx index 9a964a1..f458d45 100644 --- a/docs/src/content/docs/manual-configuration.mdx +++ b/docs/src/content/docs/manual-configuration.mdx @@ -16,7 +16,7 @@ Apply the `com.gradleup.nmcp` plugin to all the projects that need to be publish ```kotlin // module-a/build.gradle.kts plugins { - id("com.gradleup.nmcp").version("1.3.0") + id("com.gradleup.nmcp").version("1.4.0") } ``` @@ -33,7 +33,7 @@ In the project where you want to upload the deployment (typically your root proj ```kotlin // build.gradle.kts plugins { - id("com.gradleup.nmcp.aggregation").version("1.3.0") + id("com.gradleup.nmcp.aggregation").version("1.4.0") } nmcpAggregation { diff --git a/librarian.root.properties b/librarian.root.properties index f2b1514..e0af320 100644 --- a/librarian.root.properties +++ b/librarian.root.properties @@ -5,7 +5,7 @@ kdoc.olderVersions= kdoc.artifactId=kdoc pom.groupId=com.gradleup.nmcp -pom.version=1.4.0-SNAPSHOT +pom.version=1.4.1-SNAPSHOT pom.description=New Maven Central Publishing pom.vcsUrl=https://github.com/gradleup/nmcp pom.developer=nmcp authors