Johnrengelman Shadow Versions Save

Gradle plugin to create fat/uber JARs, apply file transforms, and relocate packages for applications and libraries. Gradle version of Maven's Shade plugin.

2.0.1

6 years ago

2.0.0

7 years ago
  • Breaking Change! Restrict Plugin to Gradle 3.0+
  • Breaking Change! Build with Java 7
  • Breaking Change! Updated Transformer interface to accept TransformerContext object instead of individual values
  • Breaking Change! Updated Relocator interface to accept RelocatePathContext and RelocateClassContext objects
  • Breaking Change! Distribution tasks distShadowZip and distShadowTar have been removed and replaced with the standard shadowDistZip and shadowDistTar from the Gradle Distribution plugin.
  • Breaking Change! The installShadowApp task has been removed and replaced with the standard installShadowDist task from the Gradle Distribution plugin.
  • Breaking Change! The new installShadowDist task outputs to build/install/<project name>-shadow per the standard (formerly was build/installShadow)
  • Breaking Change! component.shadow removed in favor of project.shadow.component(publication) so as to remove dependency on internal Gradle APIs.
  • NEW Introducing ConfigureShadowRelocation task and com.github.johnrengelman.plugin-shadow plugin to automatically configure package relocation for Gradle plugins.
  • NEW Integration with Gradle Build Scans. When running a ShadowJar task with Build Scans, custom values including dependencies merged anc package relocations are published in the scan.
  • Build Shadow w/ Shadow. This will help prevent any future classpath conflicts with Gradle.
  • Replace startShadowScripts tasks with Gradle's built-in CreateStartScripts type.
  • Build with Gradle 3.1
  • Marc Philipp - Add keyTransformer property to PropertiesFileTransformer
  • Update to ASM 5.2
  • Piotr Kubowicz - Support api, implementation, runtimeOnly dependency configurations introdcued in Gradle 3.3

1.2.4

7 years ago

1.2.3

8 years ago

1.2.2

8 years ago

1.2.1

9 years ago
  • Apply package relocations to dependency resources (Issue #114)

1.2.0

9 years ago
  • Re-organize some code to remove need for forcing the Gradle API ClassLoader to allow the org.apache.tools.zip package.
  • Upgrade JDOM library from 1.1 to 2.0.5 (change dependency from jdom:jdom:1.1 to org.jdom:jdom2:2.0.5) (Issue #98)
  • Convert ShadowJar.groovy to ShadowJar.java to workaround binary incompatibility introduced by Gradle 2.2 (Issue #106)
  • Updated ASM library to 5.0.3 to support JDK8 (Issue #97)
  • Allows for regex pattern matching in the dependency string when including/excluding (Issue #83)
  • Apply package relocations to resource files (Issue #93)

1.1.2

9 years ago
  • fix bug in runShadow where dependencies from the shadow configuration are not available (Issue #94)

1.1.1

9 years ago
  • Fix bug in 'createStartScripts' task that was causing it to not execute 'shadowJar' task (Issue #90)
  • Do not include null in ShadowJar Manifest 'Class-Path' value when jar task does not specify a value for it. (Issue #92)
  • ShadowJar Manifest 'Class-Path' should reference jars from 'shadow' config as relative to location of shadowJar output (Issue #91)

1.1.0

9 years ago
  • (Breaking Change!) Fix leaking of shadowJar.manifest into jar.manifest. (Issue #82) To simplify behavior, the shadowJar.appendManifest method has been removed. Replace uses with shadowJar.manifest
  • ShadowTask now has a configurations property that is resolved to the files in the resolved configuration before being added to the copy spec. This allows for an easier implementation for filtering. The default 'shadowJar' task has the convention of adding the 'runtime' scope to this list. Manually created instances of ShadowTask have no configurations added by default and can be configured by setting task.configurations.
  • Properly configure integration with the 'maven' plugin when added. When adding 'maven' the 'uploadShadow' task will now properly configure the POM dependencies by removing the 'compile' and 'runtime' configurations from the POM and adding the 'shadow' configuration as a RUNTIME scope in the POM. This behavior matches the behavior when using the 'maven-publish' plugin.
  • Matt Hurne - Allow ServiceFileTransformer to specify include/exclude patterns for files within the configured path to merge.
  • Matt Hurne - Added GroovyExtensionModuleTransformer for merging Groovy Extension module descriptor files. The existing ServiceFileTransformer now excludes Groovy Extension Module descriptors by default.
  • distShadowZip and distShadowZip now contain the shadow library and run scripts instead of the default from the 'application' plugin (Issue #89)