diff --git a/config.json b/config.json
index 0bb074e82..d3950adfb 100644
--- a/config.json
+++ b/config.json
@@ -69,8 +69,8 @@
{
"groupId": "androidx.annotation",
"artifactId": "annotation",
- "version": "1.2.0",
- "nugetVersion": "1.2.0.3",
+ "version": "1.3.0",
+ "nugetVersion": "1.3.0",
"nugetId": "Xamarin.AndroidX.Annotation",
"dependencyOnly": false
},
@@ -205,168 +205,168 @@
{
"groupId": "androidx.collection",
"artifactId": "collection",
- "version": "1.1.0",
- "nugetVersion": "1.1.0.10",
+ "version": "1.2.0",
+ "nugetVersion": "1.2.0",
"nugetId": "Xamarin.AndroidX.Collection",
"dependencyOnly": false
},
{
"groupId": "androidx.collection",
"artifactId": "collection-ktx",
- "version": "1.1.0",
- "nugetVersion": "1.1.0.3",
+ "version": "1.2.0",
+ "nugetVersion": "1.2.0",
"nugetId": "Xamarin.AndroidX.Collection.Ktx",
"dependencyOnly": false
},
{
"groupId": "androidx.compose.animation",
"artifactId": "animation",
- "version": "1.0.0",
- "nugetVersion": "1.0.0",
+ "version": "1.0.5",
+ "nugetVersion": "1.0.5",
"nugetId": "Xamarin.AndroidX.Compose.Animation",
"dependencyOnly": false
},
{
"groupId": "androidx.compose.animation",
"artifactId": "animation-core",
- "version": "1.0.0",
- "nugetVersion": "1.0.0",
+ "version": "1.0.5",
+ "nugetVersion": "1.0.5",
"nugetId": "Xamarin.AndroidX.Compose.Animation.Core",
"dependencyOnly": false
},
{
"groupId": "androidx.compose.foundation",
"artifactId": "foundation",
- "version": "1.0.0",
- "nugetVersion": "1.0.0",
+ "version": "1.0.5",
+ "nugetVersion": "1.0.5",
"nugetId": "Xamarin.AndroidX.Compose.Foundation",
"dependencyOnly": false
},
{
"groupId": "androidx.compose.foundation",
"artifactId": "foundation-layout",
- "version": "1.0.0",
- "nugetVersion": "1.0.0",
+ "version": "1.0.5",
+ "nugetVersion": "1.0.5",
"nugetId": "Xamarin.AndroidX.Compose.Foundation.Layout",
"dependencyOnly": false
},
{
"groupId": "androidx.compose.material",
"artifactId": "material",
- "version": "1.0.0",
- "nugetVersion": "1.0.0",
+ "version": "1.0.5",
+ "nugetVersion": "1.0.5",
"nugetId": "Xamarin.AndroidX.Compose.Material",
"dependencyOnly": false
},
{
"groupId": "androidx.compose.material",
"artifactId": "material-icons-core",
- "version": "1.0.0",
- "nugetVersion": "1.0.0",
+ "version": "1.0.5",
+ "nugetVersion": "1.0.5",
"nugetId": "Xamarin.AndroidX.Compose.Material.Icons.Core",
"dependencyOnly": false
},
{
"groupId": "androidx.compose.material",
"artifactId": "material-icons-extended",
- "version": "1.0.0",
- "nugetVersion": "1.0.0",
+ "version": "1.0.5",
+ "nugetVersion": "1.0.5",
"nugetId": "Xamarin.AndroidX.Compose.Material.Icons.Extended",
"dependencyOnly": false
},
{
"groupId": "androidx.compose.material",
"artifactId": "material-ripple",
- "version": "1.0.0",
- "nugetVersion": "1.0.0",
+ "version": "1.0.5",
+ "nugetVersion": "1.0.5",
"nugetId": "Xamarin.AndroidX.Compose.Material.Ripple",
"dependencyOnly": false
},
{
"groupId": "androidx.compose.runtime",
"artifactId": "runtime",
- "version": "1.0.0",
- "nugetVersion": "1.0.0",
+ "version": "1.0.5",
+ "nugetVersion": "1.0.5",
"nugetId": "Xamarin.AndroidX.Compose.Runtime",
"dependencyOnly": false
},
{
"groupId": "androidx.compose.runtime",
"artifactId": "runtime-livedata",
- "version": "1.0.0",
- "nugetVersion": "1.0.0",
+ "version": "1.0.5",
+ "nugetVersion": "1.0.5",
"nugetId": "Xamarin.AndroidX.Compose.Runtime.LiveData",
"dependencyOnly": false
},
{
"groupId": "androidx.compose.runtime",
"artifactId": "runtime-rxjava2",
- "version": "1.0.0",
- "nugetVersion": "1.0.0",
+ "version": "1.0.5",
+ "nugetVersion": "1.0.5",
"nugetId": "Xamarin.AndroidX.Compose.Runtime.RxJava2",
"dependencyOnly": false
},
{
"groupId": "androidx.compose.runtime",
"artifactId": "runtime-saveable",
- "version": "1.0.0",
- "nugetVersion": "1.0.0",
+ "version": "1.0.5",
+ "nugetVersion": "1.0.5",
"nugetId": "Xamarin.AndroidX.Compose.Runtime.Saveable",
"dependencyOnly": false
},
{
"groupId": "androidx.compose.ui",
"artifactId": "ui",
- "version": "1.0.0",
- "nugetVersion": "1.0.0",
+ "version": "1.0.5",
+ "nugetVersion": "1.0.5",
"nugetId": "Xamarin.AndroidX.Compose.UI",
"dependencyOnly": false
},
{
"groupId": "androidx.compose.ui",
"artifactId": "ui-geometry",
- "version": "1.0.0",
- "nugetVersion": "1.0.0",
+ "version": "1.0.5",
+ "nugetVersion": "1.0.5",
"nugetId": "Xamarin.AndroidX.Compose.UI.Geometry",
"dependencyOnly": false
},
{
"groupId": "androidx.compose.ui",
"artifactId": "ui-graphics",
- "version": "1.0.0",
- "nugetVersion": "1.0.0",
+ "version": "1.0.5",
+ "nugetVersion": "1.0.5",
"nugetId": "Xamarin.AndroidX.Compose.UI.Graphics",
"dependencyOnly": false
},
{
"groupId": "androidx.compose.ui",
"artifactId": "ui-text",
- "version": "1.0.0",
- "nugetVersion": "1.0.0",
+ "version": "1.0.5",
+ "nugetVersion": "1.0.5",
"nugetId": "Xamarin.AndroidX.Compose.UI.Text",
"dependencyOnly": false
},
{
"groupId": "androidx.compose.ui",
"artifactId": "ui-unit",
- "version": "1.0.0",
- "nugetVersion": "1.0.0",
+ "version": "1.0.5",
+ "nugetVersion": "1.0.5",
"nugetId": "Xamarin.AndroidX.Compose.UI.Unit",
"dependencyOnly": false
},
{
"groupId": "androidx.compose.ui",
"artifactId": "ui-util",
- "version": "1.0.0",
- "nugetVersion": "1.0.0",
+ "version": "1.0.5",
+ "nugetVersion": "1.0.5",
"nugetId": "Xamarin.AndroidX.Compose.UI.Util",
"dependencyOnly": false
},
{
"groupId": "androidx.compose.ui",
"artifactId": "ui-viewbinding",
- "version": "1.0.0",
- "nugetVersion": "1.0.0",
+ "version": "1.0.5",
+ "nugetVersion": "1.0.5",
"nugetId": "Xamarin.AndroidX.Compose.UI.ViewBinding",
"dependencyOnly": false
},
@@ -381,16 +381,16 @@
{
"groupId": "androidx.constraintlayout",
"artifactId": "constraintlayout",
- "version": "2.1.1",
- "nugetVersion": "2.1.1.2",
+ "version": "2.1.2",
+ "nugetVersion": "2.1.2",
"nugetId": "Xamarin.AndroidX.ConstraintLayout",
"dependencyOnly": false
},
{
"groupId": "androidx.constraintlayout",
"artifactId": "constraintlayout-core",
- "version": "1.0.1",
- "nugetVersion": "1.0.1.2",
+ "version": "1.0.2",
+ "nugetVersion": "1.0.2",
"nugetId": "Xamarin.AndroidX.ConstraintLayout.Core",
"dependencyOnly": false
},
@@ -554,6 +554,30 @@
"nugetId": "Xamarin.AndroidX.Emoji.Bundled",
"dependencyOnly": false
},
+ {
+ "groupId": "androidx.emoji2",
+ "artifactId": "emoji2",
+ "version": "1.0.0",
+ "nugetVersion": "1.0.0",
+ "nugetId": "Xamarin.AndroidX.Emoji2",
+ "dependencyOnly": false
+ },
+ {
+ "groupId": "androidx.emoji2",
+ "artifactId": "emoji2-views-helper",
+ "version": "1.0.0",
+ "nugetVersion": "1.0.0",
+ "nugetId": "Xamarin.AndroidX.Emoji2.ViewsHelper",
+ "dependencyOnly": false
+ },
+ {
+ "groupId": "androidx.resourceinspection",
+ "artifactId": "resourceinspection-annotation",
+ "version": "1.0.0",
+ "nugetVersion": "1.0.0",
+ "nugetId": "Xamarin.AndroidX.ResourceInspection.Annotation",
+ "dependencyOnly": false
+ },
{
"groupId": "androidx.exifinterface",
"artifactId": "exifinterface",
@@ -661,16 +685,16 @@
{
"groupId": "androidx.lifecycle",
"artifactId": "lifecycle-common",
- "version": "2.3.1",
- "nugetVersion": "2.3.1.3",
+ "version": "2.4.0",
+ "nugetVersion": "2.4.0",
"nugetId": "Xamarin.AndroidX.Lifecycle.Common",
"dependencyOnly": false
},
{
"groupId": "androidx.lifecycle",
"artifactId": "lifecycle-common-java8",
- "version": "2.3.1",
- "nugetVersion": "2.3.1.3",
+ "version": "2.4.0",
+ "nugetVersion": "2.4.0",
"nugetId": "Xamarin.AndroidX.Lifecycle.Common.Java8",
"dependencyOnly": false
},
@@ -685,104 +709,104 @@
{
"groupId": "androidx.lifecycle",
"artifactId": "lifecycle-livedata",
- "version": "2.3.1",
- "nugetVersion": "2.3.1.3",
+ "version": "2.4.0",
+ "nugetVersion": "2.4.0",
"nugetId": "Xamarin.AndroidX.Lifecycle.LiveData",
"dependencyOnly": false
},
{
"groupId": "androidx.lifecycle",
"artifactId": "lifecycle-livedata-core",
- "version": "2.3.1",
- "nugetVersion": "2.3.1.3",
+ "version": "2.4.0",
+ "nugetVersion": "2.4.0",
"nugetId": "Xamarin.AndroidX.Lifecycle.LiveData.Core",
"dependencyOnly": false
},
{
"groupId": "androidx.lifecycle",
"artifactId": "lifecycle-livedata-core-ktx",
- "version": "2.3.1",
- "nugetVersion": "2.3.1.3",
+ "version": "2.4.0",
+ "nugetVersion": "2.4.0",
"nugetId": "Xamarin.AndroidX.Lifecycle.LiveData.Core.Ktx",
"dependencyOnly": false
},
{
"groupId": "androidx.lifecycle",
"artifactId": "lifecycle-livedata-ktx",
- "version": "2.3.1",
- "nugetVersion": "2.3.1.5",
+ "version": "2.4.0",
+ "nugetVersion": "2.4.0",
"nugetId": "Xamarin.AndroidX.Lifecycle.LiveData.Ktx",
"dependencyOnly": false
},
{
"groupId": "androidx.lifecycle",
"artifactId": "lifecycle-process",
- "version": "2.3.1",
- "nugetVersion": "2.3.1.3",
+ "version": "2.4.0",
+ "nugetVersion": "2.4.0",
"nugetId": "Xamarin.AndroidX.Lifecycle.Process",
"dependencyOnly": false
},
{
"groupId": "androidx.lifecycle",
"artifactId": "lifecycle-reactivestreams",
- "version": "2.3.1",
- "nugetVersion": "2.3.1.3",
+ "version": "2.4.0",
+ "nugetVersion": "2.4.0",
"nugetId": "Xamarin.AndroidX.Lifecycle.ReactiveStreams",
"dependencyOnly": false
},
{
"groupId": "androidx.lifecycle",
"artifactId": "lifecycle-reactivestreams-ktx",
- "version": "2.3.1",
- "nugetVersion": "2.3.1.3",
+ "version": "2.4.0",
+ "nugetVersion": "2.4.0",
"nugetId": "Xamarin.AndroidX.Lifecycle.ReactiveStreams.Ktx",
"dependencyOnly": false
},
{
"groupId": "androidx.lifecycle",
"artifactId": "lifecycle-runtime",
- "version": "2.3.1",
- "nugetVersion": "2.3.1.4",
+ "version": "2.4.0",
+ "nugetVersion": "2.4.0",
"nugetId": "Xamarin.AndroidX.Lifecycle.Runtime",
"dependencyOnly": false
},
{
"groupId": "androidx.lifecycle",
"artifactId": "lifecycle-runtime-ktx",
- "version": "2.3.1",
- "nugetVersion": "2.3.1.3",
+ "version": "2.4.0",
+ "nugetVersion": "2.4.0",
"nugetId": "Xamarin.AndroidX.Lifecycle.Runtime.Ktx",
"dependencyOnly": false
},
{
"groupId": "androidx.lifecycle",
"artifactId": "lifecycle-service",
- "version": "2.3.1",
- "nugetVersion": "2.3.1.3",
+ "version": "2.4.0",
+ "nugetVersion": "2.4.0",
"nugetId": "Xamarin.AndroidX.Lifecycle.Service",
"dependencyOnly": false
},
{
"groupId": "androidx.lifecycle",
"artifactId": "lifecycle-viewmodel",
- "version": "2.3.1",
- "nugetVersion": "2.3.1.3",
+ "version": "2.4.0",
+ "nugetVersion": "2.4.0",
"nugetId": "Xamarin.AndroidX.Lifecycle.ViewModel",
"dependencyOnly": false
},
{
"groupId": "androidx.lifecycle",
"artifactId": "lifecycle-viewmodel-ktx",
- "version": "2.3.1",
- "nugetVersion": "2.3.1.3",
+ "version": "2.4.0",
+ "nugetVersion": "2.4.0",
"nugetId": "Xamarin.AndroidX.Lifecycle.ViewModel.Ktx",
"dependencyOnly": false
},
{
"groupId": "androidx.lifecycle",
"artifactId": "lifecycle-viewmodel-savedstate",
- "version": "2.3.1",
- "nugetVersion": "2.3.1.3",
+ "version": "2.4.0",
+ "nugetVersion": "2.4.0",
"nugetId": "Xamarin.AndroidX.Lifecycle.ViewModelSavedState",
"dependencyOnly": false
},
@@ -917,48 +941,48 @@
{
"groupId": "androidx.paging",
"artifactId": "paging-common",
- "version": "3.0.1",
- "nugetVersion": "3.0.1.3",
+ "version": "3.1.0",
+ "nugetVersion": "3.1.0",
"nugetId": "Xamarin.AndroidX.Paging.Common",
"dependencyOnly": false
},
{
"groupId": "androidx.paging",
"artifactId": "paging-common-ktx",
- "version": "3.0.1",
- "nugetVersion": "3.0.1.3",
+ "version": "3.1.0",
+ "nugetVersion": "3.1.0",
"nugetId": "Xamarin.AndroidX.Paging.Common.Ktx",
"dependencyOnly": false
},
{
"groupId": "androidx.paging",
"artifactId": "paging-runtime",
- "version": "3.0.1",
- "nugetVersion": "3.0.1.3",
+ "version": "3.1.0",
+ "nugetVersion": "3.1.0",
"nugetId": "Xamarin.AndroidX.Paging.Runtime",
"dependencyOnly": false
},
{
"groupId": "androidx.paging",
"artifactId": "paging-runtime-ktx",
- "version": "3.0.1",
- "nugetVersion": "3.0.1.3",
+ "version": "3.1.0",
+ "nugetVersion": "3.1.0",
"nugetId": "Xamarin.AndroidX.Paging.Runtime.Ktx",
"dependencyOnly": false
},
{
"groupId": "androidx.paging",
"artifactId": "paging-rxjava2",
- "version": "3.0.1",
- "nugetVersion": "3.0.1.3",
+ "version": "3.1.0",
+ "nugetVersion": "3.1.0",
"nugetId": "Xamarin.AndroidX.Paging.RxJava2",
"dependencyOnly": false
},
{
"groupId": "androidx.paging",
"artifactId": "paging-rxjava2-ktx",
- "version": "3.0.1",
- "nugetVersion": "3.0.1.3",
+ "version": "3.1.0",
+ "nugetVersion": "3.1.0",
"nugetId": "Xamarin.AndroidX.Paging.RxJava2.Ktx",
"dependencyOnly": false
},
@@ -1013,8 +1037,8 @@
{
"groupId": "androidx.profileinstaller",
"artifactId": "profileinstaller",
- "version": "1.0.0",
- "nugetVersion": "1.0.0",
+ "version": "1.0.4",
+ "nugetVersion": "1.0.4",
"nugetId": "Xamarin.AndroidX.ProfileInstaller.ProfileInstaller",
"dependencyOnly": false
},
@@ -1317,16 +1341,16 @@
{
"groupId": "androidx.work",
"artifactId": "work-runtime",
- "version": "2.7.0",
- "nugetVersion": "2.7.0",
+ "version": "2.7.1",
+ "nugetVersion": "2.7.1",
"nugetId": "Xamarin.AndroidX.Work.Runtime",
"dependencyOnly": false
},
{
"groupId": "androidx.work",
"artifactId": "work-runtime-ktx",
- "version": "2.7.0",
- "nugetVersion": "2.7.0",
+ "version": "2.7.1",
+ "nugetVersion": "2.7.1",
"nugetId": "Xamarin.AndroidX.Work.Work.Runtime.Ktx",
"dependencyOnly": false
},
@@ -1377,8 +1401,8 @@
{
"groupId": "io.reactivex.rxjava3",
"artifactId": "rxjava",
- "version": "3.1.2",
- "nugetVersion": "3.1.2.1",
+ "version": "3.1.3",
+ "nugetVersion": "3.1.3",
"nugetId": "Xamarin.Android.ReactiveX.RxJava3.RxJava",
"dependencyOnly": false,
"templateSet": "rxjava"
@@ -1386,8 +1410,8 @@
{
"groupId": "org.jetbrains",
"artifactId": "annotations",
- "version": "22.0.0",
- "nugetVersion": "22.0.0.3",
+ "version": "23.0.0",
+ "nugetVersion": "23.0.0",
"nugetId": "Xamarin.Jetbrains.Annotations",
"dependencyOnly": false,
"templateSet": "kotlin"
diff --git a/mappings/androidx-assemblies.csv b/mappings/androidx-assemblies.csv
index ef1e60808..b9501c478 100644
--- a/mappings/androidx-assemblies.csv
+++ b/mappings/androidx-assemblies.csv
@@ -1,30 +1,30 @@
Support .NET assembly,AndroidX .NET assembly,Support NuGet,AndroidX NuGet,AndroidX NuGet Version
Xamarin.Android.Arch.Core.Common,Xamarin.AndroidX.Arch.Core.Common,Xamarin.Android.Arch.Core.Common,Xamarin.AndroidX.Arch.Core.Common,2.1.0.11
Xamarin.Android.Arch.Core.Runtime,Xamarin.AndroidX.Arch.Core.Runtime,Xamarin.Android.Arch.Core.Runtime,Xamarin.AndroidX.Arch.Core.Runtime,2.1.0.11
-Xamarin.Android.Arch.Lifecycle.Common,Xamarin.AndroidX.Lifecycle.Common,Xamarin.Android.Arch.Lifecycle.Common,Xamarin.AndroidX.Lifecycle.Common,2.3.1.3
+Xamarin.Android.Arch.Lifecycle.Common,Xamarin.AndroidX.Lifecycle.Common,Xamarin.Android.Arch.Lifecycle.Common,Xamarin.AndroidX.Lifecycle.Common,2.4.0
Xamarin.Android.Arch.Lifecycle.Extensions,Xamarin.AndroidX.Lifecycle.Extensions,Xamarin.Android.Arch.Lifecycle.Extensions,Xamarin.AndroidX.Lifecycle.Extensions,2.2.0.10
-Xamarin.Android.Arch.Lifecycle.Extensions,Xamarin.AndroidX.Lifecycle.Process,Xamarin.Android.Arch.Lifecycle.Extensions,Xamarin.AndroidX.Lifecycle.Process,2.3.1.3
-Xamarin.Android.Arch.Lifecycle.Extensions,Xamarin.AndroidX.Lifecycle.Service,Xamarin.Android.Arch.Lifecycle.Extensions,Xamarin.AndroidX.Lifecycle.Service,2.3.1.3
-Xamarin.Android.Arch.Lifecycle.LiveData,Xamarin.AndroidX.Lifecycle.LiveData,Xamarin.Android.Arch.Lifecycle.LiveData,Xamarin.AndroidX.Lifecycle.LiveData,2.3.1.3
-Xamarin.Android.Arch.Lifecycle.LiveData.Core,Xamarin.AndroidX.Lifecycle.LiveData.Core,Xamarin.Android.Arch.Lifecycle.LiveData.Core,Xamarin.AndroidX.Lifecycle.LiveData.Core,2.3.1.3
-Xamarin.Android.Arch.Lifecycle.Runtime,Xamarin.AndroidX.Lifecycle.Runtime,Xamarin.Android.Arch.Lifecycle.Runtime,Xamarin.AndroidX.Lifecycle.Runtime,2.3.1.4
-Xamarin.Android.Arch.Lifecycle.ViewModel,Xamarin.AndroidX.Lifecycle.ViewModel,Xamarin.Android.Arch.Lifecycle.ViewModel,Xamarin.AndroidX.Lifecycle.ViewModel,2.3.1.3
+Xamarin.Android.Arch.Lifecycle.Extensions,Xamarin.AndroidX.Lifecycle.Process,Xamarin.Android.Arch.Lifecycle.Extensions,Xamarin.AndroidX.Lifecycle.Process,2.4.0
+Xamarin.Android.Arch.Lifecycle.Extensions,Xamarin.AndroidX.Lifecycle.Service,Xamarin.Android.Arch.Lifecycle.Extensions,Xamarin.AndroidX.Lifecycle.Service,2.4.0
+Xamarin.Android.Arch.Lifecycle.LiveData,Xamarin.AndroidX.Lifecycle.LiveData,Xamarin.Android.Arch.Lifecycle.LiveData,Xamarin.AndroidX.Lifecycle.LiveData,2.4.0
+Xamarin.Android.Arch.Lifecycle.LiveData.Core,Xamarin.AndroidX.Lifecycle.LiveData.Core,Xamarin.Android.Arch.Lifecycle.LiveData.Core,Xamarin.AndroidX.Lifecycle.LiveData.Core,2.4.0
+Xamarin.Android.Arch.Lifecycle.Runtime,Xamarin.AndroidX.Lifecycle.Runtime,Xamarin.Android.Arch.Lifecycle.Runtime,Xamarin.AndroidX.Lifecycle.Runtime,2.4.0
+Xamarin.Android.Arch.Lifecycle.ViewModel,Xamarin.AndroidX.Lifecycle.ViewModel,Xamarin.Android.Arch.Lifecycle.ViewModel,Xamarin.AndroidX.Lifecycle.ViewModel,2.4.0
Xamarin.Android.Arch.Persistence.Db,Xamarin.AndroidX.Sqlite,Xamarin.Android.Arch.Persistence.Db,Xamarin.AndroidX.Sqlite,2.1.0.10
Xamarin.Android.Arch.Persistence.Db.Framework,Xamarin.AndroidX.Sqlite.Framework,Xamarin.Android.Arch.Persistence.Db.Framework,Xamarin.AndroidX.Sqlite.Framework,2.1.0.10
Xamarin.Android.Arch.Persistence.Room.Common,Xamarin.AndroidX.Media2.Widget,Xamarin.Android.Arch.Persistence.Room.Common,Xamarin.AndroidX.Media2.Widget,1.2.0.2
Xamarin.Android.Arch.Persistence.Room.Common,Xamarin.AndroidX.Room.Common,Xamarin.Android.Arch.Persistence.Room.Common,Xamarin.AndroidX.Room.Common,2.3.0.4
Xamarin.Android.Arch.Persistence.Room.Runtime,Xamarin.AndroidX.Room.Runtime,Xamarin.Android.Arch.Persistence.Room.Runtime,Xamarin.AndroidX.Room.Runtime,2.3.0.4
-Xamarin.Android.Arch.Work.Runtime,Xamarin.AndroidX.Work.Runtime,Xamarin.Android.Arch.Work.Runtime,Xamarin.AndroidX.Work.Runtime,2.7.0
+Xamarin.Android.Arch.Work.Runtime,Xamarin.AndroidX.Work.Runtime,Xamarin.Android.Arch.Work.Runtime,Xamarin.AndroidX.Work.Runtime,2.7.1
Xamarin.Android.Support.Animated.Vector.Drawable,Xamarin.AndroidX.VectorDrawable.Animated,Xamarin.Android.Support.Animated.Vector.Drawable,Xamarin.AndroidX.VectorDrawable.Animated,1.1.0.10
Xamarin.Android.Support.Annotations,Xamarin.Android.ReactiveX.RxJava,Xamarin.Android.Support.Annotations,Xamarin.Android.ReactiveX.RxJava,2.2.21.3
-Xamarin.Android.Support.Annotations,Xamarin.Android.ReactiveX.RxJava3.RxJava,Xamarin.Android.Support.Annotations,Xamarin.Android.ReactiveX.RxJava3.RxJava,3.1.2.1
-Xamarin.Android.Support.Annotations,Xamarin.AndroidX.Annotation,Xamarin.Android.Support.Annotations,Xamarin.AndroidX.Annotation,1.2.0.3
+Xamarin.Android.Support.Annotations,Xamarin.Android.ReactiveX.RxJava3.RxJava,Xamarin.Android.Support.Annotations,Xamarin.Android.ReactiveX.RxJava3.RxJava,3.1.3
+Xamarin.Android.Support.Annotations,Xamarin.AndroidX.Annotation,Xamarin.Android.Support.Annotations,Xamarin.AndroidX.Annotation,1.3.0
Xamarin.Android.Support.Annotations,Xamarin.AndroidX.Media2.Widget,Xamarin.Android.Support.Annotations,Xamarin.AndroidX.Media2.Widget,1.2.0.2
-Xamarin.Android.Support.Annotations,Xamarin.Jetbrains.Annotations,Xamarin.Android.Support.Annotations,Xamarin.Jetbrains.Annotations,22.0.0.3
+Xamarin.Android.Support.Annotations,Xamarin.Jetbrains.Annotations,Xamarin.Android.Support.Annotations,Xamarin.Jetbrains.Annotations,23.0.0
Xamarin.Android.Support.AsyncLayoutInflater,Xamarin.AndroidX.AsyncLayoutInflater,Xamarin.Android.Support.AsyncLayoutInflater,Xamarin.AndroidX.AsyncLayoutInflater,1.0.0.10
-Xamarin.Android.Support.Collections,Xamarin.AndroidX.Collection,Xamarin.Android.Support.Collections,Xamarin.AndroidX.Collection,1.1.0.10
+Xamarin.Android.Support.Collections,Xamarin.AndroidX.Collection,Xamarin.Android.Support.Collections,Xamarin.AndroidX.Collection,1.2.0
Xamarin.Android.Support.Compat,Xamarin.AndroidX.Core,Xamarin.Android.Support.Compat,Xamarin.AndroidX.Core,1.6.0.3
-Xamarin.Android.Support.Constraint.Layout,Xamarin.AndroidX.ConstraintLayout,Xamarin.Android.Support.Constraint.Layout,Xamarin.AndroidX.ConstraintLayout,2.1.1.2
+Xamarin.Android.Support.Constraint.Layout,Xamarin.AndroidX.ConstraintLayout,Xamarin.Android.Support.Constraint.Layout,Xamarin.AndroidX.ConstraintLayout,2.1.2
Xamarin.Android.Support.Constraint.Layout,Xamarin.AndroidX.DataBinding.DataBindingAdapters,Xamarin.Android.Support.Constraint.Layout,Xamarin.AndroidX.DataBinding.DataBindingAdapters,7.0.3
Xamarin.Android.Support.Constraint.Layout,Xamarin.AndroidX.DataBinding.DataBindingRuntime,Xamarin.Android.Support.Constraint.Layout,Xamarin.AndroidX.DataBinding.DataBindingRuntime,7.0.3
Xamarin.Android.Support.Constraint.Layout,Xamarin.AndroidX.DataBinding.ViewBinding,Xamarin.Android.Support.Constraint.Layout,Xamarin.AndroidX.DataBinding.ViewBinding,7.0.3
@@ -36,7 +36,7 @@ Xamarin.Android.Support.CursorAdapter,Xamarin.AndroidX.CursorAdapter,Xamarin.And
Xamarin.Android.Support.CustomTabs,Xamarin.AndroidX.Browser,Xamarin.Android.Support.CustomTabs,Xamarin.AndroidX.Browser,1.3.0.8
Xamarin.Android.Support.CustomView,Xamarin.AndroidX.CustomView,Xamarin.Android.Support.CustomView,Xamarin.AndroidX.CustomView,1.1.0.9
Xamarin.Android.Support.Design,Xamarin.Android.ReactiveX.RxJava,Xamarin.Android.Support.Design,Xamarin.Android.ReactiveX.RxJava,2.2.21.3
-Xamarin.Android.Support.Design,Xamarin.Android.ReactiveX.RxJava3.RxJava,Xamarin.Android.Support.Design,Xamarin.Android.ReactiveX.RxJava3.RxJava,3.1.2.1
+Xamarin.Android.Support.Design,Xamarin.Android.ReactiveX.RxJava3.RxJava,Xamarin.Android.Support.Design,Xamarin.Android.ReactiveX.RxJava3.RxJava,3.1.3
Xamarin.Android.Support.Design,Xamarin.AndroidX.Annotation.Experimental,Xamarin.Android.Support.Design,Xamarin.AndroidX.Annotation.Experimental,1.1.0.3
Xamarin.Android.Support.Design,Xamarin.Google.Android.Material,Xamarin.Android.Support.Design,Xamarin.Google.Android.Material,1.4.0.4
Xamarin.Android.Support.Design,Xamarin.Kotlin.StdLib,Xamarin.Android.Support.Design,Xamarin.Kotlin.StdLib,1.5.31.3
diff --git a/mappings/androidx-mapping.csv b/mappings/androidx-mapping.csv
index 07e4ae72f..1ed9a67f5 100644
--- a/mappings/androidx-mapping.csv
+++ b/mappings/androidx-mapping.csv
@@ -808,7 +808,7 @@ Android.Support.V4.Print,PrintHelper.IOnPrintFinishCallback,AndroidX.Print,Print
Android.Support.V4.Print,PrintHelper.IOnPrintFinishCallbackInvoker,AndroidX.Print,PrintHelper.IOnPrintFinishCallbackInvoker,Xamarin.Android.Support.Print,Xamarin.AndroidX.Print,android.support.v4.print,PrintHelper.OnPrintFinishCallback,androidx.print,PrintHelper.OnPrintFinishCallback,
,,,,,,,,,,WARNING: Unable to find AndroidX type for Java type androidx.lifecycle.HolderFragment.
,,,,,,,,,,WARNING: Unable to find AndroidX type for Java type androidx.lifecycle.HolderFragment.HolderFragmentManager.
-Android.Arch.Lifecycle,ProcessLifecycleOwnerInitializer,AndroidX.Lifecycle,ProcessLifecycleOwnerInitializer,Xamarin.Android.Arch.Lifecycle.Extensions,Xamarin.AndroidX.Lifecycle.Process,android.arch.lifecycle,ProcessLifecycleOwnerInitializer,androidx.lifecycle,ProcessLifecycleOwnerInitializer,
+,,,,,,,,,,WARNING: Unable to find AndroidX type for Java type androidx.lifecycle.ProcessLifecycleOwnerInitializer.
Android.Arch.Lifecycle,ServiceLifecycleDispatcher,AndroidX.Lifecycle,ServiceLifecycleDispatcher,Xamarin.Android.Arch.Lifecycle.Extensions,Xamarin.AndroidX.Lifecycle.Service,android.arch.lifecycle,ServiceLifecycleDispatcher,androidx.lifecycle,ServiceLifecycleDispatcher,
,,,,,,,,,,WARNING: Unable to find AndroidX type for Java type androidx.lifecycle.ServiceLifecycleDispatcher.DispatchRunnable.
Android.Arch.Lifecycle,ViewModelStores,AndroidX.Lifecycle,ViewModelStores,Xamarin.Android.Arch.Lifecycle.Extensions,Xamarin.AndroidX.Lifecycle.Extensions,android.arch.lifecycle,ViewModelStores,androidx.lifecycle,ViewModelStores,
diff --git a/mappings/dependencies.json b/mappings/dependencies.json
index 6394bbdcc..ed2c58bd6 100644
--- a/mappings/dependencies.json
+++ b/mappings/dependencies.json
@@ -74,7 +74,8 @@
{
"id": "Xamarin.AndroidX.Lifecycle.ViewModel",
"dependencies": [
- "Xamarin.AndroidX.Annotation"
+ "Xamarin.AndroidX.Annotation",
+ "Xamarin.Kotlin.StdLib"
]
},
{
@@ -872,6 +873,38 @@
"Xamarin.AndroidX.Emoji"
]
},
+ {
+ "id": "Xamarin.AndroidX.Emoji2",
+ "dependencies": [
+ "Xamarin.AndroidX.Annotation",
+ "Xamarin.AndroidX.Collection",
+ "Xamarin.AndroidX.Core",
+ "Xamarin.AndroidX.Lifecycle.Process",
+ "Xamarin.AndroidX.Startup.StartupRuntime"
+ ]
+ },
+ {
+ "id": "Xamarin.AndroidX.Lifecycle.Process",
+ "dependencies": [
+ "Xamarin.AndroidX.Lifecycle.Runtime",
+ "Xamarin.AndroidX.Startup.StartupRuntime"
+ ]
+ },
+ {
+ "id": "Xamarin.AndroidX.Startup.StartupRuntime",
+ "dependencies": [
+ "Xamarin.AndroidX.Annotation",
+ "Xamarin.AndroidX.Tracing.Tracing"
+ ]
+ },
+ {
+ "id": "Xamarin.AndroidX.Emoji2.ViewsHelper",
+ "dependencies": [
+ "Xamarin.AndroidX.Collection",
+ "Xamarin.AndroidX.Core",
+ "Xamarin.AndroidX.Emoji2"
+ ]
+ },
{
"id": "Xamarin.AndroidX.Loader",
"dependencies": [
@@ -1013,12 +1046,6 @@
"Xamarin.AndroidX.Lifecycle.ViewModel"
]
},
- {
- "id": "Xamarin.AndroidX.Lifecycle.Process",
- "dependencies": [
- "Xamarin.AndroidX.Lifecycle.Runtime"
- ]
- },
{
"id": "Xamarin.AndroidX.Lifecycle.Service",
"dependencies": [
@@ -1189,14 +1216,7 @@
"Xamarin.AndroidX.Annotation",
"Xamarin.AndroidX.Arch.Core.Common",
"Xamarin.Kotlin.StdLib",
- "Xamarin.KotlinX.Coroutines.Core.Jvm"
- ]
- },
- {
- "id": "Xamarin.KotlinX.Coroutines.Core.Jvm",
- "dependencies": [
- "Xamarin.Kotlin.StdLib.Common",
- "Xamarin.Kotlin.StdLib.Jdk8"
+ "Xamarin.KotlinX.Coroutines.Core"
]
},
{
@@ -1275,13 +1295,6 @@
"Xamarin.Kotlin.StdLib"
]
},
- {
- "id": "Xamarin.AndroidX.Startup.StartupRuntime",
- "dependencies": [
- "Xamarin.AndroidX.Annotation",
- "Xamarin.AndroidX.Tracing.Tracing"
- ]
- },
{
"id": "Xamarin.AndroidX.Recommendation",
"dependencies": [
@@ -1297,6 +1310,12 @@
"Xamarin.AndroidX.RecyclerView"
]
},
+ {
+ "id": "Xamarin.AndroidX.ResourceInspection.Annotation",
+ "dependencies": [
+ "Xamarin.AndroidX.Annotation"
+ ]
+ },
{
"id": "Xamarin.AndroidX.Room.Common",
"dependencies": [
@@ -1552,6 +1571,13 @@
"Xamarin.Kotlin.StdLib"
]
},
+ {
+ "id": "Xamarin.KotlinX.Coroutines.Core.Jvm",
+ "dependencies": [
+ "Xamarin.Kotlin.StdLib.Common",
+ "Xamarin.Kotlin.StdLib.Jdk8"
+ ]
+ },
{
"id": "Xamarin.Google.Guava",
"dependencies": []
diff --git a/source/Xamarin.Kotlin.StdLib/Transforms/Metadata.xml b/source/Xamarin.Kotlin.StdLib/Transforms/Metadata.xml
index 568cf5b79..8141655a1 100644
--- a/source/Xamarin.Kotlin.StdLib/Transforms/Metadata.xml
+++ b/source/Xamarin.Kotlin.StdLib/Transforms/Metadata.xml
@@ -80,7 +80,10 @@
Java.Lang.Object
Java.Util.IIterator
Java.Lang.Object
+
@@ -177,4 +180,39 @@
DefaultStatic
+
+
+
+
+
+
+
+
+
+
+
diff --git a/source/androidx.appcompat/appcompat-resources/Transforms/Metadata.Namespaces.xml b/source/androidx.appcompat/appcompat-resources/Transforms/Metadata.Namespaces.xml
index 775280f41..aff6969bf 100644
--- a/source/androidx.appcompat/appcompat-resources/Transforms/Metadata.Namespaces.xml
+++ b/source/androidx.appcompat/appcompat-resources/Transforms/Metadata.Namespaces.xml
@@ -25,7 +25,12 @@
>
AndroidX.AppCompat.Widget
-
+
+ AndroidX.AppCompat.Resources
+
\ No newline at end of file
diff --git a/source/androidx.appcompat/appcompat-resources/Transforms/Metadata.xml b/source/androidx.appcompat/appcompat-resources/Transforms/Metadata.xml
index 22843f4e4..c74df57ab 100644
--- a/source/androidx.appcompat/appcompat-resources/Transforms/Metadata.xml
+++ b/source/androidx.appcompat/appcompat-resources/Transforms/Metadata.xml
@@ -42,4 +42,23 @@
public
+
+
+ android.graphics.Color
+
+
\ No newline at end of file
diff --git a/source/androidx.appcompat/appcompat/Transforms/Metadata.Namespaces.xml b/source/androidx.appcompat/appcompat/Transforms/Metadata.Namespaces.xml
index c97cdcb86..5a36a8743 100644
--- a/source/androidx.appcompat/appcompat/Transforms/Metadata.Namespaces.xml
+++ b/source/androidx.appcompat/appcompat/Transforms/Metadata.Namespaces.xml
@@ -14,4 +14,11 @@
AndroidX.AppCompat.View
AndroidX.AppCompat.View.Menu
AndroidX.AppCompat.Widget
+
+
+ AndroidX.AppCompat.App.Resources
+
\ No newline at end of file
diff --git a/source/androidx.appcompat/appcompat/Transforms/Metadata.xml b/source/androidx.appcompat/appcompat/Transforms/Metadata.xml
index 5953de091..11080c67a 100644
--- a/source/androidx.appcompat/appcompat/Transforms/Metadata.xml
+++ b/source/androidx.appcompat/appcompat/Transforms/Metadata.xml
@@ -223,4 +223,11 @@
Android.Content.PM.ConfigChanges
Java.Lang.Object
+
+ Java.Lang.Object
+
+
\ No newline at end of file
diff --git a/source/androidx.emoji2/emoji2-views-helper/Additions/Additions.cs b/source/androidx.emoji2/emoji2-views-helper/Additions/Additions.cs
new file mode 100644
index 000000000..d44eff0e9
--- /dev/null
+++ b/source/androidx.emoji2/emoji2-views-helper/Additions/Additions.cs
@@ -0,0 +1,4 @@
+using System;
+using System.Collections.Generic;
+using Android.Runtime;
+using Java.Interop;
diff --git a/source/androidx.emoji2/emoji2-views-helper/Transforms/Metadata.Namespaces.xml b/source/androidx.emoji2/emoji2-views-helper/Transforms/Metadata.Namespaces.xml
new file mode 100644
index 000000000..4c5dd965c
--- /dev/null
+++ b/source/androidx.emoji2/emoji2-views-helper/Transforms/Metadata.Namespaces.xml
@@ -0,0 +1,8 @@
+
+
+ AndroidX.Emoji2.ViewsIntegration
+
+
\ No newline at end of file
diff --git a/source/androidx.emoji2/emoji2-views-helper/Transforms/Metadata.xml b/source/androidx.emoji2/emoji2-views-helper/Transforms/Metadata.xml
new file mode 100644
index 000000000..13a3d38c7
--- /dev/null
+++ b/source/androidx.emoji2/emoji2-views-helper/Transforms/Metadata.xml
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/source/androidx.emoji2/emoji2/Additions/Additions.cs b/source/androidx.emoji2/emoji2/Additions/Additions.cs
new file mode 100644
index 000000000..d44eff0e9
--- /dev/null
+++ b/source/androidx.emoji2/emoji2/Additions/Additions.cs
@@ -0,0 +1,4 @@
+using System;
+using System.Collections.Generic;
+using Android.Runtime;
+using Java.Interop;
diff --git a/source/androidx.emoji2/emoji2/Transforms/Metadata.Namespaces.xml b/source/androidx.emoji2/emoji2/Transforms/Metadata.Namespaces.xml
new file mode 100644
index 000000000..1508cefa2
--- /dev/null
+++ b/source/androidx.emoji2/emoji2/Transforms/Metadata.Namespaces.xml
@@ -0,0 +1,15 @@
+
+
+ AndroidX.Emoji2.Text
+
+
+ AndroidX.Emoji2.Text.FlatBuffer
+
+
+
\ No newline at end of file
diff --git a/source/androidx.emoji2/emoji2/Transforms/Metadata.xml b/source/androidx.emoji2/emoji2/Transforms/Metadata.xml
new file mode 100644
index 000000000..2a0a7ec8a
--- /dev/null
+++ b/source/androidx.emoji2/emoji2/Transforms/Metadata.xml
@@ -0,0 +1,15 @@
+
+
+ Java.Lang.Object
+
+
+ Java.Lang.Object
+
+
+
\ No newline at end of file
diff --git a/source/androidx.fragment/fragment/Transforms/Metadata.Namespaces.xml b/source/androidx.fragment/fragment/Transforms/Metadata.Namespaces.xml
index b9085cff7..615d92940 100644
--- a/source/androidx.fragment/fragment/Transforms/Metadata.Namespaces.xml
+++ b/source/androidx.fragment/fragment/Transforms/Metadata.Namespaces.xml
@@ -8,4 +8,11 @@
-->
AndroidX.Fragment.App
+
+
+ AndroidX.Fragment.App.StrictMode
+
\ No newline at end of file
diff --git a/source/androidx.resourceinspection/resourceinspection-annotation/Additions/Additions.cs b/source/androidx.resourceinspection/resourceinspection-annotation/Additions/Additions.cs
new file mode 100644
index 000000000..d44eff0e9
--- /dev/null
+++ b/source/androidx.resourceinspection/resourceinspection-annotation/Additions/Additions.cs
@@ -0,0 +1,4 @@
+using System;
+using System.Collections.Generic;
+using Android.Runtime;
+using Java.Interop;
diff --git a/source/androidx.resourceinspection/resourceinspection-annotation/Transforms/Metadata.Namespaces.xml b/source/androidx.resourceinspection/resourceinspection-annotation/Transforms/Metadata.Namespaces.xml
new file mode 100644
index 000000000..cceb61026
--- /dev/null
+++ b/source/androidx.resourceinspection/resourceinspection-annotation/Transforms/Metadata.Namespaces.xml
@@ -0,0 +1,9 @@
+
+
+ AndroidX.ResourceInspection.Annotation
+
+
+
\ No newline at end of file
diff --git a/source/androidx.resourceinspection/resourceinspection-annotation/Transforms/Metadata.xml b/source/androidx.resourceinspection/resourceinspection-annotation/Transforms/Metadata.xml
new file mode 100644
index 000000000..13a3d38c7
--- /dev/null
+++ b/source/androidx.resourceinspection/resourceinspection-annotation/Transforms/Metadata.xml
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/source/migration/BuildTasks/Xamarin.AndroidX.Migration.props b/source/migration/BuildTasks/Xamarin.AndroidX.Migration.props
index 061f63c47..f20ef35e1 100644
--- a/source/migration/BuildTasks/Xamarin.AndroidX.Migration.props
+++ b/source/migration/BuildTasks/Xamarin.AndroidX.Migration.props
@@ -248,6 +248,8 @@
<_AndroidXMavenArtifact Include="androidx.emoji.emoji" />
<_AndroidXMavenArtifact Include="androidx.emoji.emoji-appcompat" />
<_AndroidXMavenArtifact Include="androidx.emoji.emoji-bundled" />
+ <_AndroidXMavenArtifact Include="androidx.emoji2.emoji2" />
+ <_AndroidXMavenArtifact Include="androidx.emoji2.emoji2-views-helper" />
<_AndroidXMavenArtifact Include="androidx.exifinterface.exifinterface" />
<_AndroidXMavenArtifact Include="androidx.fragment.fragment" />
<_AndroidXMavenArtifact Include="androidx.fragment.fragment-ktx" />
@@ -309,6 +311,7 @@
<_AndroidXMavenArtifact Include="androidx.recommendation.recommendation" />
<_AndroidXMavenArtifact Include="androidx.recyclerview.recyclerview" />
<_AndroidXMavenArtifact Include="androidx.recyclerview.recyclerview-selection" />
+ <_AndroidXMavenArtifact Include="androidx.resourceinspection.resourceinspection-annotation" />
<_AndroidXMavenArtifact Include="androidx.room.room-common" />
<_AndroidXMavenArtifact Include="androidx.room.room-guava" />
<_AndroidXMavenArtifact Include="androidx.room.room-ktx" />
diff --git a/tests/AndroidXMigrationTests/Tests/DependenciesTests.cs b/tests/AndroidXMigrationTests/Tests/DependenciesTests.cs
index 064f52c4c..8c713db3b 100644
--- a/tests/AndroidXMigrationTests/Tests/DependenciesTests.cs
+++ b/tests/AndroidXMigrationTests/Tests/DependenciesTests.cs
@@ -264,11 +264,14 @@ public void XamarinFormsTopLevelPackagesExpandToAll()
"Xamarin.AndroidX.ConstraintLayout.Core",
"Xamarin.AndroidX.CoordinatorLayout",
"Xamarin.AndroidX.Core",
+ //"Xamarin.AndroidX.Core.Core.Ktx",
"Xamarin.AndroidX.CursorAdapter",
"Xamarin.AndroidX.CustomView",
"Xamarin.AndroidX.DocumentFile",
"Xamarin.AndroidX.DrawerLayout",
"Xamarin.AndroidX.DynamicAnimation",
+ //"Xamarin.AndroidX.Emoji2",
+ //"Xamarin.AndroidX.Emoji2.ViewsHelper",
"Xamarin.AndroidX.Fragment",
"Xamarin.AndroidX.Interpolator",
"Xamarin.AndroidX.Legacy.Support.Core.UI",
@@ -276,6 +279,7 @@ public void XamarinFormsTopLevelPackagesExpandToAll()
"Xamarin.AndroidX.Legacy.Support.V4",
"Xamarin.AndroidX.Lifecycle.Common",
"Xamarin.AndroidX.Lifecycle.LiveData.Core",
+ //"Xamarin.AndroidX.Lifecycle.Process",
"Xamarin.AndroidX.Lifecycle.Runtime",
"Xamarin.AndroidX.Lifecycle.ViewModel",
"Xamarin.AndroidX.Lifecycle.ViewModelSavedState",
@@ -284,8 +288,10 @@ public void XamarinFormsTopLevelPackagesExpandToAll()
"Xamarin.AndroidX.Media",
"Xamarin.AndroidX.Print",
"Xamarin.AndroidX.RecyclerView",
+ //"Xamarin.AndroidX.ResourceInspection.Annotation",
"Xamarin.AndroidX.SavedState",
"Xamarin.AndroidX.SlidingPaneLayout",
+ //"Xamarin.AndroidX.Startup.StartupRuntime",
"Xamarin.AndroidX.SwipeRefreshLayout",
"Xamarin.AndroidX.Tracing.Tracing",
"Xamarin.AndroidX.Transition",
@@ -296,7 +302,10 @@ public void XamarinFormsTopLevelPackagesExpandToAll()
"Xamarin.AndroidX.ViewPager2",
"Xamarin.Google.Android.Material",
"Xamarin.Google.Guava.ListenableFuture",
- };
+ "Xamarin.Jetbrains.Annotations",
+ "Xamarin.Kotlin.StdLib",
+ "Xamarin.Kotlin.StdLib.Common",
+ };
var tree = PackageDependencyTree.Load();
diff --git a/utilities.cake b/utilities.cake
index 4fe2b036c..e2e901d6b 100644
--- a/utilities.cake
+++ b/utilities.cake
@@ -7,6 +7,8 @@
#addin nuget:?package=Newtonsoft.Json&version=12.0.3
#addin nuget:?package=Cake.FileHelpers&version=3.2.1
+using System.Collections.Generic;
+
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
@@ -201,6 +203,9 @@ Task ("spell-check")
"Tink",
"PhoneInteractions",
"RemoteInteractions",
+ "Emoji2",
+ "ViewsHelper",
+ "ResourceInspection",
};
var dictionary_custom = WeCantSpell.Hunspell.WordList.CreateFromWords(words);
@@ -266,6 +271,8 @@ Task ("namespace-check")
FilePath[] files_org = GetFiles("./generated/**/Org.*.cs").ToArray();
FilePath[] files_io_1 = GetFiles("./generated/**/Io.*.cs").ToArray();
FilePath[] files_io_2 = GetFiles("./generated/**/IO.*.cs").ToArray();
+ FilePath[] files_net = GetFiles("./generated/**/Net.*.cs").ToArray();
+ FilePath[] files_kotlin = GetFiles("./generated/**/Kotlin*.cs").ToArray();
FilePath[] files_kotlinx = GetFiles("./generated/**/Kotlinx*.cs").ToArray();
files = files.Concat(files_androidx.ToArray()).ToArray();
@@ -313,6 +320,152 @@ Task("binderate-diff")
}
);
+void RunProcess(FilePath file, string args)
+{
+ int exit_code = StartProcess(file, args);
+ if (exit_code != 0)
+ {
+ throw new Exception ($"Process {file} exited with code {exit_code}.");
+ }
+
+ return;
+}
+
+System.Xml.XmlDocument xmldoc = null;
+System.Xml.XmlNamespaceManager nsmgr = null;
+
+Task ("target-sdk-version-check")
+ .Does
+ (
+ () =>
+ {
+ FilePath config_file = MakeAbsolute(new FilePath("./config.json")).FullPath;
+ DirectoryPath base_path = MakeAbsolute(new DirectoryPath ("./")).FullPath;
+
+ // Run the dotnet tool for binderator
+ RunProcess
+ (
+ "xamarin-android-binderator",
+ $"--config=\"{config_file}\" --basepath=\"{base_path}\""
+ );
+
+ Dictionary<(string group, string artifact), int> artifacts_target_sdk = null;
+ Dictionary<(string group, string artifact), string> artifacts_versions = null;
+ Parallel.Invoke
+ (
+ () =>
+ {
+ FilePath[] files_android_manifests = GetFiles("./externals/**/AndroidManifest.xml").ToArray();
+ foreach(FilePath fp in files_android_manifests)
+ {
+ Information($"files_android_manifest = {fp}");
+ }
+
+ artifacts_target_sdk = new Dictionary<(string group, string artifact), int>();
+
+ foreach(FilePath fp in files_android_manifests)
+ {
+ Information($" AndroidManifest = {fp}");
+ xmldoc = new System.Xml.XmlDocument();
+ xmldoc.Load(fp.ToString());
+
+ nsmgr = new System.Xml.XmlNamespaceManager(xmldoc.NameTable);
+ nsmgr.AddNamespace("android", "http://schemas.android.com/apk/res/android");
+
+ string t = xmldoc.SelectSingleNode($@"/manifest/uses-sdk/@android:targetSdkVersion", nsmgr)?.Value;
+ string mc = xmldoc.SelectSingleNode($@"/manifest/uses-sdk/@android:minCompileSdk", nsmgr)?.Value;
+
+ string[] path_parts = fp
+ .ToString()
+ .Split
+ (
+ new char[]{ '/' },
+ System.StringSplitOptions.None
+ );
+
+ string a = path_parts[path_parts.Length - 2];
+ string g = path_parts[path_parts.Length - 3];
+
+ Information($" artifact = {g}:{a} - target SDK version = {t} min compile SDK = {mc}");
+ int t_sdk;
+ bool ok = int.TryParse(t, out t_sdk);
+ if (ok)
+ {
+ artifacts_target_sdk.Add((g,a), t_sdk);
+ }
+ }
+
+ return;
+ },
+ () =>
+ {
+ FilePath[] files_poms = GetFiles("./externals/**/*.pom").ToArray();
+ foreach(FilePath fp in files_poms)
+ {
+ Information($"files_android_pom = {fp}");
+ }
+
+ artifacts_versions = new Dictionary<(string group, string artifact), string>();
+
+
+ foreach(FilePath fp in files_poms)
+ {
+ Information($" pom.xml = {fp}");
+ xmldoc = new System.Xml.XmlDocument();
+ xmldoc.Load(fp.ToString());
+
+ nsmgr = new System.Xml.XmlNamespaceManager(xmldoc.NameTable);
+ nsmgr.AddNamespace("pom", "http://maven.apache.org/POM/4.0.0");
+
+ string v = xmldoc.SelectSingleNode($@"/pom:project/pom:version", nsmgr)?.InnerText;
+ Information($" version = {v}");
+ if ( v == null )
+ {
+ v = xmldoc.SelectSingleNode($@"/pom:project/pom:parent/pom:version", nsmgr)?.InnerText;
+ }
+
+ string g = xmldoc.SelectSingleNode($@"/pom:project/pom:groupId", nsmgr)?.InnerText;
+ if ( g == null )
+ {
+ g = xmldoc.SelectSingleNode($@"/pom:project/pom:parent/pom:groupId", nsmgr)?.InnerText;
+ }
+ Information($" groupId = {g}");
+
+ string a = xmldoc.SelectSingleNode($@"/pom:project/pom:artifactId", nsmgr)?.InnerText;
+ Information($" artifactId = {a}");
+
+ artifacts_versions.Add((g, a), v);
+ }
+ return;
+ }
+ );
+
+ Dictionary<(string group, string artifact), (string version, int sdk)> artifact_fq_sdk;
+ artifact_fq_sdk = new Dictionary<(string group, string artifact), (string version, int sdk)>();
+
+ foreach (KeyValuePair<(string group, string artifact), int> ga in artifacts_target_sdk)
+ {
+ int t_sdk = ga.Value;
+ string v = artifacts_versions[ga.Key];
+
+ artifact_fq_sdk.Add((ga.Key.group, ga.Key.artifact), (v, t_sdk));
+ }
+
+ List log_artifacts_sdk_targets = new List();
+
+ foreach (KeyValuePair<(string g, string a), (string v, int sdk)> ga in artifact_fq_sdk)
+ {
+ string log = $"{ga.Key.g}.{ga.Key.a}:{ga.Value.v} - SDK {ga.Value.sdk}";
+ Information(log);
+ log_artifacts_sdk_targets.Add(log);
+ }
+
+ System.IO.File.WriteAllLines("./output/artifacts_sdk_targets.md", log_artifacts_sdk_targets.ToArray());
+
+ return;
+ }
+ );
+
Task ("api-diff-markdown-info-pr")
.IsDependentOn("binderate-diff")
.Does
@@ -464,6 +617,7 @@ Task ("api-diff-analysis")
DirectoryPathCollection directories = GetSubDirectories("./output/api-diff");
Dictionary nugets_modified = new Dictionary();
+ Dictionary api_changes_breaking_removed = new Dictionary();
foreach(DirectoryPath d in directories)
{
@@ -496,7 +650,39 @@ Task ("api-diff-analysis")
}
}
- string[] lines = nugets_modified.Select(kv => kv.Key + Environment.NewLine + "\t" + kv.Value).ToArray();
+ FilePathCollection files = GetFiles(@"./output/api-diff/**/*.dll.breaking.md");
+ List commands = new List();
+
+ foreach(FilePath f in files)
+ {
+ Information($"file = {f}");
+
+ string[] lines_in_file = System.IO.File.ReadAllLines(f.ToString());
+ List line_numbers = new List();
+
+ for(int i=0; i pair1.Value.CompareTo(pair2.Value));
+
+ string[] lines = nugets_modified_ordered
+ .Select(kv => $"- {kv.Value}" + Environment.NewLine + "\t - " + kv.Key)
+ .ToArray();
System.IO.File.WriteAllLines("./output/nugets-with-changed-APIs.md", lines);
return;
@@ -576,6 +762,8 @@ Task ("read-analysis-files")
"./output/missing_dotnet_type.csv",
"./output/missing_java_type.csv",
"./output/nugets-with-changed-APIs.md",
+ "./output/commands-open-file.sh",
+ "./output/artifacts_sdk_targets.md",
};
if ( ! FileExists("./output/spell-errors.txt") )