Class ManifestResourceTransformer
- java.lang.Object
-
- org.apache.maven.plugins.shade.resource.AbstractCompatibilityTransformer
-
- org.apache.maven.plugins.shade.resource.ManifestResourceTransformer
-
- All Implemented Interfaces:
ReproducibleResourceTransformer
,ResourceTransformer
public class ManifestResourceTransformer extends AbstractCompatibilityTransformer
A resource processor that allows the arbitrary addition of attributes to the first MANIFEST.MF that is found in the set of JARs being processed, or to a newly created manifest for the shaded JAR.- Since:
- 1.2
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.List<java.lang.String>
additionalAttributes
private java.util.List<java.lang.String>
defaultAttributes
private java.lang.String
mainClass
private java.util.jar.Manifest
manifest
private boolean
manifestDiscovered
private java.util.Map<java.lang.String,java.lang.Object>
manifestEntries
private java.lang.String
shade
private long
time
-
Constructor Summary
Constructors Constructor Description ManifestResourceTransformer()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
canTransformResource(java.lang.String resource)
boolean
hasTransformedResource()
boolean
isForShade(java.lang.String shade)
boolean
isUsedForDefaultShading()
void
modifyOutputStream(java.util.jar.JarOutputStream jos)
void
processResource(java.lang.String resource, java.io.InputStream is, java.util.List<Relocator> relocators, long time)
Transform an individual resourceprivate java.lang.String
relocate(java.lang.String originalValue, java.util.List<Relocator> relocators)
void
setAdditionalAttributes(java.util.List<java.lang.String> additionalAttributes)
void
setForShade(java.lang.String shade)
The shades to apply this transformer to or no shades if no filter is applied.void
setMainClass(java.lang.String mainClass)
void
setManifestEntries(java.util.Map<java.lang.String,java.lang.Object> manifestEntries)
-
Methods inherited from class org.apache.maven.plugins.shade.resource.AbstractCompatibilityTransformer
processResource
-
-
-
-
Field Detail
-
defaultAttributes
private final java.util.List<java.lang.String> defaultAttributes
-
mainClass
private java.lang.String mainClass
-
manifestEntries
private java.util.Map<java.lang.String,java.lang.Object> manifestEntries
-
additionalAttributes
private java.util.List<java.lang.String> additionalAttributes
-
manifestDiscovered
private boolean manifestDiscovered
-
manifest
private java.util.jar.Manifest manifest
-
time
private long time
-
shade
private java.lang.String shade
-
-
Method Detail
-
setMainClass
public void setMainClass(java.lang.String mainClass)
-
setManifestEntries
public void setManifestEntries(java.util.Map<java.lang.String,java.lang.Object> manifestEntries)
-
setAdditionalAttributes
public void setAdditionalAttributes(java.util.List<java.lang.String> additionalAttributes)
-
canTransformResource
public boolean canTransformResource(java.lang.String resource)
-
processResource
public void processResource(java.lang.String resource, java.io.InputStream is, java.util.List<Relocator> relocators, long time) throws java.io.IOException
Description copied from interface:ReproducibleResourceTransformer
Transform an individual resource- Parameters:
resource
- The resource nameis
- An input stream for the resource, the implementation should *not* close this streamrelocators
- A list of relocatorstime
- the time of the resource to process- Throws:
java.io.IOException
- When the IO blows up
-
hasTransformedResource
public boolean hasTransformedResource()
-
modifyOutputStream
public void modifyOutputStream(java.util.jar.JarOutputStream jos) throws java.io.IOException
- Throws:
java.io.IOException
-
relocate
private java.lang.String relocate(java.lang.String originalValue, java.util.List<Relocator> relocators)
-
setForShade
public void setForShade(java.lang.String shade)
The shades to apply this transformer to or no shades if no filter is applied.- Parameters:
shade
-null
,jar
,test-jar
,sources-jar
ortest-sources-jar
.
-
isForShade
public boolean isForShade(java.lang.String shade)
-
isUsedForDefaultShading
public boolean isUsedForDefaultShading()
-
-