blob: 6f57d4cb2568b7d03ef2f0cf5462bb907d17ef26 [file] [log] [blame]
clementbera1764a862019-08-20 15:26:46 +02001{
Ian Zernye0fd0242020-06-23 13:46:14 +02002 "configuration_format_version": 3,
Clément Béra9e25c1e2020-04-30 08:28:50 +00003 "group_id" : "com.tools.android",
4 "artifact_id" : "desugar_jdk_libs",
Clément Béra6f6b5fb2022-08-18 09:18:48 +02005 "version": "1.1.8",
clementbera1764a862019-08-20 15:26:46 +02006 "required_compilation_api_level": 26,
clementbera07024ee72019-12-03 10:41:44 +01007 "synthesized_library_classes_package_prefix": "j$.",
Clément Bérac6b6d5f2020-10-23 12:30:42 +00008 "support_all_callbacks_from_library": true,
Ian Zerny65914052020-06-19 13:26:29 +02009 "common_flags": [
10 {
11 "api_level_below_or_equal": 25,
Ian Zerny65914052020-06-19 13:26:29 +020012 "wrapper_conversion": [
Clément Béra6f6b5fb2022-08-18 09:18:48 +020013 "java.time.Clock",
14 "java.time.temporal.ChronoUnit"
Ian Zerny65914052020-06-19 13:26:29 +020015 ]
16 },
17 {
18 "api_level_below_or_equal": 23,
Ian Zerny65914052020-06-19 13:26:29 +020019 "wrapper_conversion": [
20 "java.util.PrimitiveIterator$OfDouble",
21 "java.util.PrimitiveIterator$OfInt",
22 "java.util.PrimitiveIterator$OfLong",
23 "java.util.Spliterator",
24 "java.util.Spliterator$OfDouble",
25 "java.util.Spliterator$OfInt",
26 "java.util.Spliterator$OfLong",
27 "java.util.Spliterator$OfPrimitive",
28 "java.util.function.BiConsumer",
29 "java.util.function.BiFunction",
30 "java.util.function.BiPredicate",
31 "java.util.function.BinaryOperator",
32 "java.util.function.Consumer",
33 "java.util.function.DoubleBinaryOperator",
34 "java.util.function.DoubleConsumer",
35 "java.util.function.DoubleFunction",
36 "java.util.function.DoublePredicate",
37 "java.util.function.DoubleToIntFunction",
38 "java.util.function.DoubleToLongFunction",
39 "java.util.function.DoubleUnaryOperator",
40 "java.util.function.Function",
41 "java.util.function.IntBinaryOperator",
42 "java.util.function.IntConsumer",
43 "java.util.function.IntFunction",
44 "java.util.function.IntPredicate",
45 "java.util.function.IntToDoubleFunction",
46 "java.util.function.IntToLongFunction",
47 "java.util.function.IntUnaryOperator",
48 "java.util.function.LongBinaryOperator",
49 "java.util.function.LongConsumer",
50 "java.util.function.LongFunction",
51 "java.util.function.LongPredicate",
52 "java.util.function.LongToDoubleFunction",
53 "java.util.function.LongToIntFunction",
54 "java.util.function.LongUnaryOperator",
55 "java.util.function.ObjDoubleConsumer",
56 "java.util.function.ObjIntConsumer",
57 "java.util.function.ObjLongConsumer",
58 "java.util.function.Predicate",
59 "java.util.function.Supplier",
60 "java.util.function.ToDoubleFunction",
61 "java.util.function.ToIntFunction",
62 "java.util.function.ToLongFunction",
63 "java.util.function.UnaryOperator",
64 "java.util.stream.BaseStream",
65 "java.util.stream.Collector",
66 "java.util.stream.DoubleStream",
67 "java.util.stream.IntStream",
68 "java.util.stream.LongStream",
69 "java.util.stream.Stream"
70 ]
71 }
72 ],
clementbera1764a862019-08-20 15:26:46 +020073 "library_flags": [
74 {
75 "api_level_below_or_equal": 25,
76 "rewrite_prefix": {
clementbera824ce752019-09-24 14:07:20 +020077 "j$.time.": "java.time.",
clementbera1764a862019-08-20 15:26:46 +020078 "java.time.": "j$.time.",
79 "java.util.Desugar": "j$.util.Desugar"
80 },
clementberaab1314d2019-12-09 15:00:14 +010081 "retarget_lib_member": {
82 "java.util.Date#toInstant": "java.util.DesugarDate",
Søren Gjesse1d3fb392020-06-25 18:03:04 +020083 "java.util.GregorianCalendar#toZonedDateTime": "java.util.DesugarGregorianCalendar",
84 "java.util.TimeZone#toZoneId": "java.util.DesugarTimeZone"
Ian Zernye0fd0242020-06-23 13:46:14 +020085 },
86 "custom_conversion": {
Ian Zernye0fd0242020-06-23 13:46:14 +020087 "java.time.Duration": "java.time.TimeConversions",
Clément Béra16035b52022-07-07 15:06:12 +020088 "java.time.Instant": "java.time.TimeConversions",
89 "java.time.LocalDate": "java.time.TimeConversions",
90 "java.time.LocalTime": "java.time.TimeConversions",
Ian Zernye0fd0242020-06-23 13:46:14 +020091 "java.time.MonthDay": "java.time.TimeConversions",
Clément Béra16035b52022-07-07 15:06:12 +020092 "java.time.Period": "java.time.TimeConversions",
93 "java.time.ZoneId": "java.time.TimeConversions",
94 "java.time.ZonedDateTime": "java.time.TimeConversions"
clementbera1764a862019-08-20 15:26:46 +020095 }
96 },
97 {
98 "api_level_below_or_equal": 23,
99 "rewrite_prefix": {
clementbera629b0dd2019-09-30 15:40:02 +0200100 "j$.util.Optional": "java.util.Optional",
clementbera899882a2019-11-18 10:22:51 +0100101 "j$.util.LongSummaryStatistics": "java.util.LongSummaryStatistics",
102 "j$.util.IntSummaryStatistics": "java.util.IntSummaryStatistics",
103 "j$.util.DoubleSummaryStatistics": "java.util.DoubleSummaryStatistics",
clementbera1764a862019-08-20 15:26:46 +0200104 "java.util.stream.": "j$.util.stream.",
105 "java.util.function.": "j$.util.function.",
106 "java.util.Comparators": "j$.util.Comparators",
107 "java.util.DoubleSummaryStatistics": "j$.util.DoubleSummaryStatistics",
108 "java.util.IntSummaryStatistics": "j$.util.IntSummaryStatistics",
109 "java.util.LongSummaryStatistics": "j$.util.LongSummaryStatistics",
110 "java.util.Objects": "j$.util.Objects",
111 "java.util.Optional": "j$.util.Optional",
112 "java.util.PrimitiveIterator": "j$.util.PrimitiveIterator",
113 "java.util.SortedSet$1": "j$.util.SortedSet$1",
114 "java.util.Spliterator": "j$.util.Spliterator",
115 "java.util.StringJoiner": "j$.util.StringJoiner",
116 "java.util.Tripwire": "j$.util.Tripwire",
117 "java.util.concurrent.DesugarUnsafe": "j$.util.concurrent.DesugarUnsafe",
118 "java.util.concurrent.ThreadLocalRandom": "j$.util.concurrent.ThreadLocalRandom",
clementberac96227b2019-09-12 22:43:20 +0200119 "java.util.concurrent.atomic.DesugarAtomic": "j$.util.concurrent.atomic.DesugarAtomic",
120 "java.util.concurrent.ConcurrentHashMap": "j$.util.concurrent.ConcurrentHashMap"
clementbera1764a862019-08-20 15:26:46 +0200121 },
122 "retarget_lib_member": {
123 "java.util.Arrays#stream": "java.util.DesugarArrays",
124 "java.util.Arrays#spliterator": "java.util.DesugarArrays",
125 "java.util.LinkedHashSet#spliterator": "java.util.DesugarLinkedHashSet"
Ian Zernye0fd0242020-06-23 13:46:14 +0200126 },
127 "dont_rewrite": [
128 "java.util.Iterator#remove"
129 ],
130 "emulate_interface": {
131 "java.lang.Iterable": "j$.lang.Iterable",
132 "java.util.Map$Entry": "j$.util.Map$Entry",
133 "java.util.Collection": "j$.util.Collection",
134 "java.util.Map": "j$.util.Map",
135 "java.util.Iterator": "j$.util.Iterator",
136 "java.util.Comparator": "j$.util.Comparator",
137 "java.util.List": "j$.util.List",
138 "java.util.SortedSet": "j$.util.SortedSet",
139 "java.util.Set": "j$.util.Set",
140 "java.util.concurrent.ConcurrentMap": "j$.util.concurrent.ConcurrentMap"
141 },
142 "custom_conversion": {
143 "java.util.Optional": "java.util.OptionalConversions",
144 "java.util.OptionalDouble": "java.util.OptionalConversions",
145 "java.util.OptionalInt": "java.util.OptionalConversions",
146 "java.util.OptionalLong": "java.util.OptionalConversions",
147 "java.util.LongSummaryStatistics": "java.util.LongSummaryStatisticsConversions",
148 "java.util.IntSummaryStatistics": "java.util.IntSummaryStatisticsConversions",
149 "java.util.DoubleSummaryStatistics": "java.util.DoubleSummaryStatisticsConversions"
clementbera1764a862019-08-20 15:26:46 +0200150 }
clementbera1764a862019-08-20 15:26:46 +0200151 }
152 ],
153 "program_flags": [
154 {
155 "api_level_below_or_equal": 25,
156 "rewrite_prefix": {
157 "java.time.": "j$.time.",
158 "java.util.Desugar": "j$.util.Desugar"
159 },
160 "retarget_lib_member": {
161 "java.util.Calendar#toInstant": "java.util.DesugarCalendar",
162 "java.util.Date#from": "java.util.DesugarDate",
163 "java.util.Date#toInstant": "java.util.DesugarDate",
164 "java.util.GregorianCalendar#from": "java.util.DesugarGregorianCalendar",
Søren Gjesse1d3fb392020-06-25 18:03:04 +0200165 "java.util.GregorianCalendar#toZonedDateTime": "java.util.DesugarGregorianCalendar",
166 "java.util.TimeZone#getTimeZone": "java.util.DesugarTimeZone",
167 "java.util.TimeZone#toZoneId": "java.util.DesugarTimeZone"
Ian Zernye0fd0242020-06-23 13:46:14 +0200168 },
169 "custom_conversion": {
Ian Zernye0fd0242020-06-23 13:46:14 +0200170 "java.time.Duration": "java.time.TimeConversions",
Clément Béra16035b52022-07-07 15:06:12 +0200171 "java.time.Instant": "java.time.TimeConversions",
172 "java.time.LocalDate": "java.time.TimeConversions",
173 "java.time.LocalTime": "java.time.TimeConversions",
Ian Zernye0fd0242020-06-23 13:46:14 +0200174 "java.time.MonthDay": "java.time.TimeConversions",
Clément Béra16035b52022-07-07 15:06:12 +0200175 "java.time.Period": "java.time.TimeConversions",
176 "java.time.ZoneId": "java.time.TimeConversions",
177 "java.time.ZonedDateTime": "java.time.TimeConversions"
clementbera1764a862019-08-20 15:26:46 +0200178 }
179 },
180 {
181 "api_level_below_or_equal": 23,
182 "rewrite_prefix": {
183 "java.util.stream.": "j$.util.stream.",
184 "java.util.function.": "j$.util.function.",
185 "java.util.DoubleSummaryStatistics": "j$.util.DoubleSummaryStatistics",
186 "java.util.IntSummaryStatistics": "j$.util.IntSummaryStatistics",
187 "java.util.LongSummaryStatistics": "j$.util.LongSummaryStatistics",
188 "java.util.Optional": "j$.util.Optional",
189 "java.util.PrimitiveIterator": "j$.util.PrimitiveIterator",
190 "java.util.Spliterator": "j$.util.Spliterator",
191 "java.util.StringJoiner": "j$.util.StringJoiner",
192 "java.util.concurrent.ThreadLocalRandom": "j$.util.concurrent.ThreadLocalRandom",
clementberac96227b2019-09-12 22:43:20 +0200193 "java.util.concurrent.atomic.DesugarAtomic": "j$.util.concurrent.atomic.DesugarAtomic",
194 "java.util.concurrent.ConcurrentHashMap": "j$.util.concurrent.ConcurrentHashMap"
clementbera1764a862019-08-20 15:26:46 +0200195 },
196 "retarget_lib_member": {
197 "java.util.Arrays#stream": "java.util.DesugarArrays",
198 "java.util.Arrays#spliterator": "java.util.DesugarArrays",
199 "java.util.LinkedHashSet#spliterator": "java.util.DesugarLinkedHashSet",
200 "java.util.concurrent.atomic.AtomicInteger#getAndUpdate": "java.util.concurrent.atomic.DesugarAtomicInteger",
201 "java.util.concurrent.atomic.AtomicInteger#updateAndGet": "java.util.concurrent.atomic.DesugarAtomicInteger",
202 "java.util.concurrent.atomic.AtomicInteger#getAndAccumulate": "java.util.concurrent.atomic.DesugarAtomicInteger",
203 "java.util.concurrent.atomic.AtomicInteger#accumulateAndGet": "java.util.concurrent.atomic.DesugarAtomicInteger",
204 "java.util.concurrent.atomic.AtomicLong#getAndUpdate": "java.util.concurrent.atomic.DesugarAtomicLong",
205 "java.util.concurrent.atomic.AtomicLong#updateAndGet": "java.util.concurrent.atomic.DesugarAtomicLong",
206 "java.util.concurrent.atomic.AtomicLong#getAndAccumulate": "java.util.concurrent.atomic.DesugarAtomicLong",
207 "java.util.concurrent.atomic.AtomicLong#accumulateAndGet": "java.util.concurrent.atomic.DesugarAtomicLong",
208 "java.util.concurrent.atomic.AtomicReference#getAndUpdate": "java.util.concurrent.atomic.DesugarAtomicReference",
209 "java.util.concurrent.atomic.AtomicReference#updateAndGet": "java.util.concurrent.atomic.DesugarAtomicReference",
210 "java.util.concurrent.atomic.AtomicReference#getAndAccumulate": "java.util.concurrent.atomic.DesugarAtomicReference",
clementbera3f0dd4f2019-12-06 12:36:13 +0100211 "java.util.concurrent.atomic.AtomicReference#accumulateAndGet": "java.util.concurrent.atomic.DesugarAtomicReference",
212 "java.util.Collections#synchronizedMap": "java.util.DesugarCollections",
213 "java.util.Collections#synchronizedSortedMap": "java.util.DesugarCollections"
Ian Zernye0fd0242020-06-23 13:46:14 +0200214 },
215 "dont_rewrite": [
216 "java.util.Iterator#remove"
217 ],
218 "emulate_interface": {
219 "java.lang.Iterable": "j$.lang.Iterable",
220 "java.util.Map$Entry": "j$.util.Map$Entry",
221 "java.util.Collection": "j$.util.Collection",
222 "java.util.Map": "j$.util.Map",
223 "java.util.Iterator": "j$.util.Iterator",
224 "java.util.Comparator": "j$.util.Comparator",
225 "java.util.List": "j$.util.List",
226 "java.util.SortedSet": "j$.util.SortedSet",
227 "java.util.Set": "j$.util.Set",
228 "java.util.concurrent.ConcurrentMap": "j$.util.concurrent.ConcurrentMap"
229 },
230 "custom_conversion": {
231 "java.util.Optional": "java.util.OptionalConversions",
232 "java.util.OptionalDouble": "java.util.OptionalConversions",
233 "java.util.OptionalInt": "java.util.OptionalConversions",
234 "java.util.OptionalLong": "java.util.OptionalConversions",
235 "java.util.LongSummaryStatistics": "java.util.LongSummaryStatisticsConversions",
236 "java.util.IntSummaryStatistics": "java.util.IntSummaryStatisticsConversions",
237 "java.util.DoubleSummaryStatistics": "java.util.DoubleSummaryStatisticsConversions"
clementbera1764a862019-08-20 15:26:46 +0200238 }
clementbera1764a862019-08-20 15:26:46 +0200239 }
clementbera3c2bf4f2019-11-08 09:55:40 +0100240 ],
241 "shrinker_config": [
Clément Béraa49a5002022-06-20 15:30:40 +0200242 "-keepclassmembers class j$.** extends java.io.Serializable { void <init>(); static final long serialVersionUID; java.lang.Object readResolve(); java.lang.Object writeReplace(); private void readObject(java.io.ObjectInputStream); private void writeObject(java.io.ObjectOutputStream); private void readObjectNoData(); }",
clementbera3c2bf4f2019-11-08 09:55:40 +0100243 "-keepclassmembers class j$.util.concurrent.ConcurrentHashMap$TreeBin { int lockState; }",
244 "-keepclassmembers class j$.util.concurrent.ConcurrentHashMap { int sizeCtl; int transferIndex; long baseCount; int cellsBusy; }",
Clément Béraa49a5002022-06-20 15:30:40 +0200245 "-keepclassmembers class j$.util.concurrent.ConcurrentHashMap { private static final java.io.ObjectStreamField[] serialPersistentFields; }",
clementbera3c2bf4f2019-11-08 09:55:40 +0100246 "-keepclassmembers class j$.util.concurrent.ConcurrentHashMap$CounterCell { long value; }",
Clément Béra7d8df182020-11-10 15:54:45 +0000247 "-keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); public static final !synthetic <fields>; }",
Morten Krogh-Jespersenaacd42a2020-12-09 09:32:04 +0100248 "-keeppackagenames j$.**",
clementbera899882a2019-11-18 10:22:51 +0100249 "-keepclassmembers class j$.util.IntSummaryStatistics { long count; long sum; int min; int max; }",
250 "-keepclassmembers class j$.util.LongSummaryStatistics { long count; long sum; long min; long max; }",
Clément Béradf9553e2020-10-09 06:41:43 +0000251 "-keepclassmembers class j$.util.DoubleSummaryStatistics { long count; double sum; double min; double max; }",
252 "-keepattributes Signature",
253 "-keepattributes EnclosingMethod",
Christoffer Quist Adamsena7e2abf2021-02-19 08:58:00 +0100254 "-keepattributes InnerClasses",
255 "-dontwarn sun.misc.Unsafe"
clementbera1764a862019-08-20 15:26:46 +0200256 ]
Søren Gjesse705a3b12022-03-17 11:37:30 +0100257}