{ "configuration_format_version": 3, "group_id" : "com.tools.android", "artifact_id" : "desugar_jdk_libs", "version": "1.1.1", "required_compilation_api_level": 26, "synthesized_library_classes_package_prefix": "j$.", "support_all_callbacks_from_library": true, "common_flags": [ { "api_level_below_or_equal": 25, "wrapper_conversion": [ "java.time.Clock" ] }, { "api_level_below_or_equal": 23, "wrapper_conversion": [ "java.util.PrimitiveIterator$OfDouble", "java.util.PrimitiveIterator$OfInt", "java.util.PrimitiveIterator$OfLong", "java.util.Spliterator", "java.util.Spliterator$OfDouble", "java.util.Spliterator$OfInt", "java.util.Spliterator$OfLong", "java.util.Spliterator$OfPrimitive", "java.util.function.BiConsumer", "java.util.function.BiFunction", "java.util.function.BiPredicate", "java.util.function.BinaryOperator", "java.util.function.Consumer", "java.util.function.DoubleBinaryOperator", "java.util.function.DoubleConsumer", "java.util.function.DoubleFunction", "java.util.function.DoublePredicate", "java.util.function.DoubleToIntFunction", "java.util.function.DoubleToLongFunction", "java.util.function.DoubleUnaryOperator", "java.util.function.Function", "java.util.function.IntBinaryOperator", "java.util.function.IntConsumer", "java.util.function.IntFunction", "java.util.function.IntPredicate", "java.util.function.IntToDoubleFunction", "java.util.function.IntToLongFunction", "java.util.function.IntUnaryOperator", "java.util.function.LongBinaryOperator", "java.util.function.LongConsumer", "java.util.function.LongFunction", "java.util.function.LongPredicate", "java.util.function.LongToDoubleFunction", "java.util.function.LongToIntFunction", "java.util.function.LongUnaryOperator", "java.util.function.ObjDoubleConsumer", "java.util.function.ObjIntConsumer", "java.util.function.ObjLongConsumer", "java.util.function.Predicate", "java.util.function.Supplier", "java.util.function.ToDoubleFunction", "java.util.function.ToIntFunction", "java.util.function.ToLongFunction", "java.util.function.UnaryOperator", "java.util.stream.BaseStream", "java.util.stream.Collector", "java.util.stream.DoubleStream", "java.util.stream.IntStream", "java.util.stream.LongStream", "java.util.stream.Stream" ] } ], "library_flags": [ { "api_level_below_or_equal": 25, "rewrite_prefix": { "j$.time.": "java.time.", "java.time.": "j$.time.", "java.util.Desugar": "j$.util.Desugar" }, "backport": { "java.lang.Double8": "java.lang.Double", "java.lang.Integer8": "java.lang.Integer", "java.lang.Long8": "java.lang.Long", "java.lang.Math8": "java.lang.Math" }, "retarget_lib_member": { "java.util.Date#toInstant": "java.util.DesugarDate", "java.util.GregorianCalendar#toZonedDateTime": "java.util.DesugarGregorianCalendar", "java.util.TimeZone#toZoneId": "java.util.DesugarTimeZone" }, "custom_conversion": { "java.time.ZonedDateTime": "java.time.TimeConversions", "java.time.LocalDate": "java.time.TimeConversions", "java.time.Duration": "java.time.TimeConversions", "java.time.ZoneId": "java.time.TimeConversions", "java.time.MonthDay": "java.time.TimeConversions", "java.time.Instant": "java.time.TimeConversions" } }, { "api_level_below_or_equal": 23, "rewrite_prefix": { "j$.util.Optional": "java.util.Optional", "j$.util.LongSummaryStatistics": "java.util.LongSummaryStatistics", "j$.util.IntSummaryStatistics": "java.util.IntSummaryStatistics", "j$.util.DoubleSummaryStatistics": "java.util.DoubleSummaryStatistics", "java.util.stream.": "j$.util.stream.", "java.util.function.": "j$.util.function.", "java.util.Comparators": "j$.util.Comparators", "java.util.DoubleSummaryStatistics": "j$.util.DoubleSummaryStatistics", "java.util.IntSummaryStatistics": "j$.util.IntSummaryStatistics", "java.util.LongSummaryStatistics": "j$.util.LongSummaryStatistics", "java.util.Objects": "j$.util.Objects", "java.util.Optional": "j$.util.Optional", "java.util.PrimitiveIterator": "j$.util.PrimitiveIterator", "java.util.SortedSet$1": "j$.util.SortedSet$1", "java.util.Spliterator": "j$.util.Spliterator", "java.util.StringJoiner": "j$.util.StringJoiner", "java.util.Tripwire": "j$.util.Tripwire", "java.util.concurrent.DesugarUnsafe": "j$.util.concurrent.DesugarUnsafe", "java.util.concurrent.ThreadLocalRandom": "j$.util.concurrent.ThreadLocalRandom", "java.util.concurrent.atomic.DesugarAtomic": "j$.util.concurrent.atomic.DesugarAtomic" }, "retarget_lib_member": { "java.util.Arrays#stream": "java.util.DesugarArrays", "java.util.Arrays#spliterator": "java.util.DesugarArrays", "java.util.LinkedHashSet#spliterator": "java.util.DesugarLinkedHashSet" }, "dont_rewrite": [ "java.util.Iterator#remove" ], "emulate_interface": { "java.lang.Iterable": "j$.lang.Iterable", "java.util.Map$Entry": "j$.util.Map$Entry", "java.util.Collection": "j$.util.Collection", "java.util.Map": "j$.util.Map", "java.util.Iterator": "j$.util.Iterator", "java.util.Comparator": "j$.util.Comparator", "java.util.List": "j$.util.List", "java.util.SortedSet": "j$.util.SortedSet", "java.util.Set": "j$.util.Set", "java.util.concurrent.ConcurrentMap": "j$.util.concurrent.ConcurrentMap" }, "custom_conversion": { "java.util.Optional": "java.util.OptionalConversions", "java.util.OptionalDouble": "java.util.OptionalConversions", "java.util.OptionalInt": "java.util.OptionalConversions", "java.util.OptionalLong": "java.util.OptionalConversions", "java.util.LongSummaryStatistics": "java.util.LongSummaryStatisticsConversions", "java.util.IntSummaryStatistics": "java.util.IntSummaryStatisticsConversions", "java.util.DoubleSummaryStatistics": "java.util.DoubleSummaryStatisticsConversions" } } ], "program_flags": [ { "api_level_below_or_equal": 25, "rewrite_prefix": { "java.time.": "j$.time.", "java.util.Desugar": "j$.util.Desugar" }, "retarget_lib_member": { "java.util.Calendar#toInstant": "java.util.DesugarCalendar", "java.util.Date#from": "java.util.DesugarDate", "java.util.Date#toInstant": "java.util.DesugarDate", "java.util.GregorianCalendar#from": "java.util.DesugarGregorianCalendar", "java.util.GregorianCalendar#toZonedDateTime": "java.util.DesugarGregorianCalendar", "java.util.TimeZone#toZoneId": "java.util.DesugarTimeZone" }, "custom_conversion": { "java.time.ZonedDateTime": "java.time.TimeConversions", "java.time.LocalDate": "java.time.TimeConversions", "java.time.Duration": "java.time.TimeConversions", "java.time.ZoneId": "java.time.TimeConversions", "java.time.MonthDay": "java.time.TimeConversions", "java.time.Instant": "java.time.TimeConversions" } }, { "api_level_below_or_equal": 23, "rewrite_prefix": { "java.util.stream.": "j$.util.stream.", "java.util.function.": "j$.util.function.", "java.util.DoubleSummaryStatistics": "j$.util.DoubleSummaryStatistics", "java.util.IntSummaryStatistics": "j$.util.IntSummaryStatistics", "java.util.LongSummaryStatistics": "j$.util.LongSummaryStatistics", "java.util.Optional": "j$.util.Optional", "java.util.PrimitiveIterator": "j$.util.PrimitiveIterator", "java.util.Spliterator": "j$.util.Spliterator", "java.util.StringJoiner": "j$.util.StringJoiner", "java.util.concurrent.ThreadLocalRandom": "j$.util.concurrent.ThreadLocalRandom", "java.util.concurrent.atomic.DesugarAtomic": "j$.util.concurrent.atomic.DesugarAtomic" }, "retarget_lib_member": { "java.util.Arrays#stream": "java.util.DesugarArrays", "java.util.Arrays#spliterator": "java.util.DesugarArrays", "java.util.LinkedHashSet#spliterator": "java.util.DesugarLinkedHashSet", "java.util.concurrent.atomic.AtomicInteger#getAndUpdate": "java.util.concurrent.atomic.DesugarAtomicInteger", "java.util.concurrent.atomic.AtomicInteger#updateAndGet": "java.util.concurrent.atomic.DesugarAtomicInteger", "java.util.concurrent.atomic.AtomicInteger#getAndAccumulate": "java.util.concurrent.atomic.DesugarAtomicInteger", "java.util.concurrent.atomic.AtomicInteger#accumulateAndGet": "java.util.concurrent.atomic.DesugarAtomicInteger", "java.util.concurrent.atomic.AtomicLong#getAndUpdate": "java.util.concurrent.atomic.DesugarAtomicLong", "java.util.concurrent.atomic.AtomicLong#updateAndGet": "java.util.concurrent.atomic.DesugarAtomicLong", "java.util.concurrent.atomic.AtomicLong#getAndAccumulate": "java.util.concurrent.atomic.DesugarAtomicLong", "java.util.concurrent.atomic.AtomicLong#accumulateAndGet": "java.util.concurrent.atomic.DesugarAtomicLong", "java.util.concurrent.atomic.AtomicReference#getAndUpdate": "java.util.concurrent.atomic.DesugarAtomicReference", "java.util.concurrent.atomic.AtomicReference#updateAndGet": "java.util.concurrent.atomic.DesugarAtomicReference", "java.util.concurrent.atomic.AtomicReference#getAndAccumulate": "java.util.concurrent.atomic.DesugarAtomicReference", "java.util.concurrent.atomic.AtomicReference#accumulateAndGet": "java.util.concurrent.atomic.DesugarAtomicReference", "java.util.Collections#synchronizedMap": "java.util.DesugarCollections", "java.util.Collections#synchronizedSortedMap": "java.util.DesugarCollections" }, "dont_rewrite": [ "java.util.Iterator#remove" ], "emulate_interface": { "java.lang.Iterable": "j$.lang.Iterable", "java.util.Map$Entry": "j$.util.Map$Entry", "java.util.Collection": "j$.util.Collection", "java.util.Map": "j$.util.Map", "java.util.Iterator": "j$.util.Iterator", "java.util.Comparator": "j$.util.Comparator", "java.util.List": "j$.util.List", "java.util.SortedSet": "j$.util.SortedSet", "java.util.Set": "j$.util.Set", "java.util.concurrent.ConcurrentMap": "j$.util.concurrent.ConcurrentMap" }, "custom_conversion": { "java.util.Optional": "java.util.OptionalConversions", "java.util.OptionalDouble": "java.util.OptionalConversions", "java.util.OptionalInt": "java.util.OptionalConversions", "java.util.OptionalLong": "java.util.OptionalConversions", "java.util.LongSummaryStatistics": "java.util.LongSummaryStatisticsConversions", "java.util.IntSummaryStatistics": "java.util.IntSummaryStatisticsConversions", "java.util.DoubleSummaryStatistics": "java.util.DoubleSummaryStatisticsConversions" } } ], "shrinker_config": [ "-keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); public static final !synthetic ; }", "-keeppackagenames j$", "-keepclassmembers class j$.util.IntSummaryStatistics { long count; long sum; int min; int max; }", "-keepclassmembers class j$.util.LongSummaryStatistics { long count; long sum; long min; long max; }", "-keepclassmembers class j$.util.DoubleSummaryStatistics { long count; double sum; double min; double max; }", "-keepattributes Signature", "-keepattributes EnclosingMethod", "-keepattributes InnerClasses" ] }