blob: 67139d320f7a34e7e7b8bda925fa5d174431982a [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",
Søren Gjesse64c6a262023-03-29 12:51:08 +02005 "version": "1.1.9",
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",
Clément Béra8856f012023-02-22 14:39:38 +010090 "java.time.LocalDateTime": "java.time.TimeConversions",
Clément Béra16035b52022-07-07 15:06:12 +020091 "java.time.LocalTime": "java.time.TimeConversions",
Ian Zernye0fd0242020-06-23 13:46:14 +020092 "java.time.MonthDay": "java.time.TimeConversions",
Clément Béra16035b52022-07-07 15:06:12 +020093 "java.time.Period": "java.time.TimeConversions",
94 "java.time.ZoneId": "java.time.TimeConversions",
Clément Béra8856f012023-02-22 14:39:38 +010095 "java.time.ZonedDateTime": "java.time.TimeConversions",
96 "java.time.ZoneOffset": "java.time.TimeConversions"
clementbera1764a862019-08-20 15:26:46 +020097 }
98 },
99 {
100 "api_level_below_or_equal": 23,
101 "rewrite_prefix": {
clementbera629b0dd2019-09-30 15:40:02 +0200102 "j$.util.Optional": "java.util.Optional",
clementbera899882a2019-11-18 10:22:51 +0100103 "j$.util.LongSummaryStatistics": "java.util.LongSummaryStatistics",
104 "j$.util.IntSummaryStatistics": "java.util.IntSummaryStatistics",
105 "j$.util.DoubleSummaryStatistics": "java.util.DoubleSummaryStatistics",
clementbera1764a862019-08-20 15:26:46 +0200106 "java.util.stream.": "j$.util.stream.",
107 "java.util.function.": "j$.util.function.",
108 "java.util.Comparators": "j$.util.Comparators",
109 "java.util.DoubleSummaryStatistics": "j$.util.DoubleSummaryStatistics",
110 "java.util.IntSummaryStatistics": "j$.util.IntSummaryStatistics",
111 "java.util.LongSummaryStatistics": "j$.util.LongSummaryStatistics",
112 "java.util.Objects": "j$.util.Objects",
113 "java.util.Optional": "j$.util.Optional",
114 "java.util.PrimitiveIterator": "j$.util.PrimitiveIterator",
115 "java.util.SortedSet$1": "j$.util.SortedSet$1",
116 "java.util.Spliterator": "j$.util.Spliterator",
117 "java.util.StringJoiner": "j$.util.StringJoiner",
118 "java.util.Tripwire": "j$.util.Tripwire",
119 "java.util.concurrent.DesugarUnsafe": "j$.util.concurrent.DesugarUnsafe",
120 "java.util.concurrent.ThreadLocalRandom": "j$.util.concurrent.ThreadLocalRandom",
clementberac96227b2019-09-12 22:43:20 +0200121 "java.util.concurrent.atomic.DesugarAtomic": "j$.util.concurrent.atomic.DesugarAtomic",
122 "java.util.concurrent.ConcurrentHashMap": "j$.util.concurrent.ConcurrentHashMap"
clementbera1764a862019-08-20 15:26:46 +0200123 },
124 "retarget_lib_member": {
125 "java.util.Arrays#stream": "java.util.DesugarArrays",
126 "java.util.Arrays#spliterator": "java.util.DesugarArrays",
127 "java.util.LinkedHashSet#spliterator": "java.util.DesugarLinkedHashSet"
Ian Zernye0fd0242020-06-23 13:46:14 +0200128 },
129 "dont_rewrite": [
130 "java.util.Iterator#remove"
131 ],
132 "emulate_interface": {
133 "java.lang.Iterable": "j$.lang.Iterable",
134 "java.util.Map$Entry": "j$.util.Map$Entry",
135 "java.util.Collection": "j$.util.Collection",
136 "java.util.Map": "j$.util.Map",
137 "java.util.Iterator": "j$.util.Iterator",
138 "java.util.Comparator": "j$.util.Comparator",
139 "java.util.List": "j$.util.List",
140 "java.util.SortedSet": "j$.util.SortedSet",
141 "java.util.Set": "j$.util.Set",
142 "java.util.concurrent.ConcurrentMap": "j$.util.concurrent.ConcurrentMap"
143 },
144 "custom_conversion": {
145 "java.util.Optional": "java.util.OptionalConversions",
146 "java.util.OptionalDouble": "java.util.OptionalConversions",
147 "java.util.OptionalInt": "java.util.OptionalConversions",
148 "java.util.OptionalLong": "java.util.OptionalConversions",
149 "java.util.LongSummaryStatistics": "java.util.LongSummaryStatisticsConversions",
150 "java.util.IntSummaryStatistics": "java.util.IntSummaryStatisticsConversions",
151 "java.util.DoubleSummaryStatistics": "java.util.DoubleSummaryStatisticsConversions"
clementbera1764a862019-08-20 15:26:46 +0200152 }
clementbera1764a862019-08-20 15:26:46 +0200153 }
154 ],
155 "program_flags": [
156 {
157 "api_level_below_or_equal": 25,
158 "rewrite_prefix": {
159 "java.time.": "j$.time.",
160 "java.util.Desugar": "j$.util.Desugar"
161 },
162 "retarget_lib_member": {
163 "java.util.Calendar#toInstant": "java.util.DesugarCalendar",
164 "java.util.Date#from": "java.util.DesugarDate",
165 "java.util.Date#toInstant": "java.util.DesugarDate",
166 "java.util.GregorianCalendar#from": "java.util.DesugarGregorianCalendar",
Søren Gjesse1d3fb392020-06-25 18:03:04 +0200167 "java.util.GregorianCalendar#toZonedDateTime": "java.util.DesugarGregorianCalendar",
168 "java.util.TimeZone#getTimeZone": "java.util.DesugarTimeZone",
169 "java.util.TimeZone#toZoneId": "java.util.DesugarTimeZone"
Ian Zernye0fd0242020-06-23 13:46:14 +0200170 },
171 "custom_conversion": {
Ian Zernye0fd0242020-06-23 13:46:14 +0200172 "java.time.Duration": "java.time.TimeConversions",
Clément Béra16035b52022-07-07 15:06:12 +0200173 "java.time.Instant": "java.time.TimeConversions",
174 "java.time.LocalDate": "java.time.TimeConversions",
Clément Béra8856f012023-02-22 14:39:38 +0100175 "java.time.LocalDateTime": "java.time.TimeConversions",
Clément Béra16035b52022-07-07 15:06:12 +0200176 "java.time.LocalTime": "java.time.TimeConversions",
Ian Zernye0fd0242020-06-23 13:46:14 +0200177 "java.time.MonthDay": "java.time.TimeConversions",
Clément Béra16035b52022-07-07 15:06:12 +0200178 "java.time.Period": "java.time.TimeConversions",
179 "java.time.ZoneId": "java.time.TimeConversions",
Clément Béra8856f012023-02-22 14:39:38 +0100180 "java.time.ZonedDateTime": "java.time.TimeConversions",
181 "java.time.ZoneOffset": "java.time.TimeConversions"
clementbera1764a862019-08-20 15:26:46 +0200182 }
183 },
184 {
185 "api_level_below_or_equal": 23,
186 "rewrite_prefix": {
187 "java.util.stream.": "j$.util.stream.",
188 "java.util.function.": "j$.util.function.",
189 "java.util.DoubleSummaryStatistics": "j$.util.DoubleSummaryStatistics",
190 "java.util.IntSummaryStatistics": "j$.util.IntSummaryStatistics",
191 "java.util.LongSummaryStatistics": "j$.util.LongSummaryStatistics",
192 "java.util.Optional": "j$.util.Optional",
193 "java.util.PrimitiveIterator": "j$.util.PrimitiveIterator",
194 "java.util.Spliterator": "j$.util.Spliterator",
195 "java.util.StringJoiner": "j$.util.StringJoiner",
196 "java.util.concurrent.ThreadLocalRandom": "j$.util.concurrent.ThreadLocalRandom",
clementberac96227b2019-09-12 22:43:20 +0200197 "java.util.concurrent.atomic.DesugarAtomic": "j$.util.concurrent.atomic.DesugarAtomic",
198 "java.util.concurrent.ConcurrentHashMap": "j$.util.concurrent.ConcurrentHashMap"
clementbera1764a862019-08-20 15:26:46 +0200199 },
200 "retarget_lib_member": {
201 "java.util.Arrays#stream": "java.util.DesugarArrays",
202 "java.util.Arrays#spliterator": "java.util.DesugarArrays",
203 "java.util.LinkedHashSet#spliterator": "java.util.DesugarLinkedHashSet",
204 "java.util.concurrent.atomic.AtomicInteger#getAndUpdate": "java.util.concurrent.atomic.DesugarAtomicInteger",
205 "java.util.concurrent.atomic.AtomicInteger#updateAndGet": "java.util.concurrent.atomic.DesugarAtomicInteger",
206 "java.util.concurrent.atomic.AtomicInteger#getAndAccumulate": "java.util.concurrent.atomic.DesugarAtomicInteger",
207 "java.util.concurrent.atomic.AtomicInteger#accumulateAndGet": "java.util.concurrent.atomic.DesugarAtomicInteger",
208 "java.util.concurrent.atomic.AtomicLong#getAndUpdate": "java.util.concurrent.atomic.DesugarAtomicLong",
209 "java.util.concurrent.atomic.AtomicLong#updateAndGet": "java.util.concurrent.atomic.DesugarAtomicLong",
210 "java.util.concurrent.atomic.AtomicLong#getAndAccumulate": "java.util.concurrent.atomic.DesugarAtomicLong",
211 "java.util.concurrent.atomic.AtomicLong#accumulateAndGet": "java.util.concurrent.atomic.DesugarAtomicLong",
212 "java.util.concurrent.atomic.AtomicReference#getAndUpdate": "java.util.concurrent.atomic.DesugarAtomicReference",
213 "java.util.concurrent.atomic.AtomicReference#updateAndGet": "java.util.concurrent.atomic.DesugarAtomicReference",
214 "java.util.concurrent.atomic.AtomicReference#getAndAccumulate": "java.util.concurrent.atomic.DesugarAtomicReference",
clementbera3f0dd4f2019-12-06 12:36:13 +0100215 "java.util.concurrent.atomic.AtomicReference#accumulateAndGet": "java.util.concurrent.atomic.DesugarAtomicReference",
216 "java.util.Collections#synchronizedMap": "java.util.DesugarCollections",
217 "java.util.Collections#synchronizedSortedMap": "java.util.DesugarCollections"
Ian Zernye0fd0242020-06-23 13:46:14 +0200218 },
219 "dont_rewrite": [
220 "java.util.Iterator#remove"
221 ],
222 "emulate_interface": {
223 "java.lang.Iterable": "j$.lang.Iterable",
224 "java.util.Map$Entry": "j$.util.Map$Entry",
225 "java.util.Collection": "j$.util.Collection",
226 "java.util.Map": "j$.util.Map",
227 "java.util.Iterator": "j$.util.Iterator",
228 "java.util.Comparator": "j$.util.Comparator",
229 "java.util.List": "j$.util.List",
230 "java.util.SortedSet": "j$.util.SortedSet",
231 "java.util.Set": "j$.util.Set",
232 "java.util.concurrent.ConcurrentMap": "j$.util.concurrent.ConcurrentMap"
233 },
234 "custom_conversion": {
235 "java.util.Optional": "java.util.OptionalConversions",
236 "java.util.OptionalDouble": "java.util.OptionalConversions",
237 "java.util.OptionalInt": "java.util.OptionalConversions",
238 "java.util.OptionalLong": "java.util.OptionalConversions",
239 "java.util.LongSummaryStatistics": "java.util.LongSummaryStatisticsConversions",
240 "java.util.IntSummaryStatistics": "java.util.IntSummaryStatisticsConversions",
241 "java.util.DoubleSummaryStatistics": "java.util.DoubleSummaryStatisticsConversions"
clementbera1764a862019-08-20 15:26:46 +0200242 }
clementbera1764a862019-08-20 15:26:46 +0200243 }
clementbera3c2bf4f2019-11-08 09:55:40 +0100244 ],
245 "shrinker_config": [
Clément Béraa49a5002022-06-20 15:30:40 +0200246 "-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 +0100247 "-keepclassmembers class j$.util.concurrent.ConcurrentHashMap$TreeBin { int lockState; }",
248 "-keepclassmembers class j$.util.concurrent.ConcurrentHashMap { int sizeCtl; int transferIndex; long baseCount; int cellsBusy; }",
Clément Béraa49a5002022-06-20 15:30:40 +0200249 "-keepclassmembers class j$.util.concurrent.ConcurrentHashMap { private static final java.io.ObjectStreamField[] serialPersistentFields; }",
clementbera3c2bf4f2019-11-08 09:55:40 +0100250 "-keepclassmembers class j$.util.concurrent.ConcurrentHashMap$CounterCell { long value; }",
Clément Béra7d8df182020-11-10 15:54:45 +0000251 "-keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); public static final !synthetic <fields>; }",
Morten Krogh-Jespersenaacd42a2020-12-09 09:32:04 +0100252 "-keeppackagenames j$.**",
clementbera899882a2019-11-18 10:22:51 +0100253 "-keepclassmembers class j$.util.IntSummaryStatistics { long count; long sum; int min; int max; }",
254 "-keepclassmembers class j$.util.LongSummaryStatistics { long count; long sum; long min; long max; }",
Clément Béradf9553e2020-10-09 06:41:43 +0000255 "-keepclassmembers class j$.util.DoubleSummaryStatistics { long count; double sum; double min; double max; }",
256 "-keepattributes Signature",
257 "-keepattributes EnclosingMethod",
Christoffer Quist Adamsena7e2abf2021-02-19 08:58:00 +0100258 "-keepattributes InnerClasses",
259 "-dontwarn sun.misc.Unsafe"
clementbera1764a862019-08-20 15:26:46 +0200260 ]
Søren Gjesse64c6a262023-03-29 12:51:08 +0200261}