diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index da2de254c..00dbb0009 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,12 +1,10 @@ name: CI on: - pull_request: - branches: - - main push: branches: - main + pull_request: workflow_dispatch: jobs: @@ -25,3 +23,22 @@ jobs: java-version: ${{ matrix.java }} - uses: gradle/actions/setup-gradle@v4 - run: ./gradlew build + + publish-snapshot: + needs: build + runs-on: ubuntu-latest + if: github.repository == 'GradleUp/shadow' && github.ref == 'refs/heads/main' + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-java@v4 + with: + distribution: 'zulu' + java-version: 21 + - uses: gradle/actions/setup-gradle@v4 + with: + cache-read-only: true + # Disable CC due to https://github.com/gradle/gradle/issues/22779 + - run: ./gradlew publish --no-configuration-cache + env: + ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.OSSRH_USER }} + ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.OSSRH_PASSWORD }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 000000000..593964c7b --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,46 @@ +name: Release + +on: + push: + tags: + - '**' + +jobs: + release: + runs-on: ubuntu-latest + if: github.repository == 'GradleUp/shadow' + permissions: + contents: write + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-java@v4 + with: + distribution: 'zulu' + java-version: 21 + - uses: gradle/actions/setup-gradle@v4 + with: + cache-read-only: true + - uses: actions/setup-node + with: + # Due to some limitations of https://github.com/node-gradle/gradle-node-plugin. + node-version: '16' + # Disable CC due to https://github.com/gradle/gradle/issues/22779 + - run: ./gradlew release --no-configuration-cache + env: + GRADLE_PUBLISH_KEY: ${{ secrets.GRADLE_KEY }} + GRADLE_PUBLISH_SECRET: ${{ secrets.GRADLE_SECRET }} + # https://ajoberstar.org/grgit/main/grgit-authentication.html#_environment_variables + GRGIT_USER: ${{ secrets.GITHUB_TOKEN }} + ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.OSSRH_USER }} + ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.OSSRH_PASSWORD }} + ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.GPG_KEY }} + ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.GPG_KEY_PASSWORD }} + - name: Extract release notes + uses: ffurrer2/extract-release-notes@v2 + with: + changelog_file: src/docs/changes/README.md + release_notes_file: RELEASE_NOTES.md + - name: Create release + run: gh release create ${{ github.ref_name }} --notes-file RELEASE_NOTES.md + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/README.md b/README.md index 2b376279c..0cdb7df86 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,9 @@ Read the [User Guide](https://imperceptiblethoughts.com/shadow/)! ## Current Status -[![Download](https://img.shields.io/gradle-plugin-portal/v/com.github.johnrengelman.shadow)](https://plugins.gradle.org/plugin/com.github.johnrengelman.shadow) +[![Maven Central](https://img.shields.io/maven-central/v/com.gradleup.shadow/shadow-gradle-plugin)](https://central.sonatype.com/artifact/com.gradleup.shadow/shadow-gradle-plugin) +[![Sonatype Nexus (Snapshots)](https://img.shields.io/nexus/s/com.gradleup.shadow/shadow-gradle-plugin?&server=https://oss.sonatype.org/)](https://oss.sonatype.org/content/repositories/snapshots/com/gradleup/shadow/) +[![Plugin Portal](https://img.shields.io/gradle-plugin-portal/v/com.gradleup.shadow)](https://plugins.gradle.org/plugin/com.gradleup.shadow) [![CI](https://github.com/GradleUp/shadow/actions/workflows/ci.yml/badge.svg?branch=main&event=push)](https://github.com/GradleUp/shadow/actions/workflows/ci.yml?query=branch:main+event:push) [![License](https://img.shields.io/github/license/GradleUp/shadow.svg)](LICENSE) @@ -19,6 +21,7 @@ Read the [User Guide](https://imperceptiblethoughts.com/shadow/)! | 5.x | 5.2.0 - 6.0.0 | | 6.x | 5.2.0 - 6.1.0 | | 7.x | 7.0.0+ | -| 8.x | 8.0.0+ | +| 8.0 - 8.2.x | 8.0.0 - 8.1.1 | +| 8.3+ | 8.3.0+ | **NOTE**: Shadow v5.+ is compatible with Gradle 5.x - 6.x and Java 7 - 15 _only_, v6.1.0+ requires Java 8+. diff --git a/RELEASING.md b/RELEASING.md new file mode 100644 index 000000000..8cd3e99a3 --- /dev/null +++ b/RELEASING.md @@ -0,0 +1,40 @@ +# Releasing + +1. Update the `VERSION_NAME` in `gradle.properties` to the release version. + +2. Update the [changelog](src/docs/changes/README.md): + 1. Change the `Unreleased` header to the release version. + 2. Add a link URL to ensure the header link works. + 3. Add a new `Unreleased` section to the top. + +3. Update the `README.md` so the "Download" section reflects the new release version and the + snapshot section reflects the next "SNAPSHOT" version. + +4. Commit + + ``` + $ git commit -am "Prepare version X.Y.Z" + ``` + +5. Tag + + ``` + $ git tag -am "Version X.Y.Z" X.Y.Z + ``` + +6. Update the `VERSION_NAME` in `gradle.properties` to the next "SNAPSHOT" version. + +7. Commit + + ``` + $ git commit -am "Prepare next development version" + ``` + +8. Push! + + ``` + $ git push && git push --tags + ``` + + This will trigger a GitHub Action workflow which will create a GitHub release and upload the + release artifacts to Maven Central. diff --git a/build.gradle b/build.gradle index edc61af78..a184c9e77 100644 --- a/build.gradle +++ b/build.gradle @@ -6,10 +6,10 @@ plugins { id 'project-report' id 'idea' id 'java-gradle-plugin' - id 'signing' id 'com.gradle.plugin-publish' version '1.2.1' id 'org.ajoberstar.git-publish' version '4.2.2' id 'com.github.node-gradle.node' version '7.0.2' + id 'com.vanniktech.maven.publish' version "0.29.0" } apply plugin: ShadowPlugin @@ -32,7 +32,7 @@ tasks.withType(Test).configureEach { maxHeapSize "1g" } - systemProperty 'java.io.tmpdir', project.layout.buildDirectory.asFile.get().absolutePath + systemProperty 'shadowVersion', version // Required to test configuration cache in tests when using withDebug() // https://github.com/gradle/gradle/issues/22765#issuecomment-1339427241 diff --git a/gradle.properties b/gradle.properties index 07462a044..b34884eca 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,30 @@ org.gradle.jvmargs=-Dfile.encoding=UTF-8 -Xmx4g -XX:MaxMetaspaceSize=2g org.gradle.parallel=true org.gradle.caching=true -org.gradle.configuration-cache=true \ No newline at end of file +org.gradle.configuration-cache=true + + +GROUP=com.gradleup.shadow +POM_ARTIFACT_ID=shadow-gradle-plugin +VERSION_NAME=8.3.0-SNAPSHOT + +SONATYPE_AUTOMATIC_RELEASE=true +SONATYPE_HOST=DEFAULT +RELEASE_SIGNING_ENABLED=true + +POM_NAME=Shadow Gradle Plugin +POM_DESCRIPTION=Gradle plugin to create fat/uber JARs, apply file transforms, and relocate packages for applications and libraries. Gradle version of Maven's Shade plugin. +POM_INCEPTION_YEAR=2024 +POM_URL=https://github.com/GradleUp/shadow + +POM_LICENSE_NAME=The Apache Software License, Version 2.0 +POM_LICENSE_URL=https://www.apache.org/licenses/LICENSE-2.0.txt +POM_LICENSE_DIST=repo + +POM_SCM_URL=https://github.com/GradleUp/shadow +POM_SCM_CONNECTION=scm:git:git://github.com/GradleUp/shadow.git +POM_SCM_DEV_CONNECTION=scm:git:ssh://git@github.com/GradleUp/shadow.git + +POM_DEVELOPER_ID=gradleup +POM_DEVELOPER_NAME=GradleUp developers +POM_DEVELOPER_URL=https://github.com/GradleUp \ No newline at end of file diff --git a/gradle/ghPages.gradle b/gradle/ghPages.gradle index 1b6323166..a848658f1 100644 --- a/gradle/ghPages.gradle +++ b/gradle/ghPages.gradle @@ -2,20 +2,13 @@ import org.apache.tools.ant.filters.ReplaceTokens apply plugin: 'org.ajoberstar.git-publish' -if (project.hasProperty('githubToken')) { - System.setProperty('org.ajoberstar.grgit.auth.username', project.property('githubToken') as String) -} - gitPublish { - repoUri = 'https://github.com/johnrengelman/shadow.git' + repoUri = 'https://github.com/GradleUp/shadow.git' branch = 'gh-pages' contents { from 'build/site' - into('.circleci') { - from '.circleci' - } into('api') { from project.tasks.groovydoc } diff --git a/gradle/publish.gradle b/gradle/publish.gradle index 921c89c69..4a4f6fe6b 100644 --- a/gradle/publish.gradle +++ b/gradle/publish.gradle @@ -1,27 +1,20 @@ apply plugin: "com.gradle.plugin-publish" +apply plugin: "com.vanniktech.maven.publish" -group = 'com.github.johnrengelman' - -if (System.env.CIRCLE_TAG && System.env.CIRCLE_TAG =~ /^\d\.\d\.\d$/) { - version = System.env.CIRCLE_TAG -} else { - version = file('src/main/resources/shadow-version.txt').text.trim() - if (!version.endsWith("-SNAPSHOT")) { - version = version + "-SNAPSHOT" - } -} +group = providers.gradleProperty("GROUP").get() +version = providers.gradleProperty("VERSION_NAME").get() gradlePlugin { - website = 'https://github.com/johnrengelman/shadow' - vcsUrl = 'https://github.com/johnrengelman/shadow' + website = providers.gradleProperty("POM_URL") + vcsUrl = providers.gradleProperty("POM_URL") plugins { shadowPlugin { - id = 'com.github.johnrengelman.shadow' + id = 'com.gradleup.shadow' implementationClass = 'com.github.jengelman.gradle.plugins.shadow.ShadowPlugin' - displayName = 'Shadow Plugin' - description = "Gradle plugin to create fat/uber JARs, apply file transforms, and relocate packages for applications and libraries. Gradle version of Maven's Shade plugin." - tags.set(['onejar', 'shade', 'fatjar', 'uberjar']) + displayName = providers.gradleProperty("POM_NAME").get() + description = providers.gradleProperty("POM_DESCRIPTION").get() + tags = ['onejar', 'shade', 'fatjar', 'uberjar'] } } } @@ -35,18 +28,6 @@ tasks.named('publishPlugins') { notCompatibleWithConfigurationCache("https://github.com/gradle/gradle/issues/21283") } -signing { - if (System.env.CI == 'true') { - def encodedSigningKey = findProperty("signingKey") - def signingKey = encodedSigningKey ? new String(encodedSigningKey.decodeBase64()) : null - def signingPassword = findProperty("signingPassword") as String - useInMemoryPgpKeys(signingKey, signingPassword) - } - // See https://github.com/johnrengelman/shadow/pull/831#discussion_r1119012328 - required = false && gradle.taskGraph.hasTask("artifactoryPublish") - sign(publishing.publications) -} - tasks.register('release') { - dependsOn tasks.named('assemble'), tasks.named('publishPlugins'), tasks.named('gitPublishPush') + dependsOn tasks.named('publish'), tasks.named('publishPlugins'), tasks.named('gitPublishPush') } diff --git a/gradle/vuepress.gradle b/gradle/vuepress.gradle index da01b2f1c..58df23d9f 100644 --- a/gradle/vuepress.gradle +++ b/gradle/vuepress.gradle @@ -7,4 +7,5 @@ node { tasks.named('yarn_build') { inputs.files project.fileTree('src/docs') outputs.dir project.file('build/site') + dependsOn("yarn") } \ No newline at end of file diff --git a/package.json b/package.json index 14751ad48..9275a85aa 100644 --- a/package.json +++ b/package.json @@ -2,8 +2,8 @@ "name": "shadow", "version": "1.0.0", "main": "index.js", - "repository": "git@github.com:johnrengelman/shadow.git", - "author": "John Engelman ", + "repository": "git@github.com:GradleUp/shadow.git", + "author": "GradleUp developers", "license": "MIT", "devDependencies": { "prismjs": "^1.20.0", diff --git a/settings.gradle b/settings.gradle index c49d812fd..a71392230 100644 --- a/settings.gradle +++ b/settings.gradle @@ -22,18 +22,6 @@ develocity { termsOfUseUrl = 'https://gradle.com/terms-of-service' termsOfUseAgree = 'yes' publishing.onlyIf { isCI } - if (isCI) { - tag 'CI' - if (System.env.CIRCLE_TAG) { - link 'VCS', "https://github.com/johnrengelman/shadow/tree/${System.env.CIRCLE_TAG}" - } else { - link 'VCS', "https://github.com/johnrengelman/shadow/tree/${System.env.CIRCLE_BRANCH}" - } - link 'VCS Commit', "https://github.com/johnrengelman/shadow/commit/${System.env.CIRCLE_SHA1}" - if (System.env.CI_PULL_REQUEST) { - link 'Pull Request', "${System.env.CI_PULL_REQUEST}" - } - } } } diff --git a/src/docs/.vuepress/config.js b/src/docs/.vuepress/config.js index d2741137c..2155eb9b7 100644 --- a/src/docs/.vuepress/config.js +++ b/src/docs/.vuepress/config.js @@ -3,7 +3,7 @@ module.exports = { dest: "build/site", ga: "UA-321220-4", themeConfig: { - repo: "johnrengelman/shadow", + repo: "GradleUp/shadow", editLinks: true, editLinkText: 'Help improve these docs!', logo: '/logo+type.svg', diff --git a/src/docs/about/README.md b/src/docs/about/README.md index 3b680f056..cbcdfedc7 100644 --- a/src/docs/about/README.md +++ b/src/docs/about/README.md @@ -22,60 +22,6 @@ so Shadow was published there. ## Contributors -* [Alan D. Cabrera](https://github.com/maguro) -* [Andres Almiray](https://github.com/aalmiray) -* [Artem Chubaryan](https://github.com/Armaxis) -* [Attila Kelemen](https://github.com/kelemen) -* [Ben Adazza](https://github.com/ben-adazza) -* [Bernie Schelberg](https://github.com/bschelberg) -* [Brandon Kearby](https://github.com/brandonkearby) -* [Brane F. Gračnar](https://github.com/bfg) -* [Caleb Larsen](https://github.com/MuffinTheMan) -* [Charlie Knudsen](https://github.com/charliek) -* [Chris Cowan](https://github.com/Macil) -* [Chris Rankin](https://github.com/chrisr3) -* [Christian Stein](https://github.com/sormuras) -* [Daniel Oakey](https://github.com/danieloakey) -* [debanne](https://github.com/debanne) -* [Dennis Schumann](https://github.com/Hillkorn) -* [Dmitry Vyazelenko](https://github.com/vyazelenko) -* [ejjcase](https://github.com/ejjcase) -* [Ethan Hall](https://github.com/ethankhall) -* [Fedor Korotkov](https://github.com/fkorotkov) -* [Felipe Lima](https://github.com/felipecsl) -* [Gary Hale](https://github.com/ghale) -* [Haw-Bin Chai](https://github.com/hbchai) -* [Helder Pereira](https://github.com/helfper) -* [Inez Korczyński](https://github.com/inez) -* [James Nelson](https://github.com/JamesXNelson) -* [Jeff Adler](https://github.com/jeffalder) -* [John Szakmeister](https://github.com/jszakmeister) -* [Konstantin Gribov](https://github.com/grossws) -* [Lai Jiang](https://github.com/jianglai) -* [Marc Philipp](https://github.com/marcphilipp) -* [Mark Vieira](https://github.com/mark-vieira) -* [Marke Vieira](https://github.com/mark-vieira) -* [Martin Sadowski](https://github.com/ttsiebzehntt) -* [Matt Hurne](https://github.com/mhurne) -* [Matt King](https://github.com/kyrrigle) -* [Matthew Haughton](https://github.com/3flex) -* [Maximilian Müller](https://github.com/maxm123) -* [Minecrell](https://github.com/Minecrell) -* [Min-Ken Lai](https://github.com/minkenlai) -* [Nicolas Humblot](https://github.com/nhumblot) -* [Osip Fatkullin](https://github.com/osipxd) -* [Paul N. Baker](https://github.com/paul-nelson-baker) -* [Petar Petrov](https://github.com/petarov) -* [Piotr Kubowicz](https://github.com/pkubowicz) -* [Richard Marbach](https://github.com/RichardMarbach) -* [Rob Spieldenner](https://github.com/rspieldenner) -* [Roberto Perez Alcolea](https://github.com/rpalcolea) -* [Schalk W. Cronjé](https://github.com/ysb33r) -* [Scott Newson](https://github.com/sgnewson) -* [Serban Iordache](https://github.com/siordache) -* [Sergey Tselovalnikov](https://github.com/SerCeMan) -* [Tim Yates](https://github.com/timyates) -* [Trask Stalnaker](https://github.com/trask) -* [Tyler Benson](https://github.com/tylerbenson) -* [Victor Tso](https://github.com/roxchkplusony) -* [Yahor Berdnikau](https://github.com/Tapchicoma) + + + \ No newline at end of file diff --git a/src/docs/application-plugin/README.md b/src/docs/application-plugin/README.md index 896e222a9..e365fb198 100644 --- a/src/docs/application-plugin/README.md +++ b/src/docs/application-plugin/README.md @@ -11,7 +11,7 @@ configured to contain the `Main-Class` attribute with the value specified in the // Using Shadow with Application Plugin apply plugin: 'java' apply plugin: 'application' -apply plugin: 'com.github.johnrengelman.shadow' +apply plugin: 'com.gradleup.shadow' application { mainClass = 'myapp.Main' diff --git a/src/docs/changes/README.md b/src/docs/changes/README.md index 25068614d..cc3718077 100644 --- a/src/docs/changes/README.md +++ b/src/docs/changes/README.md @@ -1,12 +1,30 @@ # Change Log -## v8.1.1 (2023-03-20) +## [Unreleased] + +**Changed** + +- **BREAKING CHANGE:** the GitHub has been transferred from `johnrengelman/shadow` to `GradleUp/shadow`, you can view + more details in [GradleUp/shadow/issues/908](https://github.com/GradleUp/shadow/issues/908). + We also update the plugin ID from `com.github.johnrengelman.shadow` to `com.gradleup.shadow`, and the + Maven coordinate from `com.github.johnrengelman:shadow` to `com.gradleup.shadow:shadow-gradle-plugin`. +- Bump the min Gradle requirement from `8.0.0` to `8.3`. ([#876](https://github.com/GradleUp/shadow/pull/876)) +- Support Java 21. ([#876](https://github.com/GradleUp/shadow/pull/876)) +- Use new file permission API from Gradle 8.3. ([#876](https://github.com/GradleUp/shadow/pull/876)) + +**Fixed** + +- Fix for PropertiesFileTransformer breaks Reproducible builds in + `8.1.1`. ([#858](https://github.com/GradleUp/shadow/pull/858)) + + +## [v8.1.1] (2023-03-20) **NOTE: ** As of this version, the Github repository has migrated to the `main` branch as the default branch for releases. -[Release Notes](https://github.com/johnrengelman/shadow/releases/tag/8.1.1) +[Release Notes](https://github.com/GradleUp/shadow/releases/tag/8.1.1) -## v8.1.0 (2023-02-26) +## [v8.1.0] (2023-02-26) **BREAKING CHANGE:** Due to adoption of the latest version of the `com.gradle.plugin-publish` plugin, the maven GAV coordinates have changed as of this version. The correct coordinates now align with the plugin ID itself: `group=com.github.johnrengelman, artifact=shadow, version=`. @@ -15,11 +33,12 @@ For example, `classpath("com.github.johnrengelman:shadow:8.1.0")` is the correct **BREAKING CHANGE:** The `ConfigureShadowRelocation` task was removed as of this version to better support Gradle configuration caching. Instead, use the `enableRelocation = true` and `relocationPrefix = ""` settings on the `ShadowJar` task type. -[Release Notes](https://github.com/johnrengelman/shadow/releases/tag/8.1.0) +[Release Notes](https://github.com/GradleUp/shadow/releases/tag/8.1.0) + -## v8.0.0 (2023-02-24) +## [v8.0.0] (2023-02-24) -[Release Notes](https://github.com/johnrengelman/shadow/releases/tag/8.0.0) +[Release Notes](https://github.com/GradleUp/shadow/releases/tag/8.0.0) ## v7.1.3 (unreleased) @@ -36,15 +55,15 @@ Instead, use the `enableRelocation = true` and `relocationPrefix = "]` syntax [#536](https://github.com/johnrengelman/shadow/pull/536) +- Fix Gradle 7 deprecation warnings [#530](https://github.com/GradleUp/shadow/issues/530) +- Fix to generated start script to correctly use `optsEnvironmentVar`[#518](https://github.com/GradleUp/shadow/commit/7e99c02957773205c3babdd23f4bbf883330c975) +- [Yahor Berdnikau](https://github.com/Tapchicoma) - Fix issues with Gradle API being embedded into published JAR [#527](https://github.com/GradleUp/shadow/issues/527) +- [Dmitry Vyazelenko](https://github.com/vyazelenko) - ASM updates to support latest Java versions [#549](https://github.com/GradleUp/shadow/pull/549) +- [ejjcase](https://github.com/ejjcase) - Support exposing shadowed project dependencies via POM [#543](https://github.com/GradleUp/shadow/pull/543) +- [Artem Chubaryan](https://github.com/Armaxis) - Performance optimizations [#535](https://github.com/GradleUp/shadow/pull/535) +- [Trask Stalnaker](https://github.com/trask) - Fix exclude patterns on Windows [#539](https://github.com/GradleUp/shadow/pull/539) +- [Artem Chubaryan](https://github.com/Armaxis) - Allow usage of true regex patterns for include/exclude by the `%regex[]` syntax [#536](https://github.com/GradleUp/shadow/pull/536) ## v5.2.0 (2019-11-10) -- [Inez Korczyński](https://github.com/inez) - Performance optimization when evaluating relocation paths [#507](https://github.com/johnrengelman/shadow/pull/507) -- [Jeff Adler](https://github.com/jeffalder) - Fix remapping issues with multi release JARS [#526](https://github.com/johnrengelman/shadow/pull/526) -- [Gary Hale](https://github.com/ghale) - Implement support for Gradle build cache [#524](https://github.com/johnrengelman/shadow/pull/524) -- [Roberto Perez Alcolea](https://github.com/rpalcolea) - Gradle 6.x support [#517](https://github.com/johnrengelman/shadow/pull/517) -- [Konstantin Gribov](https://github.com/grossws) - Return support for 5.0 for convention mapping [#502](https://github.com/johnrengelman/shadow/pull/502) -- [Lai Jiang](https://github.com/jianglai) - Documentation updates on how to reconfigure `classifier` and `version` [#512](https://github.com/johnrengelman/shadow/pull/512) +- [Inez Korczyński](https://github.com/inez) - Performance optimization when evaluating relocation paths [#507](https://github.com/GradleUp/shadow/pull/507) +- [Jeff Adler](https://github.com/jeffalder) - Fix remapping issues with multi release JARS [#526](https://github.com/GradleUp/shadow/pull/526) +- [Gary Hale](https://github.com/ghale) - Implement support for Gradle build cache [#524](https://github.com/GradleUp/shadow/pull/524) +- [Roberto Perez Alcolea](https://github.com/rpalcolea) - Gradle 6.x support [#517](https://github.com/GradleUp/shadow/pull/517) +- [Konstantin Gribov](https://github.com/grossws) - Return support for 5.0 for convention mapping [#502](https://github.com/GradleUp/shadow/pull/502) +- [Lai Jiang](https://github.com/jianglai) - Documentation updates on how to reconfigure `classifier` and `version` [#512](https://github.com/GradleUp/shadow/pull/512) ## v5.1.0 (2019-06-29) -- [Chris Rankin](https://github.com/chrisr3) - Add `ManifestAppenderTransformer` to support appending to Jar manifest [#474](https://github.com/johnrengelman/shadow/pull/474) -- [Min-Ken Lai](https://github.com/minkenlai) - Additional escaping fixes in start script [#487](https://github.com/johnrengelman/shadow/pull/487) -- [Alan D. Cabrera](https://github.com/maguro) - Automatically remove `gradleApi` from `compile` scope in the presence of `shadow` [#459](https://github.com/johnrengelman/shadow/pull/459) -- [Christian Stein](https://github.com/sormuras) - Do not initialize `UnusedTracker` when not requested [#480](https://github.com/johnrengelman/shadow/pull/480), [#479](https://github.com/johnrengelman/shadow/issues/479) -- [Attila Kelemen](https://github.com/kelemen) - Fix `NullPointerException` when using java minimization and api project dependency with version [#477](https://github.com/johnrengelman/shadow/pull/477) +- [Chris Rankin](https://github.com/chrisr3) - Add `ManifestAppenderTransformer` to support appending to Jar manifest [#474](https://github.com/GradleUp/shadow/pull/474) +- [Min-Ken Lai](https://github.com/minkenlai) - Additional escaping fixes in start script [#487](https://github.com/GradleUp/shadow/pull/487) +- [Alan D. Cabrera](https://github.com/maguro) - Automatically remove `gradleApi` from `compile` scope in the presence of `shadow` [#459](https://github.com/GradleUp/shadow/pull/459) +- [Christian Stein](https://github.com/sormuras) - Do not initialize `UnusedTracker` when not requested [#480](https://github.com/GradleUp/shadow/pull/480), [#479](https://github.com/GradleUp/shadow/issues/479) +- [Attila Kelemen](https://github.com/kelemen) - Fix `NullPointerException` when using java minimization and api project dependency with version [#477](https://github.com/GradleUp/shadow/pull/477) ## v5.0.0 (2019-02-28) - Require Gradle 5.0+ - Fix issue with build classifier `-all` being dropped in Gradle 5.1+ -- [Roberto Perez Alcolea](https://github.com/rpalcolea) - Exclude project dependencies from minimization [#420](https://github.com/johnrengelman/shadow/pull/420) -- [Matt King](https://github.com/kyrrigle), [Richard Marbach](https://github.com/RichardMarbach) - Fix escaping in start script [#453](https://github.com/johnrengelman/shadow/pull/454), [#455](https://github.com/johnrengelman/shadow/pull/455) -- [Dennis Schumann](https://github.com/Hillkorn) - Fix Gradle 5.2 incompatibility with `ShadowJar.getMetaClass()` [#456](https://github.com/johnrengelman/shadow/pull/456) -- [Brane F. Gračnar](https://github.com/bfg) - Fix compatibility with `com.palantir.docker` [#460](https://github.com/johnrengelman/shadow/pull/460) +- [Roberto Perez Alcolea](https://github.com/rpalcolea) - Exclude project dependencies from minimization [#420](https://github.com/GradleUp/shadow/pull/420) +- [Matt King](https://github.com/kyrrigle), [Richard Marbach](https://github.com/RichardMarbach) - Fix escaping in start script [#453](https://github.com/GradleUp/shadow/pull/454), [#455](https://github.com/GradleUp/shadow/pull/455) +- [Dennis Schumann](https://github.com/Hillkorn) - Fix Gradle 5.2 incompatibility with `ShadowJar.getMetaClass()` [#456](https://github.com/GradleUp/shadow/pull/456) +- [Brane F. Gračnar](https://github.com/bfg) - Fix compatibility with `com.palantir.docker` [#460](https://github.com/GradleUp/shadow/pull/460) ## v4.0.4 (2019-01-19) - When using `shadow`, `application`, and `maven` plugins together, remove `shadowDistZip` and `shadowDistTar` from `configurations.archives` so they are not published or installed by default with the `uploadArchives` or `install` - tasks. [#347](https://github.com/johnrengelman/shadow/issues/347) -- [James Nelson](https://github.com/JamesXNelson) - Fix `null` path when using Jar minimization and Gradle's `api` configuration. [#424](https://github.com/johnrengelman/shadow/issues/424), [#425](https://github.com/johnrengelman/shadow/issues/425) + tasks. [#347](https://github.com/GradleUp/shadow/issues/347) +- [James Nelson](https://github.com/JamesXNelson) - Fix `null` path when using Jar minimization and Gradle's `api` configuration. [#424](https://github.com/GradleUp/shadow/issues/424), [#425](https://github.com/GradleUp/shadow/issues/425) ## v4.0.3 (2018-11-21) -- [Mark Vieira](https://github.com/mark-vieira) - Don't leak plugin classes to Gradle's Spec cache [#430](https://github.com/johnrengelman/shadow/pull/430) +- [Mark Vieira](https://github.com/mark-vieira) - Don't leak plugin classes to Gradle's Spec cache [#430](https://github.com/GradleUp/shadow/pull/430) ## v4.0.2 (2018-10-27) -- [Petar Petrov](https://github.com/petarov) - Update to ASM 7.0-beta and jdependency 2.1.1 to support Java 11, [#415](https://github.com/johnrengelman/shadow/pull/415) -- [Victor Tso](https://github.com/roxchkplusony) - Ensure input streams are closed, [#411](https://github.com/johnrengelman/shadow/pull/411) -- [Osip Fatkullin](https://github.com/osipxd) - Exclude `api` configuration from minimization, [#405](https://github.com/johnrengelman/shadow/pull/405) +- [Petar Petrov](https://github.com/petarov) - Update to ASM 7.0-beta and jdependency 2.1.1 to support Java 11, [#415](https://github.com/GradleUp/shadow/pull/415) +- [Victor Tso](https://github.com/roxchkplusony) - Ensure input streams are closed, [#411](https://github.com/GradleUp/shadow/pull/411) +- [Osip Fatkullin](https://github.com/osipxd) - Exclude `api` configuration from minimization, [#405](https://github.com/GradleUp/shadow/pull/405) ## v4.0.1 (2018-09-30) - **Breaking Change!** `Transform.modifyOutputStream(ZipOutputStream os)` to `Transform.modifyOutputStream(ZipOutputStream jos, boolean preserveFileTimestamps)`. Typically breaking changes are reserved for major version releases, but this change was necessary for `preserverFileTimestamps` (introduced in v4.0.0) to work correctly - in the presence of transformers, [#404](https://github.com/johnrengelman/shadow/issues/404) -- Fix regression in support Java 10+ during relocation, [#403](https://github.com/johnrengelman/shadow/issues/403) + in the presence of transformers, [#404](https://github.com/GradleUp/shadow/issues/404) +- Fix regression in support Java 10+ during relocation, [#403](https://github.com/GradleUp/shadow/issues/403) ## v4.0.0 (2018-09-25) @@ -159,31 +178,31 @@ Instead, use the `enableRelocation = true` and `relocationPrefix = "