Releases: GradleUp/shadow
Releases · GradleUp/shadow
2.0.0
- Breaking Change! Restrict Plugin to Gradle 3.0+
- Breaking Change! Build with Java 7
- Breaking Change! Updated
Transformer
interface to acceptTransformerContext
object instead of individual values - Breaking Change! Updated
Relocator
interface to acceptRelocatePathContext
andRelocateClassContext
objects - Breaking Change! Distribution tasks
distShadowZip
anddistShadowTar
have been removed and replaced with the standardshadowDistZip
andshadowDistTar
from the Gradle Distribution plugin. - Breaking Change! The
installShadowApp
task has been removed and replaced with the standardinstallShadowDist
task from the Gradle Distribution plugin. - Breaking Change! The new
installShadowDist
task outputs tobuild/install/<project name>-shadow
per the standard (formerly wasbuild/installShadow
) - Breaking Change!
component.shadow
removed in favor ofproject.shadow.component(publication)
so as to remove dependency on internal Gradle APIs. - NEW Introducing
ConfigureShadowRelocation
task andcom.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-inCreateStartScripts
type. - Build with Gradle 3.1
- Marc Philipp - Add
keyTransformer
property toPropertiesFileTransformer
- Update to ASM 5.2
- Piotr Kubowicz - Support
api
,implementation
,runtimeOnly
dependency configurations introdcued in Gradle 3.3
1.2.4
- Don't resolve dependency configurations during config phase (Issue #128)
- Build plugin with Gradle 2.14
- Fix docs regarding inheriting Jar manifest (Issue #251)
- https://github.com/ethankhall[Ethan Hall] - Support projects that configure uploading to Ivy repositories (Pull Request #256)
- Force task to depend on dependency configuration (Issue #152)
- Do not explode ZIP files into shadow jar (Issue #196)
- John Szakmeister - Preserve timestamps on merged jar entries (Pull Request #260)
1.2.3
- Support for Gradle 2.11-rc-1 (Issue #177)
- Convert internal framework to Gradle TestKit
- Fedor Korotkov - Use BufferedOutputStream when writing the Zip file (PR #171)
- Haw-Bin Chai - Quote Jar path in Windows start script as it may contain spaces (PR #170)
- Serban Iordache - Evaluate relocation specs when merging service descriptors (PR #165)
1.2.2
- Minecrell Gradle 2.5 compatibility (Issue #147)
1.2.1
- Apply package relocations to dependency resources (Issue #114)
1.2.0
- 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
toorg.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
1.1.1
- 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 whenjar
task does not specify a value for it. (Issue #92) - ShadowJar Manifest
'Class-Path'
should reference jars from'shadow'
config as relative to location ofshadowJar
output (Issue #91)
1.1.0
- (Breaking Change!) Fix leaking of
shadowJar.manifest
intojar.manifest
. (Issue #82)
To simplify behavior, theshadowJar.appendManifest
method has been removed. Replace uses withshadowJar.manifest
ShadowTask
now has aconfigurations
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 ofShadowTask
have no
configurations added by default and can be configured by settingtask.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 aRUNTIME
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 existingServiceFileTransformer
now excludes Groovy Extension Module descriptors by default. distShadowZip
anddistShadowZip
now contain the shadow library and run scripts instead of the default from the'application'
plugin (Issue #89)
1.0.3
- Make service files root path configurable for
ServiceFileTransformer
(Issue #72) - Andres Almiray - Added PropertiesFileTransformer (Issue #73)
- Brandon Kearby - Fixed StackOverflow when a cycle occurs in the resolved dependency graph (Issue #69)
- Apply Transformers to project resources (Issue #70, Issue #71)
- Do not drop non-class files from dependencies when relocation is enabled. Thanks to Minecrell for digging into this. (Issue #61)
- Remove support for applying individual sub-plugins by Id (easier maintenance and cleaner presentation in Gradle Portal)