blob: fb03dbb87988d5b207411a620f877c40b5f5efc2 [file] [log] [blame]
{
"configuration_format_version": 3,
"group_id" : "com.tools.android",
"artifact_id" : "desugar_jdk_libs",
"version": "2.0.0",
"required_compilation_api_level": 31,
"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": 10000,
"rewrite_prefix": {
"desugar.": "j$.desugar.",
"libcore.": "j$.libcore.",
"java.net.URLDecoder": "j$.net.URLDecoder",
"java.net.URLEncoder": "j$.net.URLEncoder",
"java.lang.Desugar": "j$.lang.Desugar",
"java.lang.ref.Cleaner": "j$.lang.ref.Cleaner",
"sun.security.action.": "j$.sun.security.action."
}
},
{
"api_level_below_or_equal": 30,
"rewrite_prefix": {
"j$.time.": "java.time.",
"java.time.": "j$.time.",
"java.util.Desugar": "j$.util.Desugar"
},
"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": 29,
"rewrite_prefix": {
"java.util.concurrent.Flow": "j$.util.concurrent.Flow"
}
},
{
"api_level_below_or_equal": 25,
"rewrite_prefix": {
"java.io.DesugarFile" : "j$.io.DesugarFile",
"sun.misc.Desugar": "j$.sun.misc.Desugar",
"jdk.internal.": "j$.jdk.internal.",
"java.nio.Desugar": "j$.nio.Desugar",
"java.nio.channels.AsynchronousChannel": "j$.nio.channels.AsynchronousChannel",
"java.nio.channels.AsynchronousFileChannel": "j$.nio.channels.AsynchronousFileChannel",
"java.nio.channels.CompletionHandler": "j$.nio.channels.CompletionHandler",
"java.nio.channels.Desugar": "j$.nio.channels.Desugar",
"java.nio.file.": "j$.nio.file.",
"sun.nio.cs." : "j$.sun.nio.cs.",
"sun.nio.fs.AbstractFileSystemProvider": "j$.sun.nio.fs.AbstractFileSystemProvider",
"sun.nio.fs.AbstractFileTypeDetector": "j$.sun.nio.fs.AbstractFileTypeDetector",
"sun.nio.fs.BasicFileAttributesHolder": "j$.sun.nio.fs.BasicFileAttributesHolder",
"sun.nio.fs.DynamicFileAttributeView": "j$.sun.nio.fs.DynamicFileAttributeView",
"sun.util.PreHashedMap": "j$.sun.util.PreHashedMap"
},
"backport": {
"java.lang.DesugarDouble": "java.lang.Double",
"java.lang.DesugarInteger": "java.lang.Integer",
"java.lang.DesugarLong": "java.lang.Long",
"java.lang.DesugarMath": "java.lang.Math"
},
"retarget_lib_member": {
"java.io.File#toPath": "java.io.DesugarFile"
}
},
{
"api_level_below_or_equal": 23,
"rewrite_prefix": {
"java.lang.FunctionalInterface": "j$.lang.FunctionalInterface",
"java.io.DesugarInputStream": "j$.io.DesugarInputStream",
"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.nio.channels.SeekableByteChannel": "j$.nio.channels.SeekableByteChannel",
"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.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.Helpers": "j$.util.concurrent.Helpers",
"java.util.concurrent.ThreadLocalRandom": "j$.util.concurrent.ThreadLocalRandom",
"java.util.concurrent.atomic.DesugarAtomic": "j$.util.concurrent.atomic.DesugarAtomic",
"java.util.concurrent.ConcurrentHashMap": "j$.util.concurrent.ConcurrentHashMap",
"java.util.AbstractList": "j$.util.AbstractList",
"java.util.CollSer": "j$.util.CollSer",
"java.util.ImmutableCollections": "j$.util.ImmutableCollections",
"java.util.KeyValueHolder": "j$.util.KeyValueHolder"
},
"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"
}
},
{
"api_level_below_or_equal": 18,
"rewrite_prefix": {
"java.nio.charset.StandardCharsets": "j$.nio.charset.StandardCharsets"
},
"retarget_lib_member": {
"java.lang.Character#isBmpCodePoint": "j$.lang.DesugarCharacter"
}
}
],
"program_flags": [
{
"api_level_below_or_equal": 10000,
"rewrite_prefix": {
"java.net.URLDecoder": "j$.net.URLDecoder",
"java.net.URLEncoder": "j$.net.URLEncoder"
}
},
{
"api_level_below_or_equal": 30,
"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#getTimeZone": "java.util.DesugarTimeZone",
"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",
"java.util.concurrent.ConcurrentHashMap": "j$.util.concurrent.ConcurrentHashMap"
},
"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"
}
},
{
"api_level_below_or_equal": 18,
"rewrite_prefix": {
"java.nio.charset.StandardCharsets": "j$.nio.charset.StandardCharsets"
},
"retarget_lib_member": {
"java.lang.Character#isBmpCodePoint": "j$.lang.DesugarCharacter"
}
}
],
"shrinker_config": [
"-keepclassmembers class j$.util.concurrent.ConcurrentHashMap$TreeBin { int lockState; }",
"-keepclassmembers class j$.util.concurrent.ConcurrentHashMap { int sizeCtl; int transferIndex; long baseCount; int cellsBusy; }",
"-keepclassmembers class j$.util.concurrent.ConcurrentHashMap { private void readObject(java.io.ObjectInputStream); private void writeObject(java.io.ObjectOutputStream); private void readObjectNoData(); private static final java.io.ObjectStreamField[] serialPersistentFields; private static final long serialVersionUID;}",
"-keepclassmembers class j$.util.concurrent.ConcurrentHashMap$CounterCell { long value; }",
"-keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); public static final !synthetic <fields>; }",
"-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",
"-dontwarn sun.misc.Unsafe"
]
}