Releases: GradleUp/shadow
Releases · GradleUp/shadow
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)
1.0.2
- Do not add an empty Class-Path attribute to the manifest when the
shadow
configuration contains no dependencies. runShadow
now registersshadowJar
as an input. Previously,runShadow
did not executeshadowJar
and an error occurred.- Support Gradle 2.0 (Issue #66)
- Do not override existing 'Class-Path' Manifest attribute settings from Jar configuration. Instead combine. (Issue #65)
1.0.1
1.0.0
- Previously known as v0.9.0
- All changes from 0.9.0-M1 to 0.9.0-M5
- Properly configure the ShadowJar task inputs to observe the include/excludes from the
dependencies
block. This
allows UP-TO-DATE checking to work properly when changing thedependencies
rules (Issue #54) - Apply relocation remappings to classes and imports in source project (Issue #55)
- Do not create directories in jar for source of remapped class, created directories in jar for destination of remapped classes (Issue #53)
0.9.0-M5
- Add commons-io to compile classpath
- Update ASM library to 4.1
0.9.0-M4
- Break plugin into multiple sub-plugins.
ShadowBasePlugin
is always applied.
ShadowJavaPlugin
andShadowApplicationPlugin
are applied in reaction to applying thejava
andapplication
plugins respectively. - Shadow does not applied
java
plugin automatically.java
orgroovy
must be applied in conjunction withshadow
. - Moved artifact filtering to
dependencies {}
block underneathshadowJar
. This allows better include/exclude control
for dependencies. - Dependencies added to the
shadow
configuration are automatically added to theClass-Path
attribute in the manifest
forshadowJar
- Applying
application
plugin and settingsmainClassName
automatically configures theMain-Class
attribute in
the manifest forshadowJar
runShadow
now utilizes the output of theshadowJar
and executes usingjava -jar <shadow jar file>
- Start Scripts for shadow distribution now utilize
java -jar
to execute instead of placing all files on classpath
and executing main class. - Excluding/Including dependencies no longer includes transitive dependencies. All dependencies for inclusion/exclusion
must be explicitly configured via a spec.
0.9.0-M3
- Use commons.io FilenameUtils to determine name of resolved jars for including/excluding
0.9.0-M2
- Added integration with
application
plugin to replace oldOutputSignedJars
task - Fixed bug that resulted in duplicate file entries in the resulting Jar
- Changed plugin id to 'com.github.johnrengelman.shadow' to support Gradle 2.x plugin infrastructure.
0.9.0-M1
- Rewrite based on Gradle Jar Task
ShadowJar
now extendsJar
- Removed
signedCompile
andsignedRuntime
configurations in favor ofshadow
configuration - Removed
OutputSignedJars
task