127abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis/* 2ba381a314edcd57963ed1ac5910595e04faf29ccFilip Pavlis * Copyright 2018 The Android Open Source Project 327abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis * 427abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis * Licensed under the Apache License, Version 2.0 (the "License"); 527abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis * you may not use this file except in compliance with the License. 627abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis * You may obtain a copy of the License at 727abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis * 84a360e3a3af230badc847867c117f605367170aaFilip Pavlis * http://www.apache.org/licenses/LICENSE-2.0 927abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis * 1027abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis * Unless required by applicable law or agreed to in writing, software 1127abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis * distributed under the License is distributed on an "AS IS" BASIS, 1227abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1327abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis * See the License for the specific language governing permissions and 144a360e3a3af230badc847867c117f605367170aaFilip Pavlis * limitations under the License. 1527abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis */ 1627abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis 17ba381a314edcd57963ed1ac5910595e04faf29ccFilip Pavlispackage com.android.tools.build.jetifier.core 1827abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis 19ba381a314edcd57963ed1ac5910595e04faf29ccFilip Pavlisimport com.android.tools.build.jetifier.core.type.PackageName 2027abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis 2127abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis/** 2227abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis * Package map to be used to rewrite packages. The rewrite rules allow duplicities where the 2327abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis * artifact name prefix defined in a rule determines if such rule should be used or skipped. 2427abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis * The priority is determined only by the order (top to bottom). Having a rule with no file prefix 2527abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis * as first means that it is always applied. 2627abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis * 2727abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis * We use this only for the support library rewriting to rewrite packages in manifest files. 2827abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis */ 2927abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlisclass PackageMap(private val rules: List<PackageRule>) { 3027abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis 3127abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis companion object { 3227abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis val DEFAULT_RULES = listOf( 3327abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis PackageRule( 3427abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis from = "android/support/exifinterface", 3549f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/exifinterface" 3649f7010e84f8819274924817443b26fc3a117e22Filip Pavlis ), 3749f7010e84f8819274924817443b26fc3a117e22Filip Pavlis PackageRule( 3849f7010e84f8819274924817443b26fc3a117e22Filip Pavlis from = "android/support/heifwriter", 3949f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/heifwriter" 4027abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis ), 4127abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis PackageRule( 4227abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis from = "android/support/graphics/drawable", 4349f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/vectordrawable" 4427abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis ), 4527abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis PackageRule( 4627abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis from = "android/support/graphics/drawable/animated", 4749f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/vectordrawable" 4827abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis ), 4927abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis PackageRule( 5049f7010e84f8819274924817443b26fc3a117e22Filip Pavlis from = "android/support/media/tv", 5149f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/tvprovider" 5227abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis ), 5327abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis PackageRule( 5449f7010e84f8819274924817443b26fc3a117e22Filip Pavlis from = "androidx/textclassifier", 5549f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/textclassifier" 5627abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis ), 5727abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis PackageRule( 5849f7010e84f8819274924817443b26fc3a117e22Filip Pavlis from = "androidx/recyclerview/selection", 5949f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/recyclerview/selection"), 6027abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis PackageRule( 6127abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis from = "android/support/v4", 6249f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/legacy/v4" 6349f7010e84f8819274924817443b26fc3a117e22Filip Pavlis ), 6449f7010e84f8819274924817443b26fc3a117e22Filip Pavlis PackageRule( 6549f7010e84f8819274924817443b26fc3a117e22Filip Pavlis from = "android/support/print", 6649f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/print" 6749f7010e84f8819274924817443b26fc3a117e22Filip Pavlis ), 6849f7010e84f8819274924817443b26fc3a117e22Filip Pavlis PackageRule( 6949f7010e84f8819274924817443b26fc3a117e22Filip Pavlis from = "android/support/documentfile", 7049f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/documentfile" 7149f7010e84f8819274924817443b26fc3a117e22Filip Pavlis ), 7249f7010e84f8819274924817443b26fc3a117e22Filip Pavlis PackageRule( 7349f7010e84f8819274924817443b26fc3a117e22Filip Pavlis from = "android/support/coordinatorlayout", 7449f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/coordinatorlayout" 7549f7010e84f8819274924817443b26fc3a117e22Filip Pavlis ), 7649f7010e84f8819274924817443b26fc3a117e22Filip Pavlis PackageRule( 7749f7010e84f8819274924817443b26fc3a117e22Filip Pavlis from = "android/support/swiperefreshlayout", 7849f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/swiperefreshlayout" 7949f7010e84f8819274924817443b26fc3a117e22Filip Pavlis ), 8049f7010e84f8819274924817443b26fc3a117e22Filip Pavlis PackageRule( 8149f7010e84f8819274924817443b26fc3a117e22Filip Pavlis from = "android/support/slidingpanelayout", 8249f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/slidingpanelayout" 8349f7010e84f8819274924817443b26fc3a117e22Filip Pavlis ), 8449f7010e84f8819274924817443b26fc3a117e22Filip Pavlis PackageRule( 8549f7010e84f8819274924817443b26fc3a117e22Filip Pavlis from = "android/support/asynclayoutinflater", 8649f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/asynclayoutinflater" 8749f7010e84f8819274924817443b26fc3a117e22Filip Pavlis ), 8849f7010e84f8819274924817443b26fc3a117e22Filip Pavlis PackageRule( 8949f7010e84f8819274924817443b26fc3a117e22Filip Pavlis from = "android/support/interpolator", 9049f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/interpolator" 9127abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis ), 9227abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis PackageRule( 9327abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis from = "android/support/v7/palette", 9449f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/palette" 9527abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis ), 9627abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis PackageRule( 9727abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis from = "android/support/v7/cardview", 9849f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/cardview" 9949f7010e84f8819274924817443b26fc3a117e22Filip Pavlis ), 10049f7010e84f8819274924817443b26fc3a117e22Filip Pavlis PackageRule( 10149f7010e84f8819274924817443b26fc3a117e22Filip Pavlis from = "android/support/customview", 10249f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/customview" 10349f7010e84f8819274924817443b26fc3a117e22Filip Pavlis ), 10449f7010e84f8819274924817443b26fc3a117e22Filip Pavlis PackageRule( 10549f7010e84f8819274924817443b26fc3a117e22Filip Pavlis from = "android/support/loader", 10649f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/loader" 10749f7010e84f8819274924817443b26fc3a117e22Filip Pavlis ), 10849f7010e84f8819274924817443b26fc3a117e22Filip Pavlis PackageRule( 10949f7010e84f8819274924817443b26fc3a117e22Filip Pavlis from = "android/support/cursoradapter", 11049f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/cursoradapter" 11127abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis ), 11227abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis PackageRule( 11327abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis from = "android/support/v7/mediarouter", 11449f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/mediarouter" 11527abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis ), 11627abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis PackageRule( 11727abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis from = "android/support/v7/appcompat", 11849f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/appcompat" 11927abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis ), 12027abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis PackageRule( 12127abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis from = "android/support/v7/recyclerview", 12249f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/recyclerview" 12349f7010e84f8819274924817443b26fc3a117e22Filip Pavlis ), 12449f7010e84f8819274924817443b26fc3a117e22Filip Pavlis PackageRule( 12549f7010e84f8819274924817443b26fc3a117e22Filip Pavlis from = "android/support/v7/viewpager", 12649f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/viewpager" 12749f7010e84f8819274924817443b26fc3a117e22Filip Pavlis ), 12849f7010e84f8819274924817443b26fc3a117e22Filip Pavlis PackageRule( 12949f7010e84f8819274924817443b26fc3a117e22Filip Pavlis from = "android/support/percent", 13049f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/percentlayout" 13127abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis ), 13227abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis PackageRule( 13327abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis from = "android/support/v7/gridlayout", 13449f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/gridlayout" 13527abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis ), 13627abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis PackageRule( 13727abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis from = "android/support/v13", 13849f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/legacy/v13" 13927abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis ), 14027abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis PackageRule( 14127abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis from = "android/support/v7/preference", 14249f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/preference" 14327abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis ), 14427abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis PackageRule( 14527abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis from = "android/support/v14/preference", 14649f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/legacy/preference" 14727abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis ), 14827abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis PackageRule( 14949f7010e84f8819274924817443b26fc3a117e22Filip Pavlis from = "android/support/v17/leanback", 15027abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis to = "androidx/leanback" 15127abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis ), 15227abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis PackageRule( 15327abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis from = "android/support/v17/preference", 15427abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis to = "androidx/leanback/preference" 15527abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis ), 15627abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis PackageRule( 15727abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis from = "android/support/compat", 15849f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/core" 15927abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis ), 16027abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis PackageRule( 16127abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis from = "android/support/mediacompat", 16249f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/media" 16327abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis ), 16427abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis PackageRule( 16527abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis from = "android/support/fragment", 16649f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/fragment" 16727abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis ), 16827abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis PackageRule( 16927abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis from = "android/support/coreutils", 17049f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/legacy/coreutils" 17127abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis ), 17227abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis PackageRule( 17327abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis from = "android/support/dynamicanimation", 17449f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/dynamicanimation" 17527abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis ), 17627abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis PackageRule( 17727abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis from = "android/support/customtabs", 17849f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/browser" 17927abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis ), 18027abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis PackageRule( 18127abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis from = "android/support/coreui", 18249f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/legacy/coreui" 18327abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis ), 18427abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis PackageRule( 18527abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis from = "android/support/content", 18649f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/contentpager" 18727abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis ), 18827abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis PackageRule( 18927abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis from = "android/support/transition", 19027abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis to = "androidx/transition" 19127abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis ), 19227abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis PackageRule( 19349f7010e84f8819274924817443b26fc3a117e22Filip Pavlis from = "android/support/recommendation", 19449f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/recommendation" 19527abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis ), 19627abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis PackageRule( 19749f7010e84f8819274924817443b26fc3a117e22Filip Pavlis from = "android/support/drawerlayout", 19849f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/drawerlayout" 19927abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis ), 20027abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis PackageRule( 20127abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis from = "android/support/wear", 20227abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis to = "androidx/wear" 20327abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis ), 20427abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis PackageRule( 20527abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis from = "android/support/design", 206be27f81ab9b2d07ec348ba3f14b86d1aaa6604f9Filip Pavlis to = "com/google/android/material" 20727abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis ), 20827abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis PackageRule( 20949f7010e84f8819274924817443b26fc3a117e22Filip Pavlis from = "android/support/text/emoji/appcompat", 21049f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/emoji/appcompat" 21149f7010e84f8819274924817443b26fc3a117e22Filip Pavlis ), 21249f7010e84f8819274924817443b26fc3a117e22Filip Pavlis PackageRule( 21349f7010e84f8819274924817443b26fc3a117e22Filip Pavlis from = "android/support/text/emoji/bundled", 21449f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/emoji/bundled" 21527abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis ), 21627abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis PackageRule( 21749f7010e84f8819274924817443b26fc3a117e22Filip Pavlis from = "android/support/text/emoji", 21849f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/emoji" 21927abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis ), 22027abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis PackageRule( 22127abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis from = "androidx/text/emoji/bundled", 22227abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis to = "androidx/text/emoji/bundled" 22349f7010e84f8819274924817443b26fc3a117e22Filip Pavlis ), 22449f7010e84f8819274924817443b26fc3a117e22Filip Pavlis PackageRule( 22549f7010e84f8819274924817443b26fc3a117e22Filip Pavlis from = "android/support/localbroadcastmanager", 22649f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/localbroadcastmanager" 22749f7010e84f8819274924817443b26fc3a117e22Filip Pavlis ), 22849f7010e84f8819274924817443b26fc3a117e22Filip Pavlis PackageRule( 22949f7010e84f8819274924817443b26fc3a117e22Filip Pavlis from = "androidx/text/emoji/bundled", 23049f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/text/emoji/bundled" 23149f7010e84f8819274924817443b26fc3a117e22Filip Pavlis ), 23249f7010e84f8819274924817443b26fc3a117e22Filip Pavlis PackageRule( 23349f7010e84f8819274924817443b26fc3a117e22Filip Pavlis from = "androidx/webkit", 23449f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/webkit" 23549f7010e84f8819274924817443b26fc3a117e22Filip Pavlis ), 23649f7010e84f8819274924817443b26fc3a117e22Filip Pavlis PackageRule( 23749f7010e84f8819274924817443b26fc3a117e22Filip Pavlis from = "androidx/slice/view", 23849f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/slice/view" 23949f7010e84f8819274924817443b26fc3a117e22Filip Pavlis ), 24049f7010e84f8819274924817443b26fc3a117e22Filip Pavlis PackageRule( 24149f7010e84f8819274924817443b26fc3a117e22Filip Pavlis from = "androidx/slice/core", 24249f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/slice/core" 24349f7010e84f8819274924817443b26fc3a117e22Filip Pavlis ), 24449f7010e84f8819274924817443b26fc3a117e22Filip Pavlis PackageRule( 24549f7010e84f8819274924817443b26fc3a117e22Filip Pavlis from = "androidx/slice/builders", 24649f7010e84f8819274924817443b26fc3a117e22Filip Pavlis to = "androidx/slice/builders" 247759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis ), 248759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis PackageRule( 249759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis from = "android/arch/paging/runtime", 250759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis to = "androidx/paging/runtime" 251759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis ), 252759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis PackageRule( 253759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis from = "android/arch/core/testing", 254759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis to = "androidx/arch/core/testing" 255759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis ), 256759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis PackageRule( 257759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis from = "android/arch/core", 258759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis to = "androidx/arch/core" 259759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis ), 260759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis PackageRule( 261759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis from = "android/arch/persistence/db/framework", 262759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis to = "androidx/sqlite/db/framework" 263759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis ), 264759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis PackageRule( 265759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis from = "android/arch/persistence/db", 266759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis to = "androidx/sqlite/db" 267759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis ), 268759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis PackageRule( 269759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis from = "android/arch/persistence/room/rxjava2", 270759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis to = "androidx/room/rxjava2" 271759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis ), 272759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis PackageRule( 273759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis from = "android/arch/persistence/room/guava", 274759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis to = "androidx/room/guava" 275759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis ), 276759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis PackageRule( 277759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis from = "android/arch/persistence/room/testing", 278759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis to = "androidx/room/testing" 279759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis ), 280759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis PackageRule( 281759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis from = "android/arch/persistence/room", 282759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis to = "androidx/room" 283759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis ), 284759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis PackageRule( 285759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis from = "android/arch/lifecycle/extensions", 286759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis to = "androidx/lifecycle/extensions" 287759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis ), 288759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis PackageRule( 289759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis from = "android/arch/lifecycle/livedata/core", 290759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis to = "androidx/lifecycle/livedata/core" 291759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis ), 292759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis PackageRule( 293759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis from = "android/arch/lifecycle", 294759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis to = "androidx/lifecycle" 295759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis ), 296759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis PackageRule( 297759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis from = "android/arch/lifecycle/viewmodel", 298759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis to = "androidx/lifecycle/viewmodel" 299759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis ), 300759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis PackageRule( 301759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis from = "android/arch/lifecycle/livedata", 302759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis to = "androidx/lifecycle/livedata" 303759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis ), 304759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis PackageRule( 305759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis from = "android/arch/lifecycle/reactivestreams", 306759c21ec9502e7d505681922f0c5c75da62963d6Filip Pavlis to = "androidx/lifecycle/reactivestreams" 30724d459643edb72f7783dd9c5b766ae4912876f6dFilip Pavlis ), 30824d459643edb72f7783dd9c5b766ae4912876f6dFilip Pavlis PackageRule( 30924d459643edb72f7783dd9c5b766ae4912876f6dFilip Pavlis from = "android/support/multidex/instrumentation", 31024d459643edb72f7783dd9c5b766ae4912876f6dFilip Pavlis to = "androidx/multidex/instrumentation" 31124d459643edb72f7783dd9c5b766ae4912876f6dFilip Pavlis ), 31224d459643edb72f7783dd9c5b766ae4912876f6dFilip Pavlis PackageRule( 31324d459643edb72f7783dd9c5b766ae4912876f6dFilip Pavlis from = "android/support/multidex", 31424d459643edb72f7783dd9c5b766ae4912876f6dFilip Pavlis to = "androidx/multidex" 31527abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis ) 31627abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis ) 31727abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis 31827abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis val EMPTY = PackageMap(emptyList()) 31927abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis } 32027abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis 32127abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis /** 32227abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis * Creates reversed version of this map (from becomes to and vice versa). 32327abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis */ 32427abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis fun reverse(): PackageMap { 32527abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis return PackageMap(rules 3264e29091e542d87269447fdc8b3254ce86af06845Filip Pavlis .map { PackageRule(from = it.to, to = it.from) } 32727abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis .toList()) 32827abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis } 32927abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis 33027abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis /** 3314e29091e542d87269447fdc8b3254ce86af06845Filip Pavlis * Returns a new package name for the given [fromPackage]. 33227abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis */ 3334e29091e542d87269447fdc8b3254ce86af06845Filip Pavlis fun getPackageFor(fromPackage: PackageName): PackageName? { 3344e29091e542d87269447fdc8b3254ce86af06845Filip Pavlis val rule = rules.find { it.from == fromPackage.fullName } 33527abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis if (rule != null) { 33627abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis return PackageName(rule.to) 33727abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis } 33827abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis return null 33927abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis } 34027abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis 3414e29091e542d87269447fdc8b3254ce86af06845Filip Pavlis data class PackageRule(val from: String, val to: String) 34227abf7a13cdf3ad9beba1af844c7df2de9ed1c0cFilip Pavlis}