diff --git a/CHANGELOG.md b/CHANGELOG.md index 9e915ace..7ad872a3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Added - Added scramble to the element, introducing randomized mapping - Add documentation about default values +- Added @Inherited annotation to `com.yworks.util.annotation.Obfuscation` ## Fixed - Do not use `setComment` when comment is actually `null`. Achieves Android compatibility. diff --git a/annotation/src/main/java/com/yworks/util/annotation/Obfuscation.java b/annotation/src/main/java/com/yworks/util/annotation/Obfuscation.java index c4877c19..c2ab767a 100644 --- a/annotation/src/main/java/com/yworks/util/annotation/Obfuscation.java +++ b/annotation/src/main/java/com/yworks/util/annotation/Obfuscation.java @@ -1,8 +1,10 @@ package com.yworks.util.annotation; import java.lang.annotation.ElementType; +import java.lang.annotation.Inherited; import java.lang.annotation.Target; +@Inherited @Target(value = {ElementType.TYPE, ElementType.FIELD, ElementType.METHOD, ElementType.ANNOTATION_TYPE}) public @interface Obfuscation { diff --git a/docs/task_documentation.md b/docs/task_documentation.md index 3704fde0..186733e7 100644 --- a/docs/task_documentation.md +++ b/docs/task_documentation.md @@ -1318,7 +1318,7 @@ public @interface Obfuscation { } ``` -This class is also the default annotation yGuard is looking for when obfuscating. +This class is also the default annotation yGuard is looking for when obfuscating. By default the `Obfuscation` annotation is inherited using the `@Inherited` trait. If this behaviour is undesirable, consider creating a custom obfuscation annotation. The convention for annotation classes that yGuard understands as obfuscation controlling annotations requires two attributes: