@@ -12,17 +12,22 @@ determine if it should process a particular entry and apply any modifications be
1212// Adding a Transformer
1313import com.github.jengelman.gradle.plugins.shadow.transformers.Transformer
1414import com.github.jengelman.gradle.plugins.shadow.transformers.TransformerContext
15+ import javax.annotation.Nonnull
1516import org.apache.tools.zip.ZipOutputStream
1617import org.gradle.api.file.FileTreeElement
1718
1819class MyTransformer implements Transformer {
19- boolean canTransformResource(FileTreeElement element) { true }
20+ @Override
21+ boolean canTransformResource(@Nonnull FileTreeElement element) { return true }
2022
21- void transform(TransformerContext context) {}
23+ @Override
24+ void transform(@Nonnull TransformerContext context) {}
2225
23- boolean hasTransformedResource() { true }
26+ @Override
27+ boolean hasTransformedResource() { return true }
2428
25- void modifyOutputStream(ZipOutputStream jos, boolean preserveFileTimestamps) {}
29+ @Override
30+ void modifyOutputStream(@Nonnull ZipOutputStream os, boolean preserveFileTimestamps) {}
2631}
2732
2833tasks.named('shadowJar', com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar) {
@@ -36,20 +41,24 @@ Additionally, a `Transformer` can accept a `Closure` to configure the provided `
3641// Configuring a Transformer
3742import com.github.jengelman.gradle.plugins.shadow.transformers.Transformer
3843import com.github.jengelman.gradle.plugins.shadow.transformers.TransformerContext
44+ import javax.annotation.Nonnull
3945import org.apache.tools.zip.ZipOutputStream
4046import org.gradle.api.file.FileTreeElement
4147
4248class MyTransformer implements Transformer {
49+ boolean enabled
4350
44- boolean enabled
51+ @Override
52+ boolean canTransformResource(@Nonnull FileTreeElement element) { return true }
4553
46- boolean canTransformResource(FileTreeElement element) { true }
54+ @Override
55+ void transform(@Nonnull TransformerContext context) {}
4756
48- void transform(TransformerContext context) {}
57+ @Override
58+ boolean hasTransformedResource() { return true }
4959
50- boolean hasTransformedResource() { true }
51-
52- void modifyOutputStream(ZipOutputStream jos, boolean preserveFileTimestamps) {}
60+ @Override
61+ void modifyOutputStream(@Nonnull ZipOutputStream os, boolean preserveFileTimestamps) {}
5362}
5463
5564tasks.named('shadowJar', com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar) {
@@ -65,24 +74,32 @@ An instantiated instance of a `Transformer` can also be provided.
6574// Adding a Transformer Instance
6675import com.github.jengelman.gradle.plugins.shadow.transformers.Transformer
6776import com.github.jengelman.gradle.plugins.shadow.transformers.TransformerContext
77+ import javax.annotation.Nonnull
6878import org.apache.tools.zip.ZipOutputStream
6979import org.gradle.api.file.FileTreeElement
7080
7181class MyTransformer implements Transformer {
82+ final boolean enabled
7283
73- boolean enabled
84+ MyTransformer(boolean enabled) {
85+ this.enabled = enabled
86+ }
7487
75- boolean canTransformResource(FileTreeElement element) { true }
88+ @Override
89+ boolean canTransformResource(@Nonnull FileTreeElement element) { return true }
7690
77- void transform(TransformerContext context) {}
91+ @Override
92+ void transform(@Nonnull TransformerContext context) {}
7893
79- boolean hasTransformedResource() { true }
94+ @Override
95+ boolean hasTransformedResource() { return true }
8096
81- void modifyOutputStream(ZipOutputStream jos, boolean preserveFileTimestamps) {}
97+ @Override
98+ void modifyOutputStream(@Nonnull ZipOutputStream os, boolean preserveFileTimestamps) {}
8299}
83100
84101tasks.named('shadowJar', com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar) {
85- transform(new MyTransformer(enabled: true))
102+ transform(new MyTransformer(true))
86103}
87104```
88105
@@ -186,11 +203,9 @@ It must be added using the [`transform`](https://gradleup.com/shadow/api/com/git
186203
187204``` groovy
188205// Appending a XML File
189- import com.github.jengelman.gradle.plugins.shadow.transformers.XmlAppendingTransformer
190-
191206tasks.named('shadowJar', com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar) {
192- transform(XmlAppendingTransformer.class) {
207+ transform(com.github.jengelman.gradle.plugins.shadow.transformers. XmlAppendingTransformer.class) {
193208 resource = 'properties.xml'
194209 }
195210}
196- ```
211+ ```
0 commit comments