diff --git a/README.md b/README.md index e788ec1..8e72dda 100644 --- a/README.md +++ b/README.md @@ -5,79 +5,56 @@ [![Changelog](https://img.shields.io/badge/keepachangelog-yes-brightgreen.svg)](#changelog) [![CircleCI](https://circleci.com/gh/diffplug/blowdryer-diffplug.svg?style=shield)](https://circleci.com/gh/diffplug/blowdryer-diffplug) -## Users +# Changelog +## [Unreleased] -| user | updated on | to version | -| :----------------------------------------------------------------------- | :---------- | :--------- | -| [atplug](https://github.com/diffplug/atplug) | 2023-01-28 | `7.0.0` | -| [blowdryer](https://github.com/diffplug/blowdryer) | 2023-01-28 | `7.0.0` | -| [durian-globals](https://github.com/diffplug/durian-globals) | 2020-06-05 | `3.2.2` | -| [durian-rx](https://github.com/diffplug/durian-rx) | 2020-01-12 | `3.1.0` | -| [durian-swt](https://github.com/diffplug/durian-swt) | 2021-12-16 | `5.1.3` | -| [goomph](https://github.com/diffplug/goomph) | 2023-02-28 | `7.0.1` | -| [freshmark](https://github.com/diffplug/freshmark) | 2023-02-05 | `7.0.0` | -| [jscriptbox](https://github.com/diffplug/jscriptbox) | 2023-02-05 | `7.0.0` | -| [libxdiff](https://github.com/diffplug/libxdiff) | 2021-02-18 | `3.3.0` | -| [image-grinder](https://github.com/diffplug/image-grinder) | 2020-12-16 | `5.1.3` | -| [spotless-changelog](https://github.com/diffplug/spotless-changelog) | 2023-01-28 | `7.0.0` | -| *internal projects* | | | -| [buildcloset](http://gitlab.diffplug.local/diffplug/buildcloset/) | 2020-01-12 | `3.2.5` | -| website | 2021-05-28 | `5.0.2` | +## [9.1.0] - 2025-08-22 +### Added +- In `settings.gradle`, add `apply from: com.diffplug.blowdryer.Blowdryer.file('base/buildscan-on-ci.gradle')` and you'll get buildscans in CI. -## Available scripts (without `.gradle` extension) +## [9.0.5] - 2025-07-29 +### Fixed +- `changelogBumpFreshmarkGitAdd` no longer triggers a "deprecated in Gradle 9" warning. -- **spotless/freshmark** - applies to `*.gradle` and `*.md` - - if `com.diffplug.spotless-changelog` is applied in this or the parent project, then `versionLast` will be set in freshmark -- **spotless/java** - applies to `*.gradle` and java sourcesets - - `干.proj('license', 'supported: [apache, confidential, lgpl-2.1]')` -- **base/java** - sets up java 8 with UTF-8, clean eclipse projects, and mavenCentral - - `干.proj('ver_java', 'target JVM bytecode (8, 11, etc)')` -- **base/kotlin** - apply `org.jetbrains.kotlin.jvm` - - `干.projOptional('kotlin_jvmTarget', 'JVM target for the kotlin plugin')` -- **base/changelog** - pulls version information from a changelog in either the same project or the parent project -- **base/gradle-plugin** - sets up gradle plugin metadata and plugin portal publishing, fixes eclipse to hook gradle - - requires `id 'com.gradle.plugin-publish' version '0.10.1'` - - `干.proj('git_url', 'the git url with no protocol, e.g.: github.com/diffplug/blowdryer')` - - `干.proj('plugin_tags', 'space-delimited list of tags for the gradle plugin portal')` - - `干.proj('plugin_list', 'space-delimited list of plugin names')` - - `干.proj("plugin_${plugin}_id", "for ${plugin}: apply plugin: 'id'")` - - `干.proj("plugin_${plugin}_impl", "for ${plugin}: implementationClass")` - - `干.proj("plugin_${plugin}_name", "for ${plugin}: name for the plugin portal")` - - `干.proj("plugin_${plugin}_desc", "for ${plugin}: description for the plugin portal")` - - optional: `"plugin_${plugin}_tags" : space-delimited list of tags to override plugin_tags only for ${plugin}` -- **base/maven** - sets up maven-publish and javadoc - - `干.proj('git_url', 'the git url with no protocol, e.g.: github.com/diffplug/blowdryer')` - - `干.proj('maven_group', 'the maven group, recommend com.diffplug')` - - `干.proj('maven_artifact', 'the maven artifactId')` - - `干.proj('maven_name', 'human-friendly name')` - - `干.proj('maven_desc', 'human-friendly description')` - - `干.proj('javadoc_links', "space-delimited links, if you add '/package-list' to the urls you should get a package list")` - - `干.proj('license', 'supported: [apache, confidential, lgpl-2.1]')` -- **base/javadoc-agg** - aggregates javadoc from subprojects - - `干.proj('javadoc_agg', 'space-delimited list of projects containing javadoc to be aggregated')` - - (also a subset of **base/maven**) -- **base/sonatype** - publishes to mavenCentral - - requires `id 'io.github.gradle-nexus.publish-plugin' version '1.0.0'` - - unless `enable_publishing` is set in `gradle.properties`, this will be skipped - - `干.proj('nexus_user', 'username for nexus/mavencentral')` - - `干.proj('nexus_pass64', 'password for nexus/mavencentral')` - - `干.proj('gpg_key64', 'gpg --export-secret-keys --armor ')` - - `干.proj('gpg_passphrase', 'passphrase for unlocking gpg_key')` - - (also a subset of **base/maven**) -- **base/osgi** - adds OSGi metadata to the jar - - requires `id 'com.diffplug.osgi.bndmanifest' version '3.22.0'` (or later) - - `干.proj('osgi_export', '-exportcontents bnd directive')` - - `干.proj('osgi_symbolic_name', 'Bundle-SymbolicName')` - - (also a subset of **base/maven**) -- **base/autovalue** - adds Google AutoValue 1.7 - - requires `id 'com.diffplug.eclipse.apt' version '3.22.0'` (or later) - - `干.proj('VER_AUTOVALUE', 'the autovalue version the user wants')` -- **swt/svg-images** - renders SVG images from `src/svg` into `src/main/resources/svg-rendered` at 1x and 2x DPI (in-line with SWT high-DPI support) - - recommend adding `svg-rendered/` to `.gitignore` - - requires `id 'com.diffplug.image-grinder' version '2.1.2'` (or later) +## [9.0.4] - 2025-07-08 +### Changed +- Bump sonatype URLs now that [the old ones are dead](https://github.com/diffplug/spotless/pull/2539). -# Changelog -## [Unreleased] +## [9.0.3] - 2025-06-27 +### Changed +- Bumpled Kotlin to 2.2 +- Added `-Xconsistent-data-class-copy-visibility` to `compileKotlin` and `compileTestKotlin` + +## [9.0.2] - 2025-06-23 +### Fixed +- More spotless deprecation warnings. + +## [9.0.1] - 2025-06-23 +### Fixed +- Fix spotless deprecation warnings. +- Fix assignment deprecation warnings in `javadoc-view`. + +## [9.0.0] - 2025-05-27 +### Fixed +- **BREAKING** updating signing subkey to match what our org-level GitHub actions actually has. + +## [8.0.4] - 2025-05-27 +### Changed +- Bump all versions to latest, especially Kotlin `2.1.0` -> `2.1.21`. +- Hardcoded the `2C7F998F4272C851` signing subkey for our new GPG setup. +- Better default tag message for spotless-changelog. + +## [8.0.3] - 2024-12-11 +### Changed +- Bump plugin versions to latest (Kotlin 2.1.0). + +## [8.0.2] - 2024-09-03 +### Changed +- Bump plugin versions to latest. + +## [8.0.1] - 2024-08-04 +### Changed +- Tag message now has the `v{{version}}\n\n{changes}` format, as workaround for [cli/cli#9299](https://github.com/cli/cli/issues/9299). ## [8.0.0] - 2024-07-08 ### Changed @@ -287,6 +264,79 @@ First release. + +## Users + +| user | updated on | to version | +| :----------------------------------------------------------------------- | :---------- | :--------- | +| [atplug](https://github.com/diffplug/atplug) | 2023-01-28 | `7.0.0` | +| [blowdryer](https://github.com/diffplug/blowdryer) | 2023-01-28 | `7.0.0` | +| [durian-globals](https://github.com/diffplug/durian-globals) | 2020-06-05 | `3.2.2` | +| [durian-rx](https://github.com/diffplug/durian-rx) | 2020-01-12 | `3.1.0` | +| [durian-swt](https://github.com/diffplug/durian-swt) | 2021-12-16 | `5.1.3` | +| [goomph](https://github.com/diffplug/goomph) | 2023-02-28 | `7.0.1` | +| [freshmark](https://github.com/diffplug/freshmark) | 2023-02-05 | `7.0.0` | +| [jscriptbox](https://github.com/diffplug/jscriptbox) | 2023-02-05 | `7.0.0` | +| [libxdiff](https://github.com/diffplug/libxdiff) | 2021-02-18 | `3.3.0` | +| [image-grinder](https://github.com/diffplug/image-grinder) | 2020-12-16 | `5.1.3` | +| [spotless-changelog](https://github.com/diffplug/spotless-changelog) | 2023-01-28 | `7.0.0` | +| [webtools](https://github.com/diffplug/webtools) | 2025-07-28 | `9.0.5` | +| *internal projects* | | | +| [buildcloset](http://gitlab.diffplug.local/diffplug/buildcloset/) | 2020-01-12 | `3.2.5` | +| website | 2021-05-28 | `5.0.2` | + +## Available scripts (without `.gradle` extension) + +- **spotless/freshmark** - applies to `*.gradle` and `*.md` + - if `com.diffplug.spotless-changelog` is applied in this or the parent project, then `versionLast` will be set in freshmark +- **spotless/java** - applies to `*.gradle` and java sourcesets + - `干.proj('license', 'supported: [apache, confidential, lgpl-2.1]')` +- **base/java** - sets up java 8 with UTF-8, clean eclipse projects, and mavenCentral + - `干.proj('ver_java', 'target JVM bytecode (8, 11, etc)')` +- **base/kotlin** - apply `org.jetbrains.kotlin.jvm` + - `干.projOptional('kotlin_jvmTarget', 'JVM target for the kotlin plugin')` +- **base/changelog** - pulls version information from a changelog in either the same project or the parent project +- **base/gradle-plugin** - sets up gradle plugin metadata and plugin portal publishing, fixes eclipse to hook gradle + - requires `id 'com.gradle.plugin-publish' version '0.10.1'` + - `干.proj('git_url', 'the git url with no protocol, e.g.: github.com/diffplug/blowdryer')` + - `干.proj('plugin_tags', 'space-delimited list of tags for the gradle plugin portal')` + - `干.proj('plugin_list', 'space-delimited list of plugin names')` + - `干.proj("plugin_${plugin}_id", "for ${plugin}: apply plugin: 'id'")` + - `干.proj("plugin_${plugin}_impl", "for ${plugin}: implementationClass")` + - `干.proj("plugin_${plugin}_name", "for ${plugin}: name for the plugin portal")` + - `干.proj("plugin_${plugin}_desc", "for ${plugin}: description for the plugin portal")` + - optional: `"plugin_${plugin}_tags" : space-delimited list of tags to override plugin_tags only for ${plugin}` +- **base/maven** - sets up maven-publish and javadoc + - `干.proj('git_url', 'the git url with no protocol, e.g.: github.com/diffplug/blowdryer')` + - `干.proj('maven_group', 'the maven group, recommend com.diffplug')` + - `干.proj('maven_artifact', 'the maven artifactId')` + - `干.proj('maven_name', 'human-friendly name')` + - `干.proj('maven_desc', 'human-friendly description')` + - `干.proj('javadoc_links', "space-delimited links, if you add '/package-list' to the urls you should get a package list")` + - `干.proj('license', 'supported: [apache, confidential, lgpl-2.1]')` +- **base/javadoc-agg** - aggregates javadoc from subprojects + - `干.proj('javadoc_agg', 'space-delimited list of projects containing javadoc to be aggregated')` + - (also a subset of **base/maven**) +- **base/sonatype** - publishes to mavenCentral + - requires `id 'io.github.gradle-nexus.publish-plugin' version '1.0.0'` + - unless `enable_publishing` is set in `gradle.properties`, this will be skipped + - `干.proj('nexus_user', 'username for nexus/mavencentral')` + - `干.proj('nexus_pass64', 'password for nexus/mavencentral')` + - `干.proj('gpg_key64', 'gpg --export-secret-keys --armor ')` + - `干.proj('gpg_passphrase', 'passphrase for unlocking gpg_key')` + - (also a subset of **base/maven**) +- **base/osgi** - adds OSGi metadata to the jar + - requires `id 'com.diffplug.osgi.bndmanifest' version '3.22.0'` (or later) + - `干.proj('osgi_export', '-exportcontents bnd directive')` + - `干.proj('osgi_symbolic_name', 'Bundle-SymbolicName')` + - (also a subset of **base/maven**) +- **base/autovalue** - adds Google AutoValue 1.7 + - requires `id 'com.diffplug.eclipse.apt' version '3.22.0'` (or later) + - `干.proj('VER_AUTOVALUE', 'the autovalue version the user wants')` +- **swt/svg-images** - renders SVG images from `src/svg` into `src/main/resources/svg-rendered` at 1x and 2x DPI (in-line with SWT high-DPI support) + - recommend adding `svg-rendered/` to `.gitignore` + - requires `id 'com.diffplug.image-grinder' version '2.1.2'` (or later) + # Acknowledgements - Thanks to [Vladimir Sitnikov](https://github.com/vlsi) for his [mdoclet workaround](https://github.com/autostyle/autostyle/blob/f201199bc327887225db38ae34261bfb4a861527/buildSrc/src/main/kotlin/mdoclet.gradle.kts). diff --git a/build.gradle b/build.gradle index 3033e2b..3ab628a 100644 --- a/build.gradle +++ b/build.gradle @@ -7,6 +7,7 @@ spotlessChangelog { changelogFile 'README.md' tagPrefix '' tagMessage '{{changes}}' + runAfterPush "gh release create {{version}} --title '{{version}}' --notes-from-tag" } repositories { diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 943f0cb..e644113 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 2617362..d4081da 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip networkTimeout=10000 +validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index 65dcd68..b740cf1 100755 --- a/gradlew +++ b/gradlew @@ -55,7 +55,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. @@ -83,10 +83,8 @@ done # This is normally unused # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum @@ -133,10 +131,13 @@ location of your Java installation." fi else JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the location of your Java installation." + fi fi # Increase the maximum file descriptors if we can. @@ -144,7 +145,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then case $MAX_FD in #( max*) # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC2039,SC3045 MAX_FD=$( ulimit -H -n ) || warn "Could not query maximum file descriptor limit" esac @@ -152,7 +153,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then '' | soft) :;; #( *) # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC2039,SC3045 ulimit -n "$MAX_FD" || warn "Could not set maximum file descriptor limit to $MAX_FD" esac @@ -197,11 +198,15 @@ if "$cygwin" || "$msys" ; then done fi -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ diff --git a/gradlew.bat b/gradlew.bat index 93e3f59..25da30d 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -43,11 +43,11 @@ set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 if %ERRORLEVEL% equ 0 goto execute -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. +echo. 1>&2 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 goto fail @@ -57,11 +57,11 @@ set JAVA_EXE=%JAVA_HOME%/bin/java.exe if exist "%JAVA_EXE%" goto execute -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. +echo. 1>&2 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 goto fail diff --git a/settings.gradle b/settings.gradle index 6f1d498..892b140 100644 --- a/settings.gradle +++ b/settings.gradle @@ -2,7 +2,7 @@ pluginManagement { plugins { id 'com.diffplug.blowdryer' version '1.7.1' id 'com.diffplug.blowdryerSetup' version '1.7.1' - id 'com.diffplug.spotless' version '7.0.0.BETA1' + id 'com.diffplug.spotless' version '7.0.4' id 'com.diffplug.spotless-changelog' version '3.1.2' } } diff --git a/src/main/resources/base/buildscan-on-ci.gradle b/src/main/resources/base/buildscan-on-ci.gradle new file mode 100644 index 0000000..be2f608 --- /dev/null +++ b/src/main/resources/base/buildscan-on-ci.gradle @@ -0,0 +1,10 @@ +def isCI = providers.environmentVariable('CI').present +develocity { + buildScan { + termsOfUseUrl = "https://gradle.com/terms-of-service" + termsOfUseAgree = "yes" + publishing { + onlyIf { isCI } + } + } +} diff --git a/src/main/resources/base/kotlin.gradle b/src/main/resources/base/kotlin.gradle index a2c8263..0e2c939 100644 --- a/src/main/resources/base/kotlin.gradle +++ b/src/main/resources/base/kotlin.gradle @@ -10,8 +10,14 @@ if (kotlin_jvmTarget != null) { } } compileKotlin { - kotlinOptions.freeCompilerArgs = ["-Xjvm-default=all"] + kotlinOptions.freeCompilerArgs = [ + "-Xjvm-default=all", + "-Xconsistent-data-class-copy-visibility" + ] } compileTestKotlin { - kotlinOptions.freeCompilerArgs = ["-Xjvm-default=all"] + kotlinOptions.freeCompilerArgs = [ + "-Xjvm-default=all", + "-Xconsistent-data-class-copy-visibility" + ] } \ No newline at end of file diff --git a/src/main/resources/base/sonatype.gradle b/src/main/resources/base/sonatype.gradle index 190806f..e3e65f4 100644 --- a/src/main/resources/base/sonatype.gradle +++ b/src/main/resources/base/sonatype.gradle @@ -5,7 +5,7 @@ if (project.findProperty('enable_publishing') != 'true') { } def nexus_user = 干.proj('nexus_user', 'username for nexus/mavencentral (or unset enable_publishing)') -def nexus_pass64 = 干.proj('nexus_pass64', 'password for nexus/mavencentral (or unset enable_publishing)') +def nexus_pass64 = 干.proj('nexus_pass64', 'password for nexus/mavencentral (or unset enable_publishing)') def gpg_key64 = 干.proj('gpg_key64', 'gpg --export-secret-keys --armor ') def gpg_passphrase = 干.proj('gpg_passphrase', 'passphrase for unlocking gpg_key') @@ -14,7 +14,7 @@ def gpg_key = new String(gpg_key64.decodeBase64()) if (plugins.hasPlugin('maven-publish')) { apply plugin: 'signing' signing { - useInMemoryPgpKeys(gpg_key, gpg_passphrase) + useInMemoryPgpKeys('0x4272C851', gpg_key, gpg_passphrase) sign(publishing.publications) } } @@ -28,8 +28,8 @@ if (project.parent == null) { nexusPublishing { repositories { sonatype { - nexusUrl.set(uri("https://s01.oss.sonatype.org/service/local/")) - snapshotRepositoryUrl.set(uri("https://s01.oss.sonatype.org/content/repositories/snapshots/")) + nexusUrl.set(uri("https://ossrh-staging-api.central.sonatype.com/service/local/")) + snapshotRepositoryUrl.set(uri("https://central.sonatype.com/repository/maven-snapshots/")) username = nexus_user password = nexus_pass } diff --git a/src/main/resources/helper/javadoc-view.gradle b/src/main/resources/helper/javadoc-view.gradle index b097eb7..500085a 100644 --- a/src/main/resources/helper/javadoc-view.gradle +++ b/src/main/resources/helper/javadoc-view.gradle @@ -6,8 +6,8 @@ import com.diffplug.common.swt.os.OS // adds a javadocView task, which shows the javadoc tasks.register('javadocView') { - group JavaBasePlugin.DOCUMENTATION_GROUP; - description 'Views the Javadoc in a browser.' + group = JavaBasePlugin.DOCUMENTATION_GROUP; + description = 'Views the Javadoc in a browser.' dependsOn tasks.named('javadoc') doLast { project.exec { diff --git a/src/main/resources/plugin-kotlin.versions b/src/main/resources/plugin-kotlin.versions index 32302ba..fb23b65 100644 --- a/src/main/resources/plugin-kotlin.versions +++ b/src/main/resources/plugin-kotlin.versions @@ -1,10 +1,10 @@ // https://plugins.gradle.org/plugin/org.jetbrains.dokka - id 'org.jetbrains.dokka' version '1.9.20' apply false + id 'org.jetbrains.dokka' version '2.0.0' apply false // https://plugins.gradle.org/plugin/org.jetbrains.kotlin.jvm - id 'org.jetbrains.kotlin.jvm' version '2.0.0' apply false + id 'org.jetbrains.kotlin.jvm' version '2.2.0' apply false // https://plugins.gradle.org/plugin/org.jetbrains.kotlin.plugin.serialization - id 'org.jetbrains.kotlin.plugin.serialization' version '2.0.0' apply false + id 'org.jetbrains.kotlin.plugin.serialization' version '2.2.0' apply false // https://plugins.gradle.org/plugin/org.jetbrains.kotlin.multiplatform - id 'org.jetbrains.kotlin.multiplatform' version '2.0.0' apply false + id 'org.jetbrains.kotlin.multiplatform' version '2.2.0' apply false // https://github.com/adamko-dev/dokkatoo/releases - id 'dev.adamko.dokkatoo-html' version '2.3.1' apply false \ No newline at end of file + id 'dev.adamko.dokkatoo-html' version '2.4.0' apply false \ No newline at end of file diff --git a/src/main/resources/plugin.versions b/src/main/resources/plugin.versions index f93fecc..5572b5e 100644 --- a/src/main/resources/plugin.versions +++ b/src/main/resources/plugin.versions @@ -1,12 +1,14 @@ // https://github.com/diffplug/blowdryer/blob/main/CHANGELOG.md id 'com.diffplug.blowdryerSetup' version '1.7.1' // https://github.com/diffplug/spotless/blob/main/plugin-gradle/CHANGES.md - id 'com.diffplug.spotless' version '7.0.0.BETA1' apply false + id 'com.diffplug.spotless' version '7.2.1' apply false // https://github.com/diffplug/spotless-changelog/blob/main/CHANGELOG.md id 'com.diffplug.spotless-changelog' version '3.1.2' apply false + // https://plugins.gradle.org/plugin/com.gradle.develocity + id 'com.gradle.develocity' version '4.1.1' // https://plugins.gradle.org/plugin/com.gradle.plugin-publish - id 'com.gradle.plugin-publish' version '1.2.1' apply false + id 'com.gradle.plugin-publish' version '1.3.1' apply false // https://github.com/equodev/equo-ide/blob/main/plugin-gradle/CHANGELOG.md - id 'dev.equo.ide' version '1.7.6' apply false + id 'dev.equo.ide' version '1.7.8' apply false // https://github.com/gradle-nexus/publish-plugin/releases id 'io.github.gradle-nexus.publish-plugin' version '2.0.0' apply false diff --git a/src/main/resources/spotless/freshmark.gradle b/src/main/resources/spotless/freshmark.gradle index d039ee9..650be54 100644 --- a/src/main/resources/spotless/freshmark.gradle +++ b/src/main/resources/spotless/freshmark.gradle @@ -6,7 +6,7 @@ import com.diffplug.gradle.spotless.FreshMarkExtension Action freshmarkSetup = { it.target '*.md' - it.indentWithSpaces(2) + it.leadingTabsToSpaces(2) it.trimTrailingWhitespace() it.endWithNewline() } @@ -55,7 +55,7 @@ if (changelogExt != null) { dependsOn(changelogBumpFreshmark) // do the git add doLast { - exec { commandLine 'git', 'add' , '*.md' } + services.get(ExecOperations).exec { commandLine 'git', 'add' , '*.md' } } } tasks.named('changelogPush').configure { diff --git a/src/main/resources/spotless/java.gradle b/src/main/resources/spotless/java.gradle index a855a6c..eb2e624 100644 --- a/src/main/resources/spotless/java.gradle +++ b/src/main/resources/spotless/java.gradle @@ -27,7 +27,7 @@ spotless { if (plugins.hasPlugin('org.jetbrains.kotlin.jvm')) { kotlin { ktfmt() - indentWithTabs(2) + leadingSpacesToTabs(2) } } } diff --git a/src/main/resources/spotless/kotlin-dense.gradle b/src/main/resources/spotless/kotlin-dense.gradle index 04291af..5a880de 100644 --- a/src/main/resources/spotless/kotlin-dense.gradle +++ b/src/main/resources/spotless/kotlin-dense.gradle @@ -13,7 +13,7 @@ spotless { clearSteps() // play nicely with java.gradle target '*.gradle', 'buildSrc/*.gradle' greclipse() - indentWithSpaces(2) + leadingTabsToSpaces(2) } } if (plugins.hasPlugin('org.jetbrains.kotlin.jvm') || plugins.hasPlugin('org.jetbrains.kotlin.multiplatform')) { @@ -23,7 +23,7 @@ spotless { licenseHeaderFile 干.file("spotless/license-${license}.java") ktfmt() if (spotless_java_applied) { - indentWithTabs(2) + leadingSpacesToTabs(2) } for (modifier in [ '',