Skip to content

diffplug/blowdryer-diffplug

Folders and files

NameName
Last commit message
Last commit date

Latest commit

bc32f8f · May 28, 2025
Jul 8, 2024
Jul 8, 2024
May 28, 2025
Jun 11, 2018
Jun 11, 2018
Jun 11, 2018
May 28, 2025
Jul 8, 2024
Jul 8, 2024
Jul 8, 2024
Jul 8, 2024

Repository files navigation

DiffPlug Blowdryer scripts

License Apache 2.0 Changelog CircleCI

Users

user updated on to version
atplug 2023-01-28 7.0.0
blowdryer 2023-01-28 7.0.0
durian-globals 2020-06-05 3.2.2
durian-rx 2020-01-12 3.1.0
durian-swt 2021-12-16 5.1.3
goomph 2023-02-28 7.0.1
freshmark 2023-02-05 7.0.0
jscriptbox 2023-02-05 7.0.0
libxdiff 2021-02-18 3.3.0
image-grinder 2020-12-16 5.1.3
spotless-changelog 2023-01-28 7.0.0
internal projects
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 <key-id>')
    • 干.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)

Changelog

[Unreleased]

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.

[8.0.0] - 2024-07-08

Changed

  • BREAKING spotlessChangelog now creates GitHub releases by default (#6)
    • you need to update your deploy.yml
    • if you set the tagPrefix, then you'll need to update the runAfterPush
    • see PR above for details

[7.3.0] - 2024-06-06

Added

  • spotless/kotlin-dense.gradle for tight packing

Changed

  • Bump all plugin versions, in particular Kotlin to 2.0.0

[7.2.0] - 2023-12-27

Added

  • Publishing the java part of Kotlin multiplatform jars is now supported.

[7.1.1] - 2023-12-11

Changed

  • Removed com.diffplug.eclipse.apt from base/autovalue since we have mostly moved to IntelliJ.
  • Bump all plugins to latest, especially Kotlin to 1.9.21

Fixed

  • Maven plugin is now friendly with Kotlin Multiplatform.

[7.1.0] - 2023-06-15

Added

  • Add matconsolectl license.

Changed

  • Bump Kotlin plugins to latest, 1.8.20 -> 1.8.22, and all other plugins too.

[7.0.2] - 2023-04-03

Changed

  • Bump Kotlin plugins to latest, 1.8.0 -> 1.8.20.

[7.0.1] - 2023-02-28

Changed

  • Bump plugins to latest, which means build now requires Java 11.

Fixed

  • spotlessFreshmark now runs on Java 17.

[7.0.0] - 2023-01-28

Added

  • plugin.versions and plugin-kotlin.versions to take advantage of the new Blowdryer version syncing.
  • spotlessChangelog { appendDashSnapshotUnless_dashPrelease = true because it's safer.

Changed

  • BREAKING renamed java8.gradle to java.gradle which requires ver_java property.
  • spotlessChangelog { branch 'release' ... because fine-grained tokens can't push to a protected main.

[6.0.3] - 2023-01-28

Fixed

  • spotlessChangelog { branch 'release' ... because fine-grained tokens can't push to a protected main.

[6.0.2] - 2023-01-28

Fixed

  • Use nexus_pass64 instead of nexus_pass.

[6.0.1] - 2022-12-30

Fixed

  • Gradle plugin publishing.

[6.0.0] - 2022-12-30

Fixed

  • BREAKING New minimum requirements gradle:7.6 and com.gradle.plugin-publish:1.1.0, adapted to those changes.
  • BREAKING Remove support for org.jdrupes.mdoclet.

[5.2.1] - 2022-04-01

Fixed

  • base/kotlin now specifies freeCompilerArgs = ["-Xjvm-default=all"] so that Kotlin interface method implementations can be used from Java.

[5.2.0] - 2022-02-15

Added

  • base/kotlin.gradle

Fixed

  • Make the eclipse plugin optional for gradle-plugin.gradle

[5.1.3] - 2021-12-16

Fixed

[5.1.2] - 2021-11-10

Fixed

  • Fix sonatype publishing for multi-module projects.

[5.1.1] - 2021-10-21

Fixed

  • gpg64 from sonatype is now read using 干.proj as intended.

[5.1.0] - 2021-09-18

Added

  • Builds that do not have Sonatype publish plugin applied now assume that they are publishing to GitLab.

[5.0.6] - 2021-07-18

Fixed

  • Bugfix for previous.

[5.0.5] - 2021-07-18 [YANKED]

Fixed

  • Now encodes gpg key using Base64 which actually works on CircleCI.

[5.0.4] - 2021-07-18 [YANKED]

Fixed

  • We were sometimes deploying gradle plugins without also deploying to maven, now fixed.
  • We yanked all earlier versions of 5.0.x to force an update because this is a fairly pernicious error.

[5.0.3] - 2021-07-17 [YANKED]

Fixed

  • sourcesJar no longer throws warnings on Gradle 7.1
  • Only use org.jdrupes.mdoclet on Java 8 and below

[5.0.2] - 2021-05-30 [YANKED]

Fixed

  • no more Gradle 7.0 warnings abour generateMetadataFileForPluginMavenPublication having undeclared dependencies.

[5.0.1] - 2021-05-29 [YANKED]

Fixed

  • no more errors on machines where enable_publishing hasn't been set

[5.0.0] - 2021-05-28 [YANKED]

Added

  • BREAKING base/autovalue now requires a VER_AUTOVALUE parameter

[4.0.3] - 2021-05-11

Fixed

  • yet more sonatype fixes

[4.0.2] - 2021-04-10

Fixed

  • more sonatype fixes

[4.0.1] - 2021-04-09

Fixed

  • fix sonatype deployment

[4.0.0] - 2021-04-09

Added

  • base/sonatype has been added (because BREAKING base/bintray has been removed)

[3.3.0] - 2021-02-19

Added

  • Added lgpl-2.1 as a supported license.

[3.2.5] - 2020-10-14

Changed

  • Adopt the new spotless plugin coordinate at com.diffplug.spotless
  • Bump VER_AUTOVALUE from 1.7.3 to 1.7.4.

[3.2.4] - 2020-06-16

Changed

  • We now do formatting relative to origin/main.
  • Added missing (C) in our apache copyright header.
  • Bump VER_AUTOVALUE from 1.7 to 1.7.3.

[3.2.3] - 2020-06-06

Fixed

  • spotlessApply -PspotlessSetLicenseHeaderYearsFromGitHistory=true now updates all files (as intended) rather than only the changed ones.

[3.2.2] - 2020-06-06

Fixed

  • org.jdrupes.mdoclet was failing to resolve when used with javadoc-agg.gradle

[3.2.1] - 2020-06-05

Changed

  • We now require Spotless 4.3+, because we do formatting relative to origin/master.
    • If you run spotlessApply -PspotlessSetLicenseHeaderYearsFromGitHistory=true then every license header will be updated appropriately

[3.2.0] - 2020-04-07

Added

  • base/autovalue for applying Google AutoValue
  • swt/svg-images renders SVG images with SWT high-DPI support

Fixed

  • Added an error message to prevent accidental misuse of the git_url parameter

Changed

  • Better short names for license=confidential
  • javadoc-markdown.gradle now requires that id 'org.jdrupes.mdoclet' version '1.0.9' (or later) is on the classpath
  • Migrate from com.diffplug.gradle.x to com.diffplug.x for goomph

[3.1.0] - 2020-01-12

Added

  • Support confidential as a value for license.

[3.0.0] - 2020-01-11

Added

  • Inserted commented-out 干.mustRunAfter. No behavior change, but we'll try to keep these up-to-date in case diffplug/blowdryer#8 gets implemented. (a9c3489)
  • Every javadoc task now has javadocView task, which will render and open the javadoc in a browser.
    • BREAKING Requires that at least one of the goomph plugins is on the classpath.
  • Every javadoc task now uses jdrupes-mdoclet.

[2.0.0] - 2020-01-02

Added

  • base/changelog, which pulls version information from a changelog in either the same project or the parent project
    • Also hooked into spotless/freshmark, to pass the versionNext and versionLast properties
  • base/bintray, for pushing to bintray and mavenCentral
  • base/osgi, for OSGi metadata
  • base/javadoc-agg, for aggregating javadoc from subprojects into one central artifact
  • support for per-plugin tags in base/gradle-plugin.
  • spotless/freshmark now sets versionLast property if there is a spotless-changelog plugin applied somewhere
    • BREAKING the spotless plugin must be declared in settings.gradle or buildSrc. That's probably a good pattern in general.

Changed

  • The spotless license header is now https, and we also force the year to 2020 since we're about to release a bunch of new code in 2020.

Fixed

  • Set javadoc to use UTF-8 encoding.
  • If you apply spotless/java to the root project, it will now fix buildSrc/*.gradle in addition to the *.gradle which it already fixed.

[1.0.0] - 2019-12-10

First release.

Acknowledgements

About

DiffPlug's scripts for use with blowdryer

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages