diff --git a/android-plugin/pom.xml b/android-plugin/pom.xml index 0ae85e19..ebee0b56 100644 --- a/android-plugin/pom.xml +++ b/android-plugin/pom.xml @@ -184,7 +184,7 @@ org.codenarc CodeNarc - 2.2.5 + 3.5.0 diff --git a/android-plugin/src/main/java/io/ecocode/java/checks/environment/batch/JobCoalesceRule.java b/android-plugin/src/main/java/io/ecocode/java/checks/environment/batch/JobCoalesceRule.java index fd2fb9fd..fed1caf7 100644 --- a/android-plugin/src/main/java/io/ecocode/java/checks/environment/batch/JobCoalesceRule.java +++ b/android-plugin/src/main/java/io/ecocode/java/checks/environment/batch/JobCoalesceRule.java @@ -30,7 +30,8 @@ * Checks the call of "set", "setAlarmClock", "setExact", "setInexactRepeating", "setRepeating" & "setWindow" from "android.app.AlarmManager". * Checks also the call of "onPerformSync" & "getSyncAdapterBinder" from "android.content.AbstractThreadedSyncAdapter". */ -@Rule(key = "EC501") +@Rule(key = "GCI501") +@DeprecatedRuleKey(repositoryKey = "ecocode-android-java", ruleKey = "EC501") @DeprecatedRuleKey(repositoryKey = "ecoCode-java", ruleKey = "EBAT003") public class JobCoalesceRule extends IssuableSubscriptionVisitor { diff --git a/android-plugin/src/main/java/io/ecocode/java/checks/environment/batch/SensorCoalesceRule.java b/android-plugin/src/main/java/io/ecocode/java/checks/environment/batch/SensorCoalesceRule.java index 0b32073c..d692bc3a 100644 --- a/android-plugin/src/main/java/io/ecocode/java/checks/environment/batch/SensorCoalesceRule.java +++ b/android-plugin/src/main/java/io/ecocode/java/checks/environment/batch/SensorCoalesceRule.java @@ -34,7 +34,8 @@ * Check the call of the method "registerListener" of "android.hardware.SensorManager" with 4 parameters (the 4th one being the latency). * If it isn't present, report issue. */ -@Rule(key = "EC500") +@Rule(key = "GCI500") +@DeprecatedRuleKey(repositoryKey = "ecocode-android-java", ruleKey = "EC500") @DeprecatedRuleKey(repositoryKey = "ecoCode-java", ruleKey = "EBAT002") public class SensorCoalesceRule extends IssuableSubscriptionVisitor { diff --git a/android-plugin/src/main/java/io/ecocode/java/checks/environment/bottleneck/InternetInTheLoopRule.java b/android-plugin/src/main/java/io/ecocode/java/checks/environment/bottleneck/InternetInTheLoopRule.java index 8f8081ef..7276e134 100644 --- a/android-plugin/src/main/java/io/ecocode/java/checks/environment/bottleneck/InternetInTheLoopRule.java +++ b/android-plugin/src/main/java/io/ecocode/java/checks/environment/bottleneck/InternetInTheLoopRule.java @@ -30,7 +30,8 @@ * Check if the method openConnection of the Url class is called inside a loop. * Not thrown if openConnection() call is deported into an other method. */ -@Rule(key = "EC502") +@Rule(key = "GCI502") +@DeprecatedRuleKey(repositoryKey = "ecocode-android-java", ruleKey = "EC502") @DeprecatedRuleKey(repositoryKey = "ecoCode-java", ruleKey = "EBOT001") public class InternetInTheLoopRule extends IssuableSubscriptionVisitor { diff --git a/android-plugin/src/main/java/io/ecocode/java/checks/environment/bottleneck/UncompressedDataTransmissionRule.java b/android-plugin/src/main/java/io/ecocode/java/checks/environment/bottleneck/UncompressedDataTransmissionRule.java index 6e9e5ada..f80f7108 100644 --- a/android-plugin/src/main/java/io/ecocode/java/checks/environment/bottleneck/UncompressedDataTransmissionRule.java +++ b/android-plugin/src/main/java/io/ecocode/java/checks/environment/bottleneck/UncompressedDataTransmissionRule.java @@ -40,7 +40,8 @@ * - if the method getOutputStream from the URLConnection class is called, reports the issue. * - if a constructor is called with for parameter getOutputStream, reports the issue if the constructor isn't a GZIPOutputStream. */ -@Rule(key = "EC504") +@Rule(key = "GCI504") +@DeprecatedRuleKey(repositoryKey = "ecocode-android-java", ruleKey = "EC504") @DeprecatedRuleKey(repositoryKey = "ecoCode-java", ruleKey = "EBOT003") public class UncompressedDataTransmissionRule extends IssuableSubscriptionVisitor { private static final Logger LOG = Loggers.get(UncompressedDataTransmissionRule.class); diff --git a/android-plugin/src/main/java/io/ecocode/java/checks/environment/bottleneck/WifiMulticastLockRule.java b/android-plugin/src/main/java/io/ecocode/java/checks/environment/bottleneck/WifiMulticastLockRule.java index 997cb8af..f1cb2e0e 100644 --- a/android-plugin/src/main/java/io/ecocode/java/checks/environment/bottleneck/WifiMulticastLockRule.java +++ b/android-plugin/src/main/java/io/ecocode/java/checks/environment/bottleneck/WifiMulticastLockRule.java @@ -26,7 +26,8 @@ * * @see OpeningClosingMethodCheck */ -@Rule(key = "EC503") +@Rule(key = "GCI503") +@DeprecatedRuleKey(repositoryKey = "ecocode-android-java", ruleKey = "EC503") @DeprecatedRuleKey(repositoryKey = "ecoCode-java", ruleKey = "EBOT002") public class WifiMulticastLockRule extends OpeningClosingMethodCheck { private static final String ERROR_MESSAGE = "Failing to call WifiManager.MulticastLock#release() can cause a noticeable battery drain."; diff --git a/android-plugin/src/main/java/io/ecocode/java/checks/environment/idleness/ContinuousRenderingRule.java b/android-plugin/src/main/java/io/ecocode/java/checks/environment/idleness/ContinuousRenderingRule.java index 38ba8c9d..db1f4e90 100644 --- a/android-plugin/src/main/java/io/ecocode/java/checks/environment/idleness/ContinuousRenderingRule.java +++ b/android-plugin/src/main/java/io/ecocode/java/checks/environment/idleness/ContinuousRenderingRule.java @@ -25,7 +25,8 @@ * Check the call of the method "setRenderMode" of "opengl.GLSurfaceView". * If argument value is "1" report issue. */ -@Rule(key = "EC510") +@Rule(key = "GCI510") +@DeprecatedRuleKey(repositoryKey = "ecocode-android-java", ruleKey = "EC510") @DeprecatedRuleKey(repositoryKey = "ecoCode-java", ruleKey = "EIDL008") public class ContinuousRenderingRule extends FlagOnMethodCheck { diff --git a/android-plugin/src/main/java/io/ecocode/java/checks/environment/idleness/DurableWakeLockRule.java b/android-plugin/src/main/java/io/ecocode/java/checks/environment/idleness/DurableWakeLockRule.java index 2de179af..b298ebc3 100644 --- a/android-plugin/src/main/java/io/ecocode/java/checks/environment/idleness/DurableWakeLockRule.java +++ b/android-plugin/src/main/java/io/ecocode/java/checks/environment/idleness/DurableWakeLockRule.java @@ -30,7 +30,8 @@ * Check the call of the method "acquire" of "android.os.PowerManager$WakeLock". * Reports an issue if found without any parameters. */ -@Rule(key = "EC508") +@Rule(key = "GCI508") +@DeprecatedRuleKey(repositoryKey = "ecocode-android-java", ruleKey = "EC508") @DeprecatedRuleKey(repositoryKey = "ecoCode-java", ruleKey = "EIDL006") public class DurableWakeLockRule extends IssuableSubscriptionVisitor { private String methodOwnerType = "android.os.PowerManager$WakeLock"; diff --git a/android-plugin/src/main/java/io/ecocode/java/checks/environment/idleness/KeepCpuOnRule.java b/android-plugin/src/main/java/io/ecocode/java/checks/environment/idleness/KeepCpuOnRule.java index e76b95e5..343ff9c1 100644 --- a/android-plugin/src/main/java/io/ecocode/java/checks/environment/idleness/KeepCpuOnRule.java +++ b/android-plugin/src/main/java/io/ecocode/java/checks/environment/idleness/KeepCpuOnRule.java @@ -25,7 +25,8 @@ * Check the call of the method "newWakeLock" of "android.os.PowerManager". * Reports an issue if found. */ -@Rule(key = "EC507") +@Rule(key = "GCI507") +@DeprecatedRuleKey(repositoryKey = "ecocode-android-java", ruleKey = "EC507") @DeprecatedRuleKey(repositoryKey = "ecoCode-java", ruleKey = "EIDL004") public class KeepCpuOnRule extends SpecificMethodCheck { diff --git a/android-plugin/src/main/java/io/ecocode/java/checks/environment/idleness/KeepScreenOnAddFlagsRule.java b/android-plugin/src/main/java/io/ecocode/java/checks/environment/idleness/KeepScreenOnAddFlagsRule.java index 2b90c033..56b1319e 100644 --- a/android-plugin/src/main/java/io/ecocode/java/checks/environment/idleness/KeepScreenOnAddFlagsRule.java +++ b/android-plugin/src/main/java/io/ecocode/java/checks/environment/idleness/KeepScreenOnAddFlagsRule.java @@ -24,7 +24,8 @@ /** * Check the call of "FLAG_KEEP_SCREEN_ON" on the method "addFlags" of "android.view.Window". */ -@Rule(key = "EC505") +@Rule(key = "GCI505") +@DeprecatedRuleKey(repositoryKey = "ecoCode-android-java", ruleKey = "EC505") @DeprecatedRuleKey(repositoryKey = "ecoCode-java", ruleKey = "EIDL001") public class KeepScreenOnAddFlagsRule extends FlagOnMethodCheck { diff --git a/android-plugin/src/main/java/io/ecocode/java/checks/environment/idleness/KeepScreenOnSetFlagsRule.java b/android-plugin/src/main/java/io/ecocode/java/checks/environment/idleness/KeepScreenOnSetFlagsRule.java index c4429fec..d76097ee 100644 --- a/android-plugin/src/main/java/io/ecocode/java/checks/environment/idleness/KeepScreenOnSetFlagsRule.java +++ b/android-plugin/src/main/java/io/ecocode/java/checks/environment/idleness/KeepScreenOnSetFlagsRule.java @@ -24,7 +24,8 @@ /** * Check the call of "FLAG_KEEP_SCREEN_ON" on the method "setFlags" (both parameters) of "android.view.Window". */ -@Rule(key = "EC506") +@Rule(key = "GCI506") +@DeprecatedRuleKey(repositoryKey = "ecocode-android-java", ruleKey = "EC506") @DeprecatedRuleKey(repositoryKey = "ecoCode-java", ruleKey = "EIDL002") public class KeepScreenOnSetFlagsRule extends FlagOnMethodCheck { diff --git a/android-plugin/src/main/java/io/ecocode/java/checks/environment/idleness/KeepVoiceAwakeRule.java b/android-plugin/src/main/java/io/ecocode/java/checks/environment/idleness/KeepVoiceAwakeRule.java index 0dd11c2e..de45e2eb 100644 --- a/android-plugin/src/main/java/io/ecocode/java/checks/environment/idleness/KeepVoiceAwakeRule.java +++ b/android-plugin/src/main/java/io/ecocode/java/checks/environment/idleness/KeepVoiceAwakeRule.java @@ -39,7 +39,8 @@ * If the argument 0 of the method is true, report the method node. * Otherwise report an issue on the new class nodes. */ -@Rule(key = "EC511") +@Rule(key = "GCI511") +@DeprecatedRuleKey(repositoryKey = "ecocode-android-java", ruleKey = "EC511") @DeprecatedRuleKey(repositoryKey = "ecoCode-java", ruleKey = "EIDL009") public class KeepVoiceAwakeRule extends IssuableSubscriptionVisitor { diff --git a/android-plugin/src/main/java/io/ecocode/java/checks/environment/idleness/RigidAlarmRule.java b/android-plugin/src/main/java/io/ecocode/java/checks/environment/idleness/RigidAlarmRule.java index fba8fa13..0192c0f8 100644 --- a/android-plugin/src/main/java/io/ecocode/java/checks/environment/idleness/RigidAlarmRule.java +++ b/android-plugin/src/main/java/io/ecocode/java/checks/environment/idleness/RigidAlarmRule.java @@ -24,7 +24,8 @@ /** * Check the call of the method "setExact" And "setExactAndAllowWhileIdle" and "setRepeating" of "android.app.AlarmManager". */ -@Rule(key = "EC509") +@Rule(key = "GCI509") +@DeprecatedRuleKey(repositoryKey = "ecoCode-android-java", ruleKey = "EC509") @DeprecatedRuleKey(repositoryKey = "ecoCode-java", ruleKey = "EIDL007") public class RigidAlarmRule extends SpecificMethodCheck { diff --git a/android-plugin/src/main/java/io/ecocode/java/checks/environment/leakage/CameraLeakRule.java b/android-plugin/src/main/java/io/ecocode/java/checks/environment/leakage/CameraLeakRule.java index 0837f9ee..f522242a 100644 --- a/android-plugin/src/main/java/io/ecocode/java/checks/environment/leakage/CameraLeakRule.java +++ b/android-plugin/src/main/java/io/ecocode/java/checks/environment/leakage/CameraLeakRule.java @@ -26,7 +26,8 @@ * * @see OpeningClosingMethodCheck */ -@Rule(key = "EC512") +@Rule(key = "GCI512") +@DeprecatedRuleKey(repositoryKey = "ecocode-android-java", ruleKey = "EC512") @DeprecatedRuleKey(repositoryKey = "ecoCode-java", ruleKey = "ELEA002") public class CameraLeakRule extends OpeningClosingMethodCheck { diff --git a/android-plugin/src/main/java/io/ecocode/java/checks/environment/leakage/LocationLeakRule.java b/android-plugin/src/main/java/io/ecocode/java/checks/environment/leakage/LocationLeakRule.java index 04093a3a..9f6147a3 100644 --- a/android-plugin/src/main/java/io/ecocode/java/checks/environment/leakage/LocationLeakRule.java +++ b/android-plugin/src/main/java/io/ecocode/java/checks/environment/leakage/LocationLeakRule.java @@ -26,7 +26,8 @@ * * @see OpeningClosingMethodCheck */ -@Rule(key = "EC513") +@Rule(key = "GCI513") +@DeprecatedRuleKey(repositoryKey = "ecocode-android-java", ruleKey = "EC513") @DeprecatedRuleKey(repositoryKey = "ecoCode-java", ruleKey = "ELEA003") public class LocationLeakRule extends OpeningClosingMethodCheck { diff --git a/android-plugin/src/main/java/io/ecocode/java/checks/environment/leakage/MediaLeakMediaPlayerRule.java b/android-plugin/src/main/java/io/ecocode/java/checks/environment/leakage/MediaLeakMediaPlayerRule.java index caa9375d..71f9695b 100644 --- a/android-plugin/src/main/java/io/ecocode/java/checks/environment/leakage/MediaLeakMediaPlayerRule.java +++ b/android-plugin/src/main/java/io/ecocode/java/checks/environment/leakage/MediaLeakMediaPlayerRule.java @@ -26,7 +26,8 @@ * * @see ConstructorBeforeMethodCheck */ -@Rule(key = "EC516") +@Rule(key = "GCI516") +@DeprecatedRuleKey(repositoryKey = "ecocode-android-java", ruleKey = "EC516") @DeprecatedRuleKey(repositoryKey = "ecoCode-java", ruleKey = "ELEA006") public class MediaLeakMediaPlayerRule extends ConstructorBeforeMethodCheck { private static final String ERROR_MESSAGE = "Failing to call release() on a Media Player may lead to continuous battery consumption."; diff --git a/android-plugin/src/main/java/io/ecocode/java/checks/environment/leakage/MediaLeakMediaRecorderRule.java b/android-plugin/src/main/java/io/ecocode/java/checks/environment/leakage/MediaLeakMediaRecorderRule.java index 60215539..fd9ecdbf 100644 --- a/android-plugin/src/main/java/io/ecocode/java/checks/environment/leakage/MediaLeakMediaRecorderRule.java +++ b/android-plugin/src/main/java/io/ecocode/java/checks/environment/leakage/MediaLeakMediaRecorderRule.java @@ -26,7 +26,8 @@ * * @see ConstructorBeforeMethodCheck */ -@Rule(key = "EC515") +@Rule(key = "GCI515") +@DeprecatedRuleKey(repositoryKey = "ecoCode-android-java", ruleKey = "EC515") @DeprecatedRuleKey(repositoryKey = "ecoCode-java", ruleKey = "ELEA005") public class MediaLeakMediaRecorderRule extends ConstructorBeforeMethodCheck { private static final String ERROR_MESSAGE = "Failing to call release() on a Media Recorder may lead to continuous battery consumption."; diff --git a/android-plugin/src/main/java/io/ecocode/java/checks/environment/leakage/SensorManagerLeakRule.java b/android-plugin/src/main/java/io/ecocode/java/checks/environment/leakage/SensorManagerLeakRule.java index 2309e0d8..44d22d03 100644 --- a/android-plugin/src/main/java/io/ecocode/java/checks/environment/leakage/SensorManagerLeakRule.java +++ b/android-plugin/src/main/java/io/ecocode/java/checks/environment/leakage/SensorManagerLeakRule.java @@ -26,7 +26,8 @@ * * @see OpeningClosingMethodCheck */ -@Rule(key = "EC514") +@Rule(key = "GCI514") +@DeprecatedRuleKey(repositoryKey = "ecoCode-android-java", ruleKey = "EC514") @DeprecatedRuleKey(repositoryKey = "ecoCode-java", ruleKey = "ELEA004") public class SensorManagerLeakRule extends OpeningClosingMethodCheck { diff --git a/android-plugin/src/main/java/io/ecocode/java/checks/environment/optimized_api/BluetoothLowEnergyRule.java b/android-plugin/src/main/java/io/ecocode/java/checks/environment/optimized_api/BluetoothLowEnergyRule.java index ee6afde1..bc166850 100644 --- a/android-plugin/src/main/java/io/ecocode/java/checks/environment/optimized_api/BluetoothLowEnergyRule.java +++ b/android-plugin/src/main/java/io/ecocode/java/checks/environment/optimized_api/BluetoothLowEnergyRule.java @@ -40,7 +40,8 @@ * * */ -@Rule(key = "EC518") +@Rule(key = "GCI518") +@DeprecatedRuleKey(repositoryKey = "ecocode-android-java", ruleKey = "EC518") @DeprecatedRuleKey(repositoryKey = "ecoCode-java", ruleKey = "EOPT002") public class BluetoothLowEnergyRule extends BaseTreeVisitor implements JavaFileScanner { diff --git a/android-plugin/src/main/java/io/ecocode/java/checks/environment/optimized_api/FusedLocationRule.java b/android-plugin/src/main/java/io/ecocode/java/checks/environment/optimized_api/FusedLocationRule.java index f0e16dd1..9c7c6bc6 100644 --- a/android-plugin/src/main/java/io/ecocode/java/checks/environment/optimized_api/FusedLocationRule.java +++ b/android-plugin/src/main/java/io/ecocode/java/checks/environment/optimized_api/FusedLocationRule.java @@ -34,7 +34,8 @@ *
  • If the first import is found but not the second, report an issue.
  • * ` */ -@Rule(key = "EC517") +@Rule(key = "GCI517") +@DeprecatedRuleKey(repositoryKey = "ecocode-android-java", ruleKey = "EC517") @DeprecatedRuleKey(repositoryKey = "ecoCode-java", ruleKey = "EOPT001") public class FusedLocationRule extends IssuableSubscriptionVisitor { diff --git a/android-plugin/src/main/java/io/ecocode/java/checks/environment/power/ChargeAwarenessRule.java b/android-plugin/src/main/java/io/ecocode/java/checks/environment/power/ChargeAwarenessRule.java index 0502e21a..c1304b81 100644 --- a/android-plugin/src/main/java/io/ecocode/java/checks/environment/power/ChargeAwarenessRule.java +++ b/android-plugin/src/main/java/io/ecocode/java/checks/environment/power/ChargeAwarenessRule.java @@ -40,7 +40,8 @@ * android.intent.action.ACTION_POWER_CONNECTED`, `android.intent.action.BATTERY_LOW` or * android.intent.action.BATTERY_OKAY` reports a (positive) issue. */ -@Rule(key = "EC519") +@Rule(key = "GCI519") +@DeprecatedRuleKey(repositoryKey = "ecocode-android-java", ruleKey = "EC519") @DeprecatedRuleKey(repositoryKey = "ecoCode-java", ruleKey = "EPOW004") public class ChargeAwarenessRule extends IssuableSubscriptionVisitor { private static final Logger LOG = Loggers.get(ChargeAwarenessRule.class); diff --git a/android-plugin/src/main/java/io/ecocode/java/checks/environment/power/SaveModeAwarenessRule.java b/android-plugin/src/main/java/io/ecocode/java/checks/environment/power/SaveModeAwarenessRule.java index 198f6ff9..8b51684e 100644 --- a/android-plugin/src/main/java/io/ecocode/java/checks/environment/power/SaveModeAwarenessRule.java +++ b/android-plugin/src/main/java/io/ecocode/java/checks/environment/power/SaveModeAwarenessRule.java @@ -33,7 +33,8 @@ /** * Checks the use of the BATTERY_CHANGED propriety in intentFilter or the use of the isPowerSaveMode() method */ -@Rule(key = "EC520") +@Rule(key = "GCI520") +@DeprecatedRuleKey(repositoryKey = "ecocode-android-java", ruleKey = "EC520") @DeprecatedRuleKey(repositoryKey = "ecoCode-java", ruleKey = "EPOW006") public class SaveModeAwarenessRule extends IssuableSubscriptionVisitor { private static final Logger LOG = Loggers.get(SaveModeAwarenessRule.class); diff --git a/android-plugin/src/main/java/io/ecocode/java/checks/environment/sobriety/BrightnessOverrideRule.java b/android-plugin/src/main/java/io/ecocode/java/checks/environment/sobriety/BrightnessOverrideRule.java index 376292fd..d6e19a70 100644 --- a/android-plugin/src/main/java/io/ecocode/java/checks/environment/sobriety/BrightnessOverrideRule.java +++ b/android-plugin/src/main/java/io/ecocode/java/checks/environment/sobriety/BrightnessOverrideRule.java @@ -29,7 +29,8 @@ * Check the assignment of the variable android.view.WindowManager$LayoutParams.screenBrightness with the value * "BRIGHTNESS_OVERRIDE_FULL" (1.0f). */ -@Rule(key = "EC522") +@Rule(key = "GCI522") +@DeprecatedRuleKey(repositoryKey = "ecocode-android-java", ruleKey = "EC522") @DeprecatedRuleKey(repositoryKey = "ecoCode-java", ruleKey = "ESOB002") public class BrightnessOverrideRule extends IssuableSubscriptionVisitor { diff --git a/android-plugin/src/main/java/io/ecocode/java/checks/environment/sobriety/HighFrameRateRule.java b/android-plugin/src/main/java/io/ecocode/java/checks/environment/sobriety/HighFrameRateRule.java index 9f3dc670..017d2c3e 100644 --- a/android-plugin/src/main/java/io/ecocode/java/checks/environment/sobriety/HighFrameRateRule.java +++ b/android-plugin/src/main/java/io/ecocode/java/checks/environment/sobriety/HighFrameRateRule.java @@ -27,7 +27,8 @@ import java.util.List; import java.util.Optional; -@Rule(key = "EC531") +@Rule(key = "GCI531") +@DeprecatedRuleKey(repositoryKey = "ecocode-android-java", ruleKey = "EC531") @DeprecatedRuleKey(repositoryKey = "ecoCode-java", ruleKey = "ESOB014") public class HighFrameRateRule extends IssuableSubscriptionVisitor { diff --git a/android-plugin/src/main/java/io/ecocode/java/checks/environment/sobriety/ThriftyBluetoothLowEnergyRequestConnectionPriorityRule.java b/android-plugin/src/main/java/io/ecocode/java/checks/environment/sobriety/ThriftyBluetoothLowEnergyRequestConnectionPriorityRule.java index 617f1826..617f49e5 100644 --- a/android-plugin/src/main/java/io/ecocode/java/checks/environment/sobriety/ThriftyBluetoothLowEnergyRequestConnectionPriorityRule.java +++ b/android-plugin/src/main/java/io/ecocode/java/checks/environment/sobriety/ThriftyBluetoothLowEnergyRequestConnectionPriorityRule.java @@ -25,7 +25,8 @@ * On the method `android.bluetooth.BluetoothGatt#requestConnectionPriority(int)`, reports an issue if * it is called with a parameter value different from `CONNECTION_PRIORITY_LOW_POWER (2)`. */ -@Rule(key = "EC526") +@Rule(key = "GCI526") +@DeprecatedRuleKey(repositoryKey = "ecocode-android-java", ruleKey = "EC526") @DeprecatedRuleKey(repositoryKey = "ecoCode-java", ruleKey = "ESOB008") public class ThriftyBluetoothLowEnergyRequestConnectionPriorityRule extends ConstantOnMethodCheck { diff --git a/android-plugin/src/main/java/io/ecocode/java/checks/environment/sobriety/ThriftyBluetoothLowEnergySetAdvertiseModeRule.java b/android-plugin/src/main/java/io/ecocode/java/checks/environment/sobriety/ThriftyBluetoothLowEnergySetAdvertiseModeRule.java index f4ef40a8..4777dc98 100644 --- a/android-plugin/src/main/java/io/ecocode/java/checks/environment/sobriety/ThriftyBluetoothLowEnergySetAdvertiseModeRule.java +++ b/android-plugin/src/main/java/io/ecocode/java/checks/environment/sobriety/ThriftyBluetoothLowEnergySetAdvertiseModeRule.java @@ -25,7 +25,8 @@ * On the method `android.bluetooth.le.AdvertiseSettings$Builder#setAdvertiseMode(int)`, report an issue if * it is called with parameter value different from `ADVERTISE_MODE_LOW_POWER (0)`. */ -@Rule(key = "EC525") +@Rule(key = "GCI525") +@DeprecatedRuleKey(repositoryKey = "ecocode-android-java", ruleKey = "EC525") @DeprecatedRuleKey(repositoryKey = "ecoCode-java", ruleKey = "ESOB007") public class ThriftyBluetoothLowEnergySetAdvertiseModeRule extends ConstantOnMethodCheck { diff --git a/android-plugin/src/main/java/io/ecocode/java/checks/environment/sobriety/ThriftyGeolocationCriteriaRule.java b/android-plugin/src/main/java/io/ecocode/java/checks/environment/sobriety/ThriftyGeolocationCriteriaRule.java index 9900636b..49dae9bd 100644 --- a/android-plugin/src/main/java/io/ecocode/java/checks/environment/sobriety/ThriftyGeolocationCriteriaRule.java +++ b/android-plugin/src/main/java/io/ecocode/java/checks/environment/sobriety/ThriftyGeolocationCriteriaRule.java @@ -47,7 +47,8 @@ * * **Case 3**: * - if the method `setPowerRequirement` of type `android.location.Criteria` is called report an issue on its first argument if it's not `1`. */ -@Rule(key = "EC524") +@Rule(key = "GCI524") +@DeprecatedRuleKey(repositoryKey = "ecocode-android-java", ruleKey = "EC524") @DeprecatedRuleKey(repositoryKey = "ecoCode-java", ruleKey = "ESOB006") public class ThriftyGeolocationCriteriaRule extends IssuableSubscriptionVisitor { diff --git a/android-plugin/src/main/java/io/ecocode/java/checks/environment/sobriety/ThriftyGeolocationMinDistanceRule.java b/android-plugin/src/main/java/io/ecocode/java/checks/environment/sobriety/ThriftyGeolocationMinDistanceRule.java index 9eed079f..566f9ec2 100644 --- a/android-plugin/src/main/java/io/ecocode/java/checks/environment/sobriety/ThriftyGeolocationMinDistanceRule.java +++ b/android-plugin/src/main/java/io/ecocode/java/checks/environment/sobriety/ThriftyGeolocationMinDistanceRule.java @@ -36,7 +36,8 @@ * Check if a method requestLocationUpdates is called from android.location.LocationManager package. * If minDistance argument value is 0, report an issue on the argument. */ -@Rule(key = "EC527") +@Rule(key = "GCI527") +@DeprecatedRuleKey(repositoryKey = "ecocode-android-java", ruleKey = "EC527") @DeprecatedRuleKey(repositoryKey = "ecoCode-java", ruleKey = "ESOB010") public class ThriftyGeolocationMinDistanceRule extends IssuableSubscriptionVisitor { private static final String ERROR_MESSAGE = "Location updates should be done with a distance interval greater than 0."; diff --git a/android-plugin/src/main/java/io/ecocode/java/checks/environment/sobriety/ThriftyGeolocationMinTimeRule.java b/android-plugin/src/main/java/io/ecocode/java/checks/environment/sobriety/ThriftyGeolocationMinTimeRule.java index 047164f5..fe180098 100644 --- a/android-plugin/src/main/java/io/ecocode/java/checks/environment/sobriety/ThriftyGeolocationMinTimeRule.java +++ b/android-plugin/src/main/java/io/ecocode/java/checks/environment/sobriety/ThriftyGeolocationMinTimeRule.java @@ -36,7 +36,8 @@ * Check if a method requestLocationUpdates is called from android.location.LocationManager package. * If minTime argument value is 0, report an issue on the argument. */ -@Rule(key = "EC523") +@Rule(key = "GCI523") +@DeprecatedRuleKey(repositoryKey = "ecocode-android-java", ruleKey = "EC523") @DeprecatedRuleKey(repositoryKey = "ecoCode-java", ruleKey = "ESOB005") public class ThriftyGeolocationMinTimeRule extends IssuableSubscriptionVisitor { diff --git a/android-plugin/src/main/java/io/ecocode/java/checks/environment/sobriety/ThriftyMotionSensorRule.java b/android-plugin/src/main/java/io/ecocode/java/checks/environment/sobriety/ThriftyMotionSensorRule.java index 45c2d0da..8b35daa0 100644 --- a/android-plugin/src/main/java/io/ecocode/java/checks/environment/sobriety/ThriftyMotionSensorRule.java +++ b/android-plugin/src/main/java/io/ecocode/java/checks/environment/sobriety/ThriftyMotionSensorRule.java @@ -24,7 +24,8 @@ /** * Check the call of "TYPE_ROTATION_VECTOR" on the method "getDefaultSensor" of "android.hardware.SensorManager". */ -@Rule(key = "EC521") +@Rule(key = "GCI521") +@DeprecatedRuleKey(repositoryKey = "ecoCode-android-java", ruleKey = "EC521") @DeprecatedRuleKey(repositoryKey = "ecoCode-java", ruleKey = "ESOB001") public class ThriftyMotionSensorRule extends FlagOnMethodCheck { diff --git a/android-plugin/src/main/java/io/ecocode/java/checks/environment/sobriety/ThriftyNotificationRule.java b/android-plugin/src/main/java/io/ecocode/java/checks/environment/sobriety/ThriftyNotificationRule.java index 9b95eae9..f236dbb7 100644 --- a/android-plugin/src/main/java/io/ecocode/java/checks/environment/sobriety/ThriftyNotificationRule.java +++ b/android-plugin/src/main/java/io/ecocode/java/checks/environment/sobriety/ThriftyNotificationRule.java @@ -30,7 +30,8 @@ /** * Check the call of "setSound", "setVibrate" & "setVibrationPattern" of "android.app.NotificationChannel" & "android.app.Notification$Builder". */ -@Rule(key = "EC529") +@Rule(key = "GCI529") +@DeprecatedRuleKey(repositoryKey = "ecocode-android-java", ruleKey = "EC529") @DeprecatedRuleKey(repositoryKey = "ecoCode-java", ruleKey = "ESOB012") public class ThriftyNotificationRule extends IssuableSubscriptionVisitor { private static final String ERROR_MESSAGE = "Avoid using vibration or sound when notifying the users to use less energy."; diff --git a/android-plugin/src/main/java/io/ecocode/java/checks/environment/sobriety/TorchFreeRule.java b/android-plugin/src/main/java/io/ecocode/java/checks/environment/sobriety/TorchFreeRule.java index 37fb372e..5220bc65 100644 --- a/android-plugin/src/main/java/io/ecocode/java/checks/environment/sobriety/TorchFreeRule.java +++ b/android-plugin/src/main/java/io/ecocode/java/checks/environment/sobriety/TorchFreeRule.java @@ -28,7 +28,8 @@ * Check the call of the method "setTorchMode" from "android.hardware.camera2.CameraManager" * with the param 1 set to "true". */ -@Rule(key = "EC530") +@Rule(key = "GCI530") +@DeprecatedRuleKey(repositoryKey = "ecocode-android-java", ruleKey = "EC530") @DeprecatedRuleKey(repositoryKey = "ecoCode-java", ruleKey = "ESOB013") public class TorchFreeRule extends ArgumentValueOnMethodCheck { diff --git a/android-plugin/src/main/java/io/ecocode/java/checks/environment/sobriety/VibrationFreeRule.java b/android-plugin/src/main/java/io/ecocode/java/checks/environment/sobriety/VibrationFreeRule.java index 77abe46e..d3f0694c 100644 --- a/android-plugin/src/main/java/io/ecocode/java/checks/environment/sobriety/VibrationFreeRule.java +++ b/android-plugin/src/main/java/io/ecocode/java/checks/environment/sobriety/VibrationFreeRule.java @@ -25,7 +25,8 @@ import java.util.Optional; -@Rule(key = "EC528") +@Rule(key = "GCI528") +@DeprecatedRuleKey(repositoryKey = "ecocode-android-java", ruleKey = "EC528") @DeprecatedRuleKey(repositoryKey = "ecoCode-java", ruleKey = "ESOB011") public class VibrationFreeRule extends ArgumentValueOnMethodCheck { diff --git a/android-plugin/src/main/java/io/ecocode/java/checks/social/privacy/GoogleTrackerRule.java b/android-plugin/src/main/java/io/ecocode/java/checks/social/privacy/GoogleTrackerRule.java index 804b75fc..ac0eab87 100644 --- a/android-plugin/src/main/java/io/ecocode/java/checks/social/privacy/GoogleTrackerRule.java +++ b/android-plugin/src/main/java/io/ecocode/java/checks/social/privacy/GoogleTrackerRule.java @@ -35,7 +35,8 @@ * practice should be discouraged at early stage. */ -@Rule(key = "EC532") +@Rule(key = "GCI532") +@DeprecatedRuleKey(repositoryKey = "ecocode-android-java", ruleKey = "EC532") @DeprecatedRuleKey(repositoryKey = "ecoCode-java", ruleKey = "SPRI002") public class GoogleTrackerRule extends BaseTreeVisitor implements JavaFileScanner { diff --git a/android-plugin/src/main/java/io/ecocode/xml/checks/batch/ServiceBootTimeXmlRule.java b/android-plugin/src/main/java/io/ecocode/xml/checks/batch/ServiceBootTimeXmlRule.java index 8487f9fb..94efecb4 100644 --- a/android-plugin/src/main/java/io/ecocode/xml/checks/batch/ServiceBootTimeXmlRule.java +++ b/android-plugin/src/main/java/io/ecocode/xml/checks/batch/ServiceBootTimeXmlRule.java @@ -24,7 +24,8 @@ /** * Checks manifest intent-filter statement: if the action is BOOT_COMPLETED, report a bad practice */ -@Rule(key = "EC540") +@Rule(key = "GCI540") +@DeprecatedRuleKey(repositoryKey = "ecocode-android-xml", ruleKey = "EC540") @DeprecatedRuleKey(repositoryKey = "ecoCode-xml", ruleKey = "EBAT001") public class ServiceBootTimeXmlRule extends XPathSimpleCheck { diff --git a/android-plugin/src/main/java/io/ecocode/xml/checks/idleness/KeepCpuOnXmlRule.java b/android-plugin/src/main/java/io/ecocode/xml/checks/idleness/KeepCpuOnXmlRule.java index 6754d047..5eb94131 100644 --- a/android-plugin/src/main/java/io/ecocode/xml/checks/idleness/KeepCpuOnXmlRule.java +++ b/android-plugin/src/main/java/io/ecocode/xml/checks/idleness/KeepCpuOnXmlRule.java @@ -25,7 +25,8 @@ * Checks manifest uses-permissions statement. * if the permissions "android.permission.WAKE_LOCK" is found, report an issue. */ -@Rule(key = "EC542") +@Rule(key = "GCI542") +@DeprecatedRuleKey(repositoryKey = "ecocode-android-xml", ruleKey = "EC542") @DeprecatedRuleKey(repositoryKey = "ecoCode-xml", ruleKey = "EIDL005") public class KeepCpuOnXmlRule extends CheckPermissionsRule { diff --git a/android-plugin/src/main/java/io/ecocode/xml/checks/idleness/KeepScreenOnXmlRule.java b/android-plugin/src/main/java/io/ecocode/xml/checks/idleness/KeepScreenOnXmlRule.java index 8086d3f9..9ff7fe90 100644 --- a/android-plugin/src/main/java/io/ecocode/xml/checks/idleness/KeepScreenOnXmlRule.java +++ b/android-plugin/src/main/java/io/ecocode/xml/checks/idleness/KeepScreenOnXmlRule.java @@ -21,7 +21,8 @@ import org.sonar.check.Rule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; -@Rule(key = "EC541") +@Rule(key = "GCI541") +@DeprecatedRuleKey(repositoryKey = "ecocode-android-xml", ruleKey = "EC541") @DeprecatedRuleKey(repositoryKey = "ecoCode-xml", ruleKey = "EIDL003") public class KeepScreenOnXmlRule extends XPathSimpleCheck { diff --git a/android-plugin/src/main/java/io/ecocode/xml/checks/power/ChargeAwarenessXmlRule.java b/android-plugin/src/main/java/io/ecocode/xml/checks/power/ChargeAwarenessXmlRule.java index 788f5ef7..1f905ed9 100644 --- a/android-plugin/src/main/java/io/ecocode/xml/checks/power/ChargeAwarenessXmlRule.java +++ b/android-plugin/src/main/java/io/ecocode/xml/checks/power/ChargeAwarenessXmlRule.java @@ -25,7 +25,8 @@ * Checks manifest intent-filter statement: if the action is ACTION_POWER_CONNECTED, ACTION_POWER_DISCONNECTED, * BATTERY_OKAY or BATTERY_LOW report a good practice. */ -@Rule(key = "EC545") +@Rule(key = "GCI545") +@DeprecatedRuleKey(repositoryKey = "ecocode-android-xml", ruleKey = "EC545") @DeprecatedRuleKey(repositoryKey = "ecoCode-xml", ruleKey = "EPOW005") public class ChargeAwarenessXmlRule extends XPathSimpleCheck { diff --git a/android-plugin/src/main/java/io/ecocode/xml/checks/power/CompagnionInBackgroundXmlRule.java b/android-plugin/src/main/java/io/ecocode/xml/checks/power/CompagnionInBackgroundXmlRule.java index 4fbc7f9d..938ad495 100644 --- a/android-plugin/src/main/java/io/ecocode/xml/checks/power/CompagnionInBackgroundXmlRule.java +++ b/android-plugin/src/main/java/io/ecocode/xml/checks/power/CompagnionInBackgroundXmlRule.java @@ -25,7 +25,8 @@ * Checks manifest uses-permissions statement: * if the permission "android.permission.REQUEST_COMPANION_RUN_IN_BACKGROUND" is found, report an issue. */ -@Rule(key = "EC543") +@Rule(key = "GCI543") +@DeprecatedRuleKey(repositoryKey = "ecocode-android-xml", ruleKey = "EC543") @DeprecatedRuleKey(repositoryKey = "ecoCode-xml", ruleKey = "EPOW002") public class CompagnionInBackgroundXmlRule extends CheckPermissionsRule { diff --git a/android-plugin/src/main/java/io/ecocode/xml/checks/power/IgnoreBatteryOptimizationsXmlRule.java b/android-plugin/src/main/java/io/ecocode/xml/checks/power/IgnoreBatteryOptimizationsXmlRule.java index fe50c668..fae6d376 100644 --- a/android-plugin/src/main/java/io/ecocode/xml/checks/power/IgnoreBatteryOptimizationsXmlRule.java +++ b/android-plugin/src/main/java/io/ecocode/xml/checks/power/IgnoreBatteryOptimizationsXmlRule.java @@ -25,7 +25,8 @@ * Checks manifest uses-permissions statement: * if the permission "android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" is found, report an issue. */ -@Rule(key = "EC544") +@Rule(key = "GCI544") +@DeprecatedRuleKey(repositoryKey = "ecocode-android-xml", ruleKey = "EC544") @DeprecatedRuleKey(repositoryKey = "ecoCode-xml", ruleKey = "EPOW003") public class IgnoreBatteryOptimizationsXmlRule extends CheckPermissionsRule { diff --git a/android-plugin/src/main/java/io/ecocode/xml/checks/power/SaveModeAwarenessXmlRule.java b/android-plugin/src/main/java/io/ecocode/xml/checks/power/SaveModeAwarenessXmlRule.java index ec3fa88f..a1cdf6e7 100644 --- a/android-plugin/src/main/java/io/ecocode/xml/checks/power/SaveModeAwarenessXmlRule.java +++ b/android-plugin/src/main/java/io/ecocode/xml/checks/power/SaveModeAwarenessXmlRule.java @@ -25,7 +25,8 @@ * Checks manifest uses-permissions statement: * if the permission "android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" is found, report an issue. */ -@Rule(key = "EC546") +@Rule(key = "GCI546") +@DeprecatedRuleKey(repositoryKey = "ecocode-android-xml", ruleKey = "EC546") @DeprecatedRuleKey(repositoryKey = "ecoCode-xml", ruleKey = "EPOW007") public class SaveModeAwarenessXmlRule extends XPathSimpleCheck { diff --git a/android-plugin/src/main/java/io/ecocode/xml/checks/sobriety/DarkUIBrightColorsXmlRule.java b/android-plugin/src/main/java/io/ecocode/xml/checks/sobriety/DarkUIBrightColorsXmlRule.java index 6451ecaa..fd3f842a 100644 --- a/android-plugin/src/main/java/io/ecocode/xml/checks/sobriety/DarkUIBrightColorsXmlRule.java +++ b/android-plugin/src/main/java/io/ecocode/xml/checks/sobriety/DarkUIBrightColorsXmlRule.java @@ -35,7 +35,8 @@ *
  • If the value is an hexa value >= to a given brightness threshold throw an issue
  • * */ -@Rule(key = "EC547") +@Rule(key = "GCI547") +@DeprecatedRuleKey(repositoryKey = "ecocode-android-xml", ruleKey = "EC547") @DeprecatedRuleKey(repositoryKey = "ecoCode-xml", ruleKey = "ESOB003") public class DarkUIBrightColorsXmlRule extends XPathCheck { diff --git a/android-plugin/src/main/java/io/ecocode/xml/checks/sobriety/DarkUIThemeXmlRule.java b/android-plugin/src/main/java/io/ecocode/xml/checks/sobriety/DarkUIThemeXmlRule.java index 81100622..9ea988e7 100644 --- a/android-plugin/src/main/java/io/ecocode/xml/checks/sobriety/DarkUIThemeXmlRule.java +++ b/android-plugin/src/main/java/io/ecocode/xml/checks/sobriety/DarkUIThemeXmlRule.java @@ -42,7 +42,8 @@ * "@style/Theme.MaterialComponents.Light" * */ -@Rule(key = "EC548") +@Rule(key = "GCI548") +@DeprecatedRuleKey(repositoryKey = "ecocode-android-xml", ruleKey = "EC548") @DeprecatedRuleKey(repositoryKey = "ecoCode-xml", ruleKey = "ESOB004") public class DarkUIThemeXmlRule extends XPathSimpleCheck { diff --git a/android-plugin/src/main/resources/io/ecocode/android/java/ecocode_java_profile.json b/android-plugin/src/main/resources/io/ecocode/android/java/ecocode_java_profile.json index 088b28ef..f3f8c76f 100644 --- a/android-plugin/src/main/resources/io/ecocode/android/java/ecocode_java_profile.json +++ b/android-plugin/src/main/resources/io/ecocode/android/java/ecocode_java_profile.json @@ -1,38 +1,38 @@ { "name": "ecoCode Android", "ruleKeys": [ - "EC500", - "EC501", - "EC502", - "EC503", - "EC504", - "EC505", - "EC506", - "EC507", - "EC508", - "EC509", - "EC510", - "EC511", - "EC512", - "EC513", - "EC514", - "EC515", - "EC516", - "EC517", - "EC518", - "EC519", - "EC520", - "EC521", - "EC522", - "EC523", - "EC524", - "EC525", - "EC526", - "EC527", - "EC528", - "EC529", - "EC530", - "EC531", - "EC532" + "GCI500", + "GCI501", + "GCI502", + "GCI503", + "GCI504", + "GCI505", + "GCI506", + "GCI507", + "GCI508", + "GCI509", + "GCI510", + "GCI511", + "GCI512", + "GCI513", + "GCI514", + "GCI515", + "GCI516", + "GCI517", + "GCI518", + "GCI519", + "GCI520", + "GCI521", + "GCI522", + "GCI523", + "GCI524", + "GCI525", + "GCI526", + "GCI527", + "GCI528", + "GCI529", + "GCI530", + "GCI531", + "GCI532" ] } diff --git a/android-plugin/src/main/resources/io/ecocode/android/xml/ecocode_xml_profile.json b/android-plugin/src/main/resources/io/ecocode/android/xml/ecocode_xml_profile.json index 22801068..e6ed8963 100644 --- a/android-plugin/src/main/resources/io/ecocode/android/xml/ecocode_xml_profile.json +++ b/android-plugin/src/main/resources/io/ecocode/android/xml/ecocode_xml_profile.json @@ -1,13 +1,13 @@ { "name": "ecoCode Android", "ruleKeys": [ - "EC540", - "EC541", - "EC542", - "EC543", - "EC544", - "EC545", - "EC546", - "EC548" + "GCI540", + "GCI541", + "GCI542", + "GCI543", + "GCI544", + "GCI545", + "GCI546", + "GCI548" ] } diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC500.html b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI500.html similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC500.html rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI500.html diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC500.json b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI500.json similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC500.json rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI500.json diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC501.html b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI501.html similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC501.html rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI501.html diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC501.json b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI501.json similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC501.json rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI501.json diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC502.html b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI502.html similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC502.html rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI502.html diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC502.json b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI502.json similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC502.json rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI502.json diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC503.html b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI503.html similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC503.html rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI503.html diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC503.json b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI503.json similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC503.json rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI503.json diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC504.html b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI504.html similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC504.html rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI504.html diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC504.json b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI504.json similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC504.json rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI504.json diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC505.html b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI505.html similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC505.html rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI505.html diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC505.json b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI505.json similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC505.json rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI505.json diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC506.html b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI506.html similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC506.html rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI506.html diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC506.json b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI506.json similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC506.json rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI506.json diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC507.html b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI507.html similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC507.html rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI507.html diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC507.json b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI507.json similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC507.json rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI507.json diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC508.html b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI508.html similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC508.html rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI508.html diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC508.json b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI508.json similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC508.json rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI508.json diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC509.html b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI509.html similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC509.html rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI509.html diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC509.json b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI509.json similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC509.json rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI509.json diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC510.html b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI510.html similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC510.html rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI510.html diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC510.json b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI510.json similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC510.json rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI510.json diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC511.html b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI511.html similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC511.html rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI511.html diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC511.json b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI511.json similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC511.json rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI511.json diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC512.html b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI512.html similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC512.html rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI512.html diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC512.json b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI512.json similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC512.json rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI512.json diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC513.html b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI513.html similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC513.html rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI513.html diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC513.json b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI513.json similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC513.json rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI513.json diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC514.html b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI514.html similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC514.html rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI514.html diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC514.json b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI514.json similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC514.json rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI514.json diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC515.html b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI515.html similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC515.html rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI515.html diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC515.json b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI515.json similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC515.json rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI515.json diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC516.html b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI516.html similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC516.html rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI516.html diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC516.json b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI516.json similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC516.json rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI516.json diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC517.html b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI517.html similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC517.html rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI517.html diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC517.json b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI517.json similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC517.json rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI517.json diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC518.html b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI518.html similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC518.html rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI518.html diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC518.json b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI518.json similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC518.json rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI518.json diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC519.html b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI519.html similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC519.html rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI519.html diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC519.json b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI519.json similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC519.json rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI519.json diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC520.html b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI520.html similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC520.html rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI520.html diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC520.json b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI520.json similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC520.json rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI520.json diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC521.html b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI521.html similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC521.html rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI521.html diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC521.json b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI521.json similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC521.json rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI521.json diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC522.html b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI522.html similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC522.html rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI522.html diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC522.json b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI522.json similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC522.json rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI522.json diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC523.html b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI523.html similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC523.html rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI523.html diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC523.json b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI523.json similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC523.json rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI523.json diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC524.html b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI524.html similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC524.html rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI524.html diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC524.json b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI524.json similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC524.json rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI524.json diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC525.html b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI525.html similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC525.html rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI525.html diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC525.json b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI525.json similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC525.json rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI525.json diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC526.html b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI526.html similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC526.html rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI526.html diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC526.json b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI526.json similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC526.json rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI526.json diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC527.html b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI527.html similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC527.html rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI527.html diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC527.json b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI527.json similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC527.json rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI527.json diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC528.html b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI528.html similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC528.html rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI528.html diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC528.json b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI528.json similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC528.json rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI528.json diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC529.html b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI529.html similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC529.html rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI529.html diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC529.json b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI529.json similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC529.json rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI529.json diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC530.html b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI530.html similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC530.html rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI530.html diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC530.json b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI530.json similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC530.json rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI530.json diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC531.html b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI531.html similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC531.html rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI531.html diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC531.json b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI531.json similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC531.json rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI531.json diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC532.html b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI532.html similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC532.html rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI532.html diff --git a/android-plugin/src/main/resources/io/ecocode/rules/java/EC532.json b/android-plugin/src/main/resources/io/ecocode/rules/java/GCI532.json similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/java/EC532.json rename to android-plugin/src/main/resources/io/ecocode/rules/java/GCI532.json diff --git a/android-plugin/src/main/resources/io/ecocode/rules/xml/EC540.html b/android-plugin/src/main/resources/io/ecocode/rules/xml/GCI540.html similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/xml/EC540.html rename to android-plugin/src/main/resources/io/ecocode/rules/xml/GCI540.html diff --git a/android-plugin/src/main/resources/io/ecocode/rules/xml/EC540.json b/android-plugin/src/main/resources/io/ecocode/rules/xml/GCI540.json similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/xml/EC540.json rename to android-plugin/src/main/resources/io/ecocode/rules/xml/GCI540.json diff --git a/android-plugin/src/main/resources/io/ecocode/rules/xml/EC541.html b/android-plugin/src/main/resources/io/ecocode/rules/xml/GCI541.html similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/xml/EC541.html rename to android-plugin/src/main/resources/io/ecocode/rules/xml/GCI541.html diff --git a/android-plugin/src/main/resources/io/ecocode/rules/xml/EC541.json b/android-plugin/src/main/resources/io/ecocode/rules/xml/GCI541.json similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/xml/EC541.json rename to android-plugin/src/main/resources/io/ecocode/rules/xml/GCI541.json diff --git a/android-plugin/src/main/resources/io/ecocode/rules/xml/EC542.html b/android-plugin/src/main/resources/io/ecocode/rules/xml/GCI542.html similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/xml/EC542.html rename to android-plugin/src/main/resources/io/ecocode/rules/xml/GCI542.html diff --git a/android-plugin/src/main/resources/io/ecocode/rules/xml/EC542.json b/android-plugin/src/main/resources/io/ecocode/rules/xml/GCI542.json similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/xml/EC542.json rename to android-plugin/src/main/resources/io/ecocode/rules/xml/GCI542.json diff --git a/android-plugin/src/main/resources/io/ecocode/rules/xml/EC543.html b/android-plugin/src/main/resources/io/ecocode/rules/xml/GCI543.html similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/xml/EC543.html rename to android-plugin/src/main/resources/io/ecocode/rules/xml/GCI543.html diff --git a/android-plugin/src/main/resources/io/ecocode/rules/xml/EC543.json b/android-plugin/src/main/resources/io/ecocode/rules/xml/GCI543.json similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/xml/EC543.json rename to android-plugin/src/main/resources/io/ecocode/rules/xml/GCI543.json diff --git a/android-plugin/src/main/resources/io/ecocode/rules/xml/EC544.html b/android-plugin/src/main/resources/io/ecocode/rules/xml/GCI544.html similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/xml/EC544.html rename to android-plugin/src/main/resources/io/ecocode/rules/xml/GCI544.html diff --git a/android-plugin/src/main/resources/io/ecocode/rules/xml/EC544.json b/android-plugin/src/main/resources/io/ecocode/rules/xml/GCI544.json similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/xml/EC544.json rename to android-plugin/src/main/resources/io/ecocode/rules/xml/GCI544.json diff --git a/android-plugin/src/main/resources/io/ecocode/rules/xml/EC545.html b/android-plugin/src/main/resources/io/ecocode/rules/xml/GCI545.html similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/xml/EC545.html rename to android-plugin/src/main/resources/io/ecocode/rules/xml/GCI545.html diff --git a/android-plugin/src/main/resources/io/ecocode/rules/xml/EC545.json b/android-plugin/src/main/resources/io/ecocode/rules/xml/GCI545.json similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/xml/EC545.json rename to android-plugin/src/main/resources/io/ecocode/rules/xml/GCI545.json diff --git a/android-plugin/src/main/resources/io/ecocode/rules/xml/EC546.html b/android-plugin/src/main/resources/io/ecocode/rules/xml/GCI546.html similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/xml/EC546.html rename to android-plugin/src/main/resources/io/ecocode/rules/xml/GCI546.html diff --git a/android-plugin/src/main/resources/io/ecocode/rules/xml/EC546.json b/android-plugin/src/main/resources/io/ecocode/rules/xml/GCI546.json similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/xml/EC546.json rename to android-plugin/src/main/resources/io/ecocode/rules/xml/GCI546.json diff --git a/android-plugin/src/main/resources/io/ecocode/rules/xml/EC547.html b/android-plugin/src/main/resources/io/ecocode/rules/xml/GCI547.html similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/xml/EC547.html rename to android-plugin/src/main/resources/io/ecocode/rules/xml/GCI547.html diff --git a/android-plugin/src/main/resources/io/ecocode/rules/xml/EC547.json b/android-plugin/src/main/resources/io/ecocode/rules/xml/GCI547.json similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/xml/EC547.json rename to android-plugin/src/main/resources/io/ecocode/rules/xml/GCI547.json diff --git a/android-plugin/src/main/resources/io/ecocode/rules/xml/EC548.html b/android-plugin/src/main/resources/io/ecocode/rules/xml/GCI548.html similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/xml/EC548.html rename to android-plugin/src/main/resources/io/ecocode/rules/xml/GCI548.html diff --git a/android-plugin/src/main/resources/io/ecocode/rules/xml/EC548.json b/android-plugin/src/main/resources/io/ecocode/rules/xml/GCI548.json similarity index 100% rename from android-plugin/src/main/resources/io/ecocode/rules/xml/EC548.json rename to android-plugin/src/main/resources/io/ecocode/rules/xml/GCI548.json diff --git a/android-plugin/src/main/resources/org/sonar/plugins/groovy/cost.csv b/android-plugin/src/main/resources/org/sonar/plugins/groovy/cost.csv index 9c4156bf..a79a3160 100644 --- a/android-plugin/src/main/resources/org/sonar/plugins/groovy/cost.csv +++ b/android-plugin/src/main/resources/org/sonar/plugins/groovy/cost.csv @@ -1,2 +1,2 @@ ruleKey;remediationFunction;remediationFactor -EC5001;linear;1h +GCI5001;linear;1h diff --git a/android-plugin/src/main/resources/org/sonar/plugins/groovy/profile-default.txt b/android-plugin/src/main/resources/org/sonar/plugins/groovy/profile-default.txt index b8b72dea..89bf7500 100644 --- a/android-plugin/src/main/resources/org/sonar/plugins/groovy/profile-default.txt +++ b/android-plugin/src/main/resources/org/sonar/plugins/groovy/profile-default.txt @@ -1 +1 @@ -EC5001 +GCI5001 diff --git a/android-plugin/src/main/resources/org/sonar/plugins/groovy/rules.xml b/android-plugin/src/main/resources/org/sonar/plugins/groovy/rules.xml index d54205f7..0023fe86 100644 --- a/android-plugin/src/main/resources/org/sonar/plugins/groovy/rules.xml +++ b/android-plugin/src/main/resources/org/sonar/plugins/groovy/rules.xml @@ -4,10 +4,10 @@ - EC5001 + GCI5001 MINOR - + Using "multiDexEnabled true" goes against the overall reduction of the weight of the apps and hence must be avoided.

    Example of violations:

        android {
    diff --git a/android-plugin/src/test/java/io/ecocode/java/JavaRulesDefinitionTest.java b/android-plugin/src/test/java/io/ecocode/java/JavaRulesDefinitionTest.java
    index 91485991..bb099ddc 100644
    --- a/android-plugin/src/test/java/io/ecocode/java/JavaRulesDefinitionTest.java
    +++ b/android-plugin/src/test/java/io/ecocode/java/JavaRulesDefinitionTest.java
    @@ -47,7 +47,7 @@ public void test() {
     
         private void assertSocialRuleProperties(Repository repository) {
     
    -        Rule googleTrackerRule = repository.rule("EC532");
    +        Rule googleTrackerRule = repository.rule("GCI532");
             assertThat(googleTrackerRule).isNotNull();
             assertThat(googleTrackerRule.name()).isEqualTo("Privacy: Google Tracker");
             assertThat(googleTrackerRule.debtRemediationFunction().type()).isEqualTo(Type.CONSTANT_ISSUE);
    @@ -56,193 +56,193 @@ private void assertSocialRuleProperties(Repository repository) {
     
         private void assertEnergyRuleProperties(Repository repository) {
     
    -        Rule sensorCoalesceRule = repository.rule("EC500");
    +        Rule sensorCoalesceRule = repository.rule("GCI500");
             assertThat(sensorCoalesceRule).isNotNull();
             assertThat(sensorCoalesceRule.name()).isEqualTo("Batch: Sensor Coalesce");
             assertThat(sensorCoalesceRule.debtRemediationFunction().type()).isEqualTo(Type.CONSTANT_ISSUE);
             assertThat(sensorCoalesceRule.type()).isEqualTo(RuleType.CODE_SMELL);
     
    -        Rule jobCoalesceRule = repository.rule("EC501");
    +        Rule jobCoalesceRule = repository.rule("GCI501");
             assertThat(jobCoalesceRule).isNotNull();
             assertThat(jobCoalesceRule.name()).isEqualTo("Batch: Job Coalesce");
             assertThat(jobCoalesceRule.debtRemediationFunction().type()).isEqualTo(Type.CONSTANT_ISSUE);
             assertThat(jobCoalesceRule.type()).isEqualTo(RuleType.CODE_SMELL);
     
    -        Rule internetInTheLoopRule = repository.rule("EC502");
    +        Rule internetInTheLoopRule = repository.rule("GCI502");
             assertThat(internetInTheLoopRule).isNotNull();
             assertThat(internetInTheLoopRule.name()).isEqualTo("Bottleneck: Internet In The Loop");
             assertThat(internetInTheLoopRule.debtRemediationFunction().type()).isEqualTo(Type.CONSTANT_ISSUE);
             assertThat(internetInTheLoopRule.type()).isEqualTo(RuleType.CODE_SMELL);
     
    -        Rule wifiMulticastLockRule = repository.rule("EC503");
    +        Rule wifiMulticastLockRule = repository.rule("GCI503");
             assertThat(wifiMulticastLockRule).isNotNull();
             assertThat(wifiMulticastLockRule.name()).isEqualTo("Bottleneck: Wifi Multicast Lock");
             assertThat(wifiMulticastLockRule.debtRemediationFunction().type()).isEqualTo(Type.CONSTANT_ISSUE);
             assertThat(wifiMulticastLockRule.type()).isEqualTo(RuleType.CODE_SMELL);
     
    -        Rule uncompressedDataTransmissionRule = repository.rule("EC504");
    +        Rule uncompressedDataTransmissionRule = repository.rule("GCI504");
             assertThat(uncompressedDataTransmissionRule).isNotNull();
             assertThat(uncompressedDataTransmissionRule.name()).isEqualTo("Bottleneck: Uncompressed Data Transmission");
             assertThat(uncompressedDataTransmissionRule.debtRemediationFunction().type()).isEqualTo(Type.CONSTANT_ISSUE);
             assertThat(uncompressedDataTransmissionRule.type()).isEqualTo(RuleType.CODE_SMELL);
     
    -        Rule keepScreenOnAddFlagsRule = repository.rule("EC505");
    +        Rule keepScreenOnAddFlagsRule = repository.rule("GCI505");
             assertThat(keepScreenOnAddFlagsRule).isNotNull();
             assertThat(keepScreenOnAddFlagsRule.name()).isEqualTo("Idleness: Keep Screen On (addFlags)");
             assertThat(keepScreenOnAddFlagsRule.debtRemediationFunction().type()).isEqualTo(Type.CONSTANT_ISSUE);
             assertThat(keepScreenOnAddFlagsRule.type()).isEqualTo(RuleType.CODE_SMELL);
     
    -        Rule keepScreenOnSetFlagsRule = repository.rule("EC506");
    +        Rule keepScreenOnSetFlagsRule = repository.rule("GCI506");
             assertThat(keepScreenOnSetFlagsRule).isNotNull();
             assertThat(keepScreenOnSetFlagsRule.name()).isEqualTo("Idleness: Keep Screen On (setFlags)");
             assertThat(keepScreenOnSetFlagsRule.debtRemediationFunction().type()).isEqualTo(Type.CONSTANT_ISSUE);
             assertThat(keepScreenOnSetFlagsRule.type()).isEqualTo(RuleType.CODE_SMELL);
     
    -        Rule keepCpuOnRule = repository.rule("EC507");
    +        Rule keepCpuOnRule = repository.rule("GCI507");
             assertThat(keepCpuOnRule).isNotNull();
             assertThat(keepCpuOnRule.name()).isEqualTo("Idleness: Keep Cpu On");
             assertThat(keepCpuOnRule.debtRemediationFunction().type()).isEqualTo(Type.CONSTANT_ISSUE);
             assertThat(keepCpuOnRule.type()).isEqualTo(RuleType.CODE_SMELL);
     
    -        Rule durableWakeLockRule = repository.rule("EC508");
    +        Rule durableWakeLockRule = repository.rule("GCI508");
             assertThat(durableWakeLockRule).isNotNull();
             assertThat(durableWakeLockRule.name()).isEqualTo("Idleness: Durable Wake Lock");
             assertThat(durableWakeLockRule.debtRemediationFunction().type()).isEqualTo(Type.CONSTANT_ISSUE);
             assertThat(durableWakeLockRule.type()).isEqualTo(RuleType.CODE_SMELL);
     
    -        Rule rigidAlarmRule = repository.rule("EC509");
    +        Rule rigidAlarmRule = repository.rule("GCI509");
             assertThat(rigidAlarmRule).isNotNull();
             assertThat(rigidAlarmRule.name()).isEqualTo("Idleness: Rigid Alarm");
             assertThat(rigidAlarmRule.debtRemediationFunction().type()).isEqualTo(Type.CONSTANT_ISSUE);
             assertThat(rigidAlarmRule.type()).isEqualTo(RuleType.CODE_SMELL);
     
    -        Rule continuousRenderingRule = repository.rule("EC510");
    +        Rule continuousRenderingRule = repository.rule("GCI510");
             assertThat(continuousRenderingRule).isNotNull();
             assertThat(continuousRenderingRule.name()).isEqualTo("Idleness: Continuous Rendering");
             assertThat(continuousRenderingRule.debtRemediationFunction().type()).isEqualTo(Type.CONSTANT_ISSUE);
             assertThat(continuousRenderingRule.type()).isEqualTo(RuleType.CODE_SMELL);
     
    -        Rule keepVoiceAwakeRule = repository.rule("EC511");
    +        Rule keepVoiceAwakeRule = repository.rule("GCI511");
             assertThat(keepVoiceAwakeRule).isNotNull();
             assertThat(keepVoiceAwakeRule.name()).isEqualTo("Idleness: Keep Voice Awake");
             assertThat(keepVoiceAwakeRule.debtRemediationFunction().type()).isEqualTo(Type.CONSTANT_ISSUE);
             assertThat(keepVoiceAwakeRule.type()).isEqualTo(RuleType.CODE_SMELL);
     
    -        Rule cameraLeakRule = repository.rule("EC512");
    +        Rule cameraLeakRule = repository.rule("GCI512");
             assertThat(cameraLeakRule).isNotNull();
             assertThat(cameraLeakRule.name()).isEqualTo("Leakage: Camera Leak");
             assertThat(cameraLeakRule.debtRemediationFunction().type()).isEqualTo(Type.CONSTANT_ISSUE);
             assertThat(cameraLeakRule.type()).isEqualTo(RuleType.CODE_SMELL);
     
    -        Rule locationLeakRule = repository.rule("EC513");
    +        Rule locationLeakRule = repository.rule("GCI513");
             assertThat(locationLeakRule).isNotNull();
             assertThat(locationLeakRule.name()).isEqualTo("Leakage: Location Leak");
             assertThat(locationLeakRule.debtRemediationFunction().type()).isEqualTo(Type.CONSTANT_ISSUE);
             assertThat(locationLeakRule.type()).isEqualTo(RuleType.CODE_SMELL);
     
    -        Rule sensorManagerLeakRule = repository.rule("EC514");
    +        Rule sensorManagerLeakRule = repository.rule("GCI514");
             assertThat(sensorManagerLeakRule).isNotNull();
             assertThat(sensorManagerLeakRule.name()).isEqualTo("Leakage: SensorManager Leak");
             assertThat(sensorManagerLeakRule.debtRemediationFunction().type()).isEqualTo(Type.CONSTANT_ISSUE);
             assertThat(sensorManagerLeakRule.type()).isEqualTo(RuleType.CODE_SMELL);
     
    -        Rule mediaLeakMediaRecorderLeakRule = repository.rule("EC515");
    +        Rule mediaLeakMediaRecorderLeakRule = repository.rule("GCI515");
             assertThat(mediaLeakMediaRecorderLeakRule).isNotNull();
             assertThat(mediaLeakMediaRecorderLeakRule.name()).isEqualTo("Leakage: Media Leak (MediaRecorder)");
             assertThat(mediaLeakMediaRecorderLeakRule.debtRemediationFunction().type()).isEqualTo(Type.CONSTANT_ISSUE);
             assertThat(mediaLeakMediaRecorderLeakRule.type()).isEqualTo(RuleType.CODE_SMELL);
     
    -        Rule mediaLeakMediaPlayerLeakRule = repository.rule("EC516");
    +        Rule mediaLeakMediaPlayerLeakRule = repository.rule("GCI516");
             assertThat(mediaLeakMediaPlayerLeakRule).isNotNull();
             assertThat(mediaLeakMediaPlayerLeakRule.name()).isEqualTo("Leakage: Media Leak (MediaPlayer)");
             assertThat(mediaLeakMediaPlayerLeakRule.debtRemediationFunction().type()).isEqualTo(Type.CONSTANT_ISSUE);
             assertThat(mediaLeakMediaPlayerLeakRule.type()).isEqualTo(RuleType.CODE_SMELL);
     
    -        Rule fusedLocationRule = repository.rule("EC517");
    +        Rule fusedLocationRule = repository.rule("GCI517");
             assertThat(fusedLocationRule).isNotNull();
             assertThat(fusedLocationRule.name()).isEqualTo("Optimized API: Fused Location");
             assertThat(fusedLocationRule.debtRemediationFunction().type()).isEqualTo(Type.CONSTANT_ISSUE);
             assertThat(fusedLocationRule.type()).isEqualTo(RuleType.CODE_SMELL);
     
    -        Rule bluetoothLowEnergyRule = repository.rule("EC518");
    +        Rule bluetoothLowEnergyRule = repository.rule("GCI518");
             assertThat(bluetoothLowEnergyRule).isNotNull();
             assertThat(bluetoothLowEnergyRule.name()).isEqualTo("Optimized API: Bluetooth Low-Energy");
             assertThat(bluetoothLowEnergyRule.debtRemediationFunction().type()).isEqualTo(Type.CONSTANT_ISSUE);
             assertThat(bluetoothLowEnergyRule.type()).isEqualTo(RuleType.CODE_SMELL);
     
    -        Rule chargeAwarenessRule = repository.rule("EC519");
    +        Rule chargeAwarenessRule = repository.rule("GCI519");
             assertThat(chargeAwarenessRule).isNotNull();
             assertThat(chargeAwarenessRule.name()).isEqualTo("Power: Charge Awareness");
             assertThat(chargeAwarenessRule.debtRemediationFunction().type()).isEqualTo(Type.CONSTANT_ISSUE);
             assertThat(chargeAwarenessRule.type()).isEqualTo(RuleType.CODE_SMELL);
     
    -        Rule saveModeAwareness = repository.rule("EC520");
    +        Rule saveModeAwareness = repository.rule("GCI520");
             assertThat(saveModeAwareness).isNotNull();
             assertThat(saveModeAwareness.name()).isEqualTo("Power: Save Mode Awareness");
             assertThat(saveModeAwareness.debtRemediationFunction().type()).isEqualTo(Type.CONSTANT_ISSUE);
             assertThat(saveModeAwareness.type()).isEqualTo(RuleType.CODE_SMELL);
     
    -        Rule thriftyMotionSensorRule = repository.rule("EC521");
    +        Rule thriftyMotionSensorRule = repository.rule("GCI521");
             assertThat(thriftyMotionSensorRule).isNotNull();
             assertThat(thriftyMotionSensorRule.name()).isEqualTo("Sobriety: Thrifty Motion Sensor");
             assertThat(thriftyMotionSensorRule.debtRemediationFunction().type()).isEqualTo(Type.CONSTANT_ISSUE);
             assertThat(thriftyMotionSensorRule.type()).isEqualTo(RuleType.CODE_SMELL);
     
    -        Rule brightnessOverrideRule = repository.rule("EC522");
    +        Rule brightnessOverrideRule = repository.rule("GCI522");
             assertThat(brightnessOverrideRule).isNotNull();
             assertThat(brightnessOverrideRule.name()).isEqualTo("Sobriety: Brightness Override");
             assertThat(brightnessOverrideRule.debtRemediationFunction().type()).isEqualTo(Type.CONSTANT_ISSUE);
             assertThat(brightnessOverrideRule.type()).isEqualTo(RuleType.CODE_SMELL);
     
    -        Rule thriftyGeolocationMinTimeRule = repository.rule("EC523");
    +        Rule thriftyGeolocationMinTimeRule = repository.rule("GCI523");
             assertThat(thriftyGeolocationMinTimeRule).isNotNull();
             assertThat(thriftyGeolocationMinTimeRule.name()).isEqualTo("Sobriety: Thrifty Geolocation (minTime)");
             assertThat(thriftyGeolocationMinTimeRule.debtRemediationFunction().type()).isEqualTo(Type.CONSTANT_ISSUE);
             assertThat(thriftyGeolocationMinTimeRule.type()).isEqualTo(RuleType.CODE_SMELL);
     
    -        Rule thriftyGeolocationCriteriaRule = repository.rule("EC524");
    +        Rule thriftyGeolocationCriteriaRule = repository.rule("GCI524");
             assertThat(thriftyGeolocationCriteriaRule).isNotNull();
             assertThat(thriftyGeolocationCriteriaRule.name()).isEqualTo("Sobriety: Thrifty Geolocation Criteria");
             assertThat(thriftyGeolocationCriteriaRule.debtRemediationFunction().type()).isEqualTo(Type.CONSTANT_ISSUE);
             assertThat(thriftyGeolocationCriteriaRule.type()).isEqualTo(RuleType.CODE_SMELL);
     
    -        Rule thriftyBluetoothLowEnergySetAdvertiseMode = repository.rule("EC525");
    +        Rule thriftyBluetoothLowEnergySetAdvertiseMode = repository.rule("GCI525");
             assertThat(thriftyBluetoothLowEnergySetAdvertiseMode).isNotNull();
             assertThat(thriftyBluetoothLowEnergySetAdvertiseMode.name()).isEqualTo("Sobriety: Thrifty Bluetooth Low Energy (setAdvertiseMode)");
             assertThat(thriftyBluetoothLowEnergySetAdvertiseMode.debtRemediationFunction().type()).isEqualTo(Type.CONSTANT_ISSUE);
             assertThat(thriftyBluetoothLowEnergySetAdvertiseMode.type()).isEqualTo(RuleType.CODE_SMELL);
     
    -        Rule thriftyBluetoothLowEnergyRequestConnectionPriority = repository.rule("EC526");
    +        Rule thriftyBluetoothLowEnergyRequestConnectionPriority = repository.rule("GCI526");
             assertThat(thriftyBluetoothLowEnergyRequestConnectionPriority).isNotNull();
             assertThat(thriftyBluetoothLowEnergyRequestConnectionPriority.name()).isEqualTo("Sobriety: Thrifty Bluetooth Low Energy (requestConnectionPriority)");
             assertThat(thriftyBluetoothLowEnergyRequestConnectionPriority.debtRemediationFunction().type()).isEqualTo(Type.CONSTANT_ISSUE);
             assertThat(thriftyBluetoothLowEnergyRequestConnectionPriority.type()).isEqualTo(RuleType.CODE_SMELL);
     
    -        Rule thriftyGeolocationMinDistanceRule = repository.rule("EC527");
    +        Rule thriftyGeolocationMinDistanceRule = repository.rule("GCI527");
             assertThat(thriftyGeolocationMinDistanceRule).isNotNull();
             assertThat(thriftyGeolocationMinDistanceRule.name()).isEqualTo("Sobriety: Thrifty Geolocation (minDistance)");
             assertThat(thriftyGeolocationMinDistanceRule.debtRemediationFunction().type()).isEqualTo(Type.CONSTANT_ISSUE);
             assertThat(thriftyGeolocationMinDistanceRule.type()).isEqualTo(RuleType.CODE_SMELL);
     
    -        Rule vibrationFreeRule = repository.rule("EC528");
    +        Rule vibrationFreeRule = repository.rule("GCI528");
             assertThat(vibrationFreeRule).isNotNull();
             assertThat(vibrationFreeRule.name()).isEqualTo("Sobriety: Vibration Free");
             assertThat(vibrationFreeRule.debtRemediationFunction().type()).isEqualTo(Type.CONSTANT_ISSUE);
             assertThat(vibrationFreeRule.type()).isEqualTo(RuleType.CODE_SMELL);
     
    -        Rule thriftyNotification = repository.rule("EC529");
    +        Rule thriftyNotification = repository.rule("GCI529");
             assertThat(thriftyNotification).isNotNull();
             assertThat(thriftyNotification.name()).isEqualTo("Sobriety: Thrifty Notification");
             assertThat(thriftyNotification.debtRemediationFunction().type()).isEqualTo(Type.CONSTANT_ISSUE);
             assertThat(thriftyNotification.type()).isEqualTo(RuleType.CODE_SMELL);
     
    -        Rule torchFree = repository.rule("EC530");
    +        Rule torchFree = repository.rule("GCI530");
             assertThat(torchFree).isNotNull();
             assertThat(torchFree.name()).isEqualTo("Sobriety: Torch Free");
             assertThat(torchFree.debtRemediationFunction().type()).isEqualTo(Type.CONSTANT_ISSUE);
             assertThat(torchFree.type()).isEqualTo(RuleType.CODE_SMELL);
     
    -        Rule highFrameRate = repository.rule("EC531");
    +        Rule highFrameRate = repository.rule("GCI531");
             assertThat(highFrameRate).isNotNull();
             assertThat(highFrameRate.name()).isEqualTo("Sobriety: High Frame Rate");
             assertThat(highFrameRate.debtRemediationFunction().type()).isEqualTo(Type.CONSTANT_ISSUE);
    diff --git a/android-plugin/src/test/java/io/ecocode/xml/XmlRulesDefinitionTest.java b/android-plugin/src/test/java/io/ecocode/xml/XmlRulesDefinitionTest.java
    index f3738826..0d11ae7f 100644
    --- a/android-plugin/src/test/java/io/ecocode/xml/XmlRulesDefinitionTest.java
    +++ b/android-plugin/src/test/java/io/ecocode/xml/XmlRulesDefinitionTest.java
    @@ -35,39 +35,39 @@ public void test() {
             assertThat(repository.language()).isEqualTo(Xml.KEY);
             assertThat(repository.rules()).hasSize(XmlCheckList.getXmlChecks().size());
     
    -        RulesDefinition.Rule serviceBootTimeXmlRule = repository.rule("EC540");
    +        RulesDefinition.Rule serviceBootTimeXmlRule = repository.rule("GCI540");
             assertThat(serviceBootTimeXmlRule).isNotNull();
             assertThat(serviceBootTimeXmlRule.name()).isEqualTo("Batch: Service Boot Time");
     
    -        RulesDefinition.Rule keepScreenOnXmlRule = repository.rule("EC541");
    +        RulesDefinition.Rule keepScreenOnXmlRule = repository.rule("GCI541");
             assertThat(keepScreenOnXmlRule).isNotNull();
             assertThat(keepScreenOnXmlRule.name()).isEqualTo("Idleness: Keep Screen On");
     
    -        RulesDefinition.Rule keepCpuOnXmlRule = repository.rule("EC542");
    +        RulesDefinition.Rule keepCpuOnXmlRule = repository.rule("GCI542");
             assertThat(keepCpuOnXmlRule).isNotNull();
             assertThat(keepCpuOnXmlRule.name()).isEqualTo("Idleness: Keep CPU On");
     
    -        RulesDefinition.Rule compagnionInBackgroundXmlRule = repository.rule("EC543");
    +        RulesDefinition.Rule compagnionInBackgroundXmlRule = repository.rule("GCI543");
             assertThat(compagnionInBackgroundXmlRule).isNotNull();
             assertThat(compagnionInBackgroundXmlRule.name()).isEqualTo("Power: Compagnion In Background");
     
    -        RulesDefinition.Rule ignoreBatteryOptimizationsXmlRule = repository.rule("EC544");
    +        RulesDefinition.Rule ignoreBatteryOptimizationsXmlRule = repository.rule("GCI544");
             assertThat(ignoreBatteryOptimizationsXmlRule).isNotNull();
             assertThat(ignoreBatteryOptimizationsXmlRule.name()).isEqualTo("Power: Ignore Battery Optimizations");
     
    -        RulesDefinition.Rule chargeAwarenessXmlRule = repository.rule("EC545");
    +        RulesDefinition.Rule chargeAwarenessXmlRule = repository.rule("GCI545");
             assertThat(chargeAwarenessXmlRule).isNotNull();
             assertThat(chargeAwarenessXmlRule.name()).isEqualTo("Power: Charge Awareness");
     
    -        RulesDefinition.Rule DarkUIBrightColorsXmlRule = repository.rule("EC547");
    +        RulesDefinition.Rule DarkUIBrightColorsXmlRule = repository.rule("GCI547");
             assertThat(DarkUIBrightColorsXmlRule).isNotNull();
             assertThat(DarkUIBrightColorsXmlRule.name()).isEqualTo("Sobriety: Dark UI (Bright Colors)");
     
    -        RulesDefinition.Rule DarkUIThemeXmlRule = repository.rule("EC548");
    +        RulesDefinition.Rule DarkUIThemeXmlRule = repository.rule("GCI548");
             assertThat(DarkUIThemeXmlRule).isNotNull();
             assertThat(DarkUIThemeXmlRule.name()).isEqualTo("Sobriety: Dark UI (Theme)");
     
    -        RulesDefinition.Rule saveModeAwarenessXml = repository.rule("EC546");
    +        RulesDefinition.Rule saveModeAwarenessXml = repository.rule("GCI546");
             assertThat(saveModeAwarenessXml).isNotNull();
             assertThat(saveModeAwarenessXml.name()).isEqualTo("Power: Save Mode Awareness");
     
    diff --git a/codenarc-converter/CodeNarc/build.gradle b/codenarc-converter/CodeNarc/build.gradle
    index 50e3b8df..eab46dec 100644
    --- a/codenarc-converter/CodeNarc/build.gradle
    +++ b/codenarc-converter/CodeNarc/build.gradle
    @@ -14,7 +14,7 @@ shadowJar {
     
     group = 'org.codenarc'
     archivesBaseName = 'CodeNarc'
    -version = '2.2.5'
    +version = '3.5.0'
     
     sourceCompatibility = '1.7'
     targetCompatibility = '1.7'
    diff --git a/codenarc-converter/CodeNarc/docs/StarterRuleSet-AllRules.groovy.txt b/codenarc-converter/CodeNarc/docs/StarterRuleSet-AllRules.groovy.txt
    index 85979380..6a7c9117 100644
    --- a/codenarc-converter/CodeNarc/docs/StarterRuleSet-AllRules.groovy.txt
    +++ b/codenarc-converter/CodeNarc/docs/StarterRuleSet-AllRules.groovy.txt
    @@ -87,7 +87,7 @@ ruleset {
         DuplicateNumberLiteral 
         DuplicateSetValue 
         DuplicateStringLiteral 
    -    EC5001
    +    GCI5001
         ElseBlockBraces 
         EmptyCatchBlock 
         EmptyClass
    @@ -402,4 +402,4 @@ ruleset {
         WaitOutsideOfWhileLoop 
         WhileStatementBraces 
         
    -}
    \ No newline at end of file
    +}
    diff --git a/codenarc-converter/CodeNarc/docs/StarterRuleSet-AllRulesByCategory.groovy.txt b/codenarc-converter/CodeNarc/docs/StarterRuleSet-AllRulesByCategory.groovy.txt
    index 35488472..003b04ae 100644
    --- a/codenarc-converter/CodeNarc/docs/StarterRuleSet-AllRulesByCategory.groovy.txt
    +++ b/codenarc-converter/CodeNarc/docs/StarterRuleSet-AllRulesByCategory.groovy.txt
    @@ -166,8 +166,8 @@ ruleset {
         DuplicateStringLiteral
     
         // rulesets/ecocode.xml
    -    EC5001
    -    EC5003
    +    GCI5001
    +    GCI5003
     
         // rulesets/enhanced.xml
         CloneWithoutCloneable 
    @@ -451,4 +451,4 @@ ruleset {
         UnusedVariable 
         
         
    -}
    \ No newline at end of file
    +}
    diff --git a/codenarc-converter/CodeNarc/docs/codenarc-rule-index-by-name.md b/codenarc-converter/CodeNarc/docs/codenarc-rule-index-by-name.md
    index 2c117951..c05b0333 100644
    --- a/codenarc-converter/CodeNarc/docs/codenarc-rule-index-by-name.md
    +++ b/codenarc-converter/CodeNarc/docs/codenarc-rule-index-by-name.md
    @@ -89,7 +89,7 @@ title: CodeNarc - Rule Index by Name
     * [DuplicateNumberLiteral](./codenarc-rules-dry.html#duplicatenumberliteral-rule)
     * [DuplicateSetValue](./codenarc-rules-basic.html#duplicatesetvalue-rule)
     * [DuplicateStringLiteral](./codenarc-rules-dry.html#duplicatestringliteral-rule)
    -* [EC5001](./codenarc-rules-ecocode.html#EC5001-rule)
    +* [GCI5001](./codenarc-rules-ecocode.html#GCI5001-rule)
     * [ElseBlockBraces](./codenarc-rules-braces.html#elseblockbraces-rule)
     * [EmptyCatchBlock](./codenarc-rules-basic.html#emptycatchblock-rule)
     * [EmptyClass](./codenarc-rules-basic.html#emptyclass-rule)
    diff --git a/codenarc-converter/CodeNarc/docs/codenarc-rule-index.md b/codenarc-converter/CodeNarc/docs/codenarc-rule-index.md
    index 616375b1..f9e532a5 100644
    --- a/codenarc-converter/CodeNarc/docs/codenarc-rule-index.md
    +++ b/codenarc-converter/CodeNarc/docs/codenarc-rule-index.md
    @@ -167,7 +167,7 @@ title: CodeNarc - Rule Index
     * [DuplicateStringLiteral](./codenarc-rules-dry.html#duplicatestringliteral-rule)
     
     ## [Ecocode](./codenarc-rules-ecocode.html)
    -* [EC5001](./codenarc-rules-ecocode.html#EC5001-rule)
    +* [GCI5001](./codenarc-rules-ecocode.html#GCI5001-rule)
     
     ## [Enhanced](./codenarc-rules-enhanced.html)
     * [CloneWithoutCloneable](./codenarc-rules-enhanced.html#clonewithoutcloneable-rule)
    diff --git a/codenarc-converter/CodeNarc/docs/codenarc-rules-ecocode.md b/codenarc-converter/CodeNarc/docs/codenarc-rules-ecocode.md
    index 6280f050..e31dd1cc 100644
    --- a/codenarc-converter/CodeNarc/docs/codenarc-rules-ecocode.md
    +++ b/codenarc-converter/CodeNarc/docs/codenarc-rules-ecocode.md
    @@ -5,7 +5,7 @@ title: CodeNarc - Ecocode Rules
     
     # Ecocode Rules  ("*rulesets/ecocode.xml*")
     
    -## EC5001 Rule
    +## GCI5001 Rule
     
     *Since CodeNarc 2.2.1*
     
    @@ -45,7 +45,7 @@ Example of violations:
         }
     ```
     
    -## EC5003 Rule
    +## GCI5003 Rule
     
     *Since CodeNarc 2.2.3*
     
    diff --git a/codenarc-converter/CodeNarc/src/main/groovy/org/codenarc/rule/ecocode/EC5001.groovy b/codenarc-converter/CodeNarc/src/main/groovy/org/codenarc/rule/ecocode/GCI5001.groovy
    similarity index 92%
    rename from codenarc-converter/CodeNarc/src/main/groovy/org/codenarc/rule/ecocode/EC5001.groovy
    rename to codenarc-converter/CodeNarc/src/main/groovy/org/codenarc/rule/ecocode/GCI5001.groovy
    index e91f40df..c1738655 100644
    --- a/codenarc-converter/CodeNarc/src/main/groovy/org/codenarc/rule/ecocode/EC5001.groovy
    +++ b/codenarc-converter/CodeNarc/src/main/groovy/org/codenarc/rule/ecocode/GCI5001.groovy
    @@ -29,14 +29,14 @@ import org.codenarc.util.AstUtil
      *
      * @author Leboulanger Mickael
      */
    -class EC5001 extends AbstractAstVisitorRule {
    +class GCI5001 extends AbstractAstVisitorRule {
     
    -    String name = 'EC5001'
    +    String name = 'GCI5001'
         int priority = 2
    -    Class astVisitorClass = EC5001AstVisitor
    +    Class astVisitorClass = GCI5001AstVisitor
     }
     
    -class EC5001AstVisitor extends AbstractAstVisitor {
    +class GCI5001AstVisitor extends AbstractAstVisitor {
     
         @Override
         void visitMethodCallExpression(MethodCallExpression methodCallExpression) {
    diff --git a/codenarc-converter/CodeNarc/src/main/resources/codenarc-base-messages.properties b/codenarc-converter/CodeNarc/src/main/resources/codenarc-base-messages.properties
    index 4d8ad6b2..2663cd2d 100644
    --- a/codenarc-converter/CodeNarc/src/main/resources/codenarc-base-messages.properties
    +++ b/codenarc-converter/CodeNarc/src/main/resources/codenarc-base-messages.properties
    @@ -1,6 +1,6 @@
     
    -EC5001.description=Using "multiDexEnabled true" goes against the overall reduction of the weight of the apps and hence must be avoided.
    -EC5001.description.html=Using "multiDexEnabled true" goes against the overall reduction of the weight of the apps and hence must be avoided.
    +GCI5001.description=Using "multiDexEnabled true" goes against the overall reduction of the weight of the apps and hence must be avoided.
    +GCI5001.description.html=Using "multiDexEnabled true" goes against the overall reduction of the weight of the apps and hence must be avoided.
     
     ParameterAssignmentInFilterClosure.description=An assignment operator was used on a parameter in a filtering closure. This is usually a typo, and the comparison operator (==) was intended.
     ParameterAssignmentInFilterClosure.description.html=An assignment operator was used on a parameter in a filtering closure. This is usually a typo, and the comparison operator (==) was intended.
    diff --git a/codenarc-converter/CodeNarc/src/main/resources/codenarc-base-rules.properties b/codenarc-converter/CodeNarc/src/main/resources/codenarc-base-rules.properties
    index ec4b6d7d..b8c60f85 100644
    --- a/codenarc-converter/CodeNarc/src/main/resources/codenarc-base-rules.properties
    +++ b/codenarc-converter/CodeNarc/src/main/resources/codenarc-base-rules.properties
    @@ -80,7 +80,7 @@ DuplicateMapLiteral = org.codenarc.rule.dry.DuplicateMapLiteralRule
     DuplicateNumberLiteral = org.codenarc.rule.dry.DuplicateNumberLiteralRule
     DuplicateSetValue = org.codenarc.rule.basic.DuplicateSetValueRule
     DuplicateStringLiteral = org.codenarc.rule.dry.DuplicateStringLiteralRule
    -EC5001 = org.codenarc.rule.ecocode.EC5001
    +GCI5001 = org.codenarc.rule.ecocode.GCI5001
     ElseBlockBraces = org.codenarc.rule.braces.ElseBlockBracesRule
     EmptyCatchBlock = org.codenarc.rule.basic.EmptyCatchBlockRule
     EmptyClass = org.codenarc.rule.basic.EmptyClassRule
    diff --git a/codenarc-converter/CodeNarc/src/main/resources/codenarc-version.txt b/codenarc-converter/CodeNarc/src/main/resources/codenarc-version.txt
    index 21bb5e15..1545d966 100644
    --- a/codenarc-converter/CodeNarc/src/main/resources/codenarc-version.txt
    +++ b/codenarc-converter/CodeNarc/src/main/resources/codenarc-version.txt
    @@ -1 +1 @@
    -2.2.5
    +3.5.0
    diff --git a/codenarc-converter/CodeNarc/src/main/resources/rulesets/ecocode.xml b/codenarc-converter/CodeNarc/src/main/resources/rulesets/ecocode.xml
    index ef702037..f2b6f6b2 100644
    --- a/codenarc-converter/CodeNarc/src/main/resources/rulesets/ecocode.xml
    +++ b/codenarc-converter/CodeNarc/src/main/resources/rulesets/ecocode.xml
    @@ -7,5 +7,5 @@
             EcoCode rule set.
         
     
    -    
    +    
     
    diff --git a/codenarc-converter/CodeNarc/src/test/groovy/org/codenarc/rule/ecocode/EC5001Test.groovy b/codenarc-converter/CodeNarc/src/test/groovy/org/codenarc/rule/ecocode/GCI5001Test.groovy
    similarity index 97%
    rename from codenarc-converter/CodeNarc/src/test/groovy/org/codenarc/rule/ecocode/EC5001Test.groovy
    rename to codenarc-converter/CodeNarc/src/test/groovy/org/codenarc/rule/ecocode/GCI5001Test.groovy
    index 2563fc6e..6ad34a59 100644
    --- a/codenarc-converter/CodeNarc/src/test/groovy/org/codenarc/rule/ecocode/EC5001Test.groovy
    +++ b/codenarc-converter/CodeNarc/src/test/groovy/org/codenarc/rule/ecocode/GCI5001Test.groovy
    @@ -19,16 +19,16 @@ import org.junit.Test
     import org.codenarc.rule.AbstractRuleTestCase
     
     /**
    - * Tests for EC5001 (Fat App Rule)
    + * Tests for GCI5001 (Fat App Rule)
      *
      * @author Leboulanger Mickael
      */
    -class EC5001Test extends AbstractRuleTestCase {
    +class GCI5001Test extends AbstractRuleTestCase {
     
         @Test
         void test_RuleProperties() {
             assert rule.priority == 2
    -        assert rule.name == 'EC5001'
    +        assert rule.name == 'GCI5001'
         }
     
         @Test
    @@ -212,8 +212,8 @@ class EC5001Test extends AbstractRuleTestCase {
         }
     
         @Override
    -    protected EC5001 createRule() {
    -        new EC5001()
    +    protected GCI5001 createRule() {
    +        new GCI5001()
         }
         private String getViolationMessage() {
             return 'Using "multiDexEnabled true" goes against the overall reduction of the weight of the apps and hence must be avoided.'
    diff --git a/codenarc-converter/pom.xml b/codenarc-converter/pom.xml
    index 8e4f65c8..ea02976a 100644
    --- a/codenarc-converter/pom.xml
    +++ b/codenarc-converter/pom.xml
    @@ -16,7 +16,7 @@
       https://github.com/green-code-initiative/ecocode-android/tree/main/codenarc-converter
     
       
    -    2.2.5
    +    3.5.0
         1.8.2
         true
       
    diff --git a/tool_prepare-codenarc.bat b/tool_prepare-codenarc.bat
    index c5223c9d..48fff796 100644
    --- a/tool_prepare-codenarc.bat
    +++ b/tool_prepare-codenarc.bat
    @@ -1,5 +1,5 @@
     REM == Define CodeNarc version
    -set codenarc_version=2.2.5
    +set codenarc_version=3.5.0
     
     REM == Build CodeNarc
     cd codenarc-converter/CodeNarc
    diff --git a/tool_prepare-codenarc.sh b/tool_prepare-codenarc.sh
    index 993baf85..058f7494 100755
    --- a/tool_prepare-codenarc.sh
    +++ b/tool_prepare-codenarc.sh
    @@ -1,7 +1,7 @@
     #!/usr/bin/env sh
     
     # Define CodeNarc version
    -codenarcVersion="2.2.5"
    +codenarcVersion="3.5.0"
     
     # Build CodeNarc
     cd codenarc-converter/CodeNarc