Package fluxo.shrink

Interface FluxoShrinkerConfig

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
    • Constructor Summary

      Constructors 
      Constructor Description
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Constructor Detail

    • Method Detail

      • getReplaceOutgoingJar

         abstract Property<Boolean> getReplaceOutgoingJar()

        Replaces the default jar in outgoingVariants with the shrinked one.

        true by default.

        Note: Because it replaces the existing jar, the variant will keep the dependencies and attributes of the java component. In particular, "org.gradle.dependency.bundling" will be "external" despite the shrinked version can shade some dependencies.

        See org.gradle.api.artifacts.dsl.ArtifactHandler for more details.

      • getMaxHeapSize

         abstract Property<String> getMaxHeapSize()

        The maximum heap size for the shrinker process. Only used for unbundled R8 or ProGuard.

        null by default.

      • getConfigurationFiles

         abstract ConfigurableFileCollection getConfigurationFiles()

        Optionals configuration files for the shrinker.

        pg/rules.pro always included if it exists.

      • getObfuscate

         abstract Property<Boolean> getObfuscate()

        Whether to obfuscate the output artifacts.

        false by default.

      • getOptimize

         abstract Property<Boolean> getOptimize()

        Whether to optimize the output artifacts.

        true by default.

      • getUseR8

         abstract Property<Boolean> getUseR8()

        Whether to use R8 instead of ProGuard.

        R8 is better optimized for Android, but more fretful and can be tricky to configure. ProGuard seems to provide better results for JVM library artifacts.

        false by default.

      • getR8FullMode

         abstract Property<Boolean> getR8FullMode()

        Whether to use R8 in full mode, also called "non-compat mode".

        android.enableR8.fullMode gradle property enables it for android builds. See docs for more details.

        false by default.

      • getUseBothShrinkers

         abstract Property<Boolean> getUseBothShrinkers()

        Whether to create tasks for both R8 and ProGuard.

        false by default.

      • getForceUnbundledShrinker

         abstract Property<Boolean> getForceUnbundledShrinker()

        Whether to always use external R8 jar instead of the one bundled/avaliable in the classpath.

        false by default.

      • getAutoGenerateKeepModifiers

         abstract Property<String> getAutoGenerateKeepModifiers()

        Keep rule modifiers for all auto-kept classes.

        ,includedescriptorclasses by default.