Skip to content

Commit 277be16

Browse files
[tests] bump to stable AndroidX packages (#4928)
The `AndroidXMigration` test was failing under a `dotnet` context: error NU1605: Detected package downgrade: Xamarin.AndroidX.Lifecycle.LiveData from 2.1.0 to 2.1.0-rc1. Reference the package directly from the project to select a different version. UnnamedProject -> Xamarin.Forms 4.5.0.617 -> Xamarin.AndroidX.Lifecycle.LiveData (>= 2.1.0) UnnamedProject -> Xamarin.AndroidX.Lifecycle.LiveData (>= 2.1.0-rc1) error NU1605: Detected package downgrade: Xamarin.Google.Android.Material from 1.0.0 to 1.0.0-rc1. Reference the package directly from the project to select a different version. UnnamedProject -> Xamarin.Forms 4.5.0.617 -> Xamarin.Google.Android.Material (>= 1.0.0) UnnamedProject -> Xamarin.Google.Android.Material (>= 1.0.0-rc1) error NU1605: Detected package downgrade: Xamarin.AndroidX.Legacy.Support.V4 from 1.0.0 to 1.0.0-rc1. Reference the package directly from the project to select a different version. UnnamedProject -> Xamarin.Forms 4.5.0.617 -> Xamarin.AndroidX.Legacy.Support.V4 (>= 1.0.0) UnnamedProject -> Xamarin.AndroidX.Legacy.Support.V4 (>= 1.0.0-rc1) error NU1605: Detected package downgrade: Xamarin.AndroidX.Browser from 1.0.0 to 1.0.0-rc1. Reference the package directly from the project to select a different version. UnnamedProject -> Xamarin.Forms 4.5.0.617 -> Xamarin.AndroidX.Browser (>= 1.0.0) UnnamedProject -> Xamarin.AndroidX.Browser (>= 1.0.0-rc1) Updating to AndroidX.Migration 1.0.6.1 solves this issue. Let's go ahead and update *all* the `-rc1` packages to use stable versions. There is a new `Xamarin.AndroidX.AppCompat.AppCompatResources` dependency needed as well. I also needed to update some file paths in the tests when `ILLink` is used for linking.
1 parent 443266f commit 277be16

File tree

3 files changed

+29
-14
lines changed

3 files changed

+29
-14
lines changed

src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BuildTest.cs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,7 @@ public void BuildBasicApplicationAppCompat ([Values (true, false)] bool usePacka
232232
}
233233

234234
[Test]
235+
[Category ("dotnet")]
235236
[NonParallelizable]
236237
public void AndroidXMigration ([Values (true, false)] bool isRelease)
237238
{
@@ -240,13 +241,14 @@ public void AndroidXMigration ([Values (true, false)] bool isRelease)
240241
};
241242
proj.PackageReferences.Add (KnownPackages.AndroidXMigration);
242243
proj.PackageReferences.Add (KnownPackages.AndroidXAppCompat);
244+
proj.PackageReferences.Add (KnownPackages.AndroidXAppCompatResources);
243245
proj.PackageReferences.Add (KnownPackages.AndroidXBrowser);
244246
proj.PackageReferences.Add (KnownPackages.AndroidXMediaRouter);
245247
proj.PackageReferences.Add (KnownPackages.AndroidXLegacySupportV4);
246248
proj.PackageReferences.Add (KnownPackages.AndroidXLifecycleLiveData);
247249
proj.PackageReferences.Add (KnownPackages.XamarinGoogleAndroidMaterial);
248250

249-
using (var b = CreateApkBuilder (Path.Combine ("temp", TestName))) {
251+
using (var b = CreateApkBuilder ()) {
250252
Assert.IsTrue (b.Build (proj), "Build should have succeeded.");
251253
var dexFile = b.Output.GetIntermediaryPath (Path.Combine ("android", "bin", "classes.dex"));
252254
FileAssert.Exists (dexFile);
@@ -256,7 +258,9 @@ public void AndroidXMigration ([Values (true, false)] bool isRelease)
256258
className = "Landroid/appcompat/app/AppCompatActivity;";
257259
Assert.IsFalse (DexUtils.ContainsClass (className, dexFile, AndroidSdkPath), $"`{dexFile}` should *not* include `{className}`!");
258260
// FormsAppCompatActivity should inherit the AndroidX C# type
259-
var forms = Path.Combine (Root, b.ProjectDirectory, proj.IntermediateOutputPath, "android", "assets", "Xamarin.Forms.Platform.Android.dll");
261+
var forms = Builder.UseDotNet && isRelease ?
262+
b.Output.GetIntermediaryPath (Path.Combine ("linked", "Xamarin.Forms.Platform.Android.dll")) :
263+
b.Output.GetIntermediaryPath (Path.Combine ("android", "assets", "Xamarin.Forms.Platform.Android.dll"));
260264
using (var assembly = AssemblyDefinition.ReadAssembly (forms)) {
261265
var activity = assembly.MainModule.GetType ("Xamarin.Forms.Platform.Android.FormsAppCompatActivity");
262266
Assert.AreEqual ("AndroidX.AppCompat.App.AppCompatActivity", activity.BaseType.FullName);

src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/IncrementalBuildTest.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1138,6 +1138,7 @@ public void AndroidXMigrationBug ()
11381138
var proj = new XamarinFormsAndroidApplicationProject ();
11391139
proj.PackageReferences.Add (KnownPackages.AndroidXMigration);
11401140
proj.PackageReferences.Add (KnownPackages.AndroidXAppCompat);
1141+
proj.PackageReferences.Add (KnownPackages.AndroidXAppCompatResources);
11411142
proj.PackageReferences.Add (KnownPackages.AndroidXBrowser);
11421143
proj.PackageReferences.Add (KnownPackages.AndroidXMediaRouter);
11431144
proj.PackageReferences.Add (KnownPackages.AndroidXLegacySupportV4);

src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Android/KnownPackages.cs

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -296,61 +296,71 @@ public static void AddDotNetCompatPackages (this IShortFormProject project)
296296
};
297297
public static Package AndroidXMigration = new Package {
298298
Id = "Xamarin.AndroidX.Migration",
299-
Version = "1.0.0-rc1",
299+
Version = "1.0.6.1",
300300
TargetFramework = "MonoAndroid10",
301301
};
302302
public static Package AndroidXAppCompat = new Package {
303303
Id = "Xamarin.AndroidX.AppCompat",
304-
Version = "1.1.0-rc1",
304+
Version = "1.1.0",
305305
TargetFramework = "MonoAndroid10",
306306
};
307307
public static Package AndroidXBrowser = new Package {
308308
Id = "Xamarin.AndroidX.Browser",
309-
Version = "1.0.0-rc1",
309+
Version = "1.0.0",
310310
TargetFramework = "MonoAndroid90",
311311
References = {
312312
new BuildItem.Reference ("Xamarin.AndroidX.Browser") {
313-
MetadataValues = "HintPath=..\\packages\\Xamarin.AndroidX.Browser.1.0.0-rc1\\lib\\MonoAndroid90\\Xamarin.AndroidX.Browser.dll"
313+
MetadataValues = "HintPath=..\\packages\\Xamarin.AndroidX.Browser.1.0.0\\lib\\MonoAndroid90\\Xamarin.AndroidX.Browser.dll"
314314
},
315315
}
316316
};
317317
public static Package AndroidXMediaRouter = new Package {
318318
Id = "Xamarin.AndroidX.MediaRouter",
319-
Version = "1.1.0-rc1",
319+
Version = "1.1.0",
320320
TargetFramework = "MonoAndroid90",
321321
References = {
322322
new BuildItem.Reference ("Xamarin.AndroidX.MediaRouter") {
323-
MetadataValues = "HintPath=..\\packages\\Xamarin.AndroidX.MediaRouter.1.1.0-rc1\\lib\\MonoAndroid90\\Xamarin.AndroidX.MediaRouter.dll"
323+
MetadataValues = "HintPath=..\\packages\\Xamarin.AndroidX.MediaRouter.1.1.0\\lib\\MonoAndroid90\\Xamarin.AndroidX.MediaRouter.dll"
324324
},
325325
}
326326
};
327327
public static Package AndroidXLegacySupportV4 = new Package {
328328
Id = "Xamarin.AndroidX.Legacy.Support.V4",
329-
Version = "1.0.0-rc1",
329+
Version = "1.0.0",
330330
TargetFramework = "MonoAndroid90",
331331
References = {
332332
new BuildItem.Reference ("Xamarin.AndroidX.Legacy.Support.V4") {
333-
MetadataValues = "HintPath=..\\packages\\Xamarin.AndroidX.Legacy.Support.V4.1.0.0-rc1\\lib\\MonoAndroid90\\Xamarin.AndroidX.Legacy.Support.V4.dll"
333+
MetadataValues = "HintPath=..\\packages\\Xamarin.AndroidX.Legacy.Support.V4.1.0.0\\lib\\MonoAndroid90\\Xamarin.AndroidX.Legacy.Support.V4.dll"
334334
},
335335
}
336336
};
337337
public static Package AndroidXLifecycleLiveData = new Package {
338338
Id = "Xamarin.AndroidX.Lifecycle.LiveData",
339-
Version = "2.1.0-rc1",
339+
Version = "2.1.0",
340340
TargetFramework = "MonoAndroid90",
341341
References = {
342342
new BuildItem.Reference ("Xamarin.AndroidX.Lifecycle.LiveData") {
343-
MetadataValues = "HintPath=..\\packages\\Xamarin.AndroidX.Lifecycle.LiveData.2.1.0-rc1\\lib\\MonoAndroid90\\Xamarin.AndroidX.Lifecycle.LiveData.dll"
343+
MetadataValues = "HintPath=..\\packages\\Xamarin.AndroidX.Lifecycle.LiveData.2.1.0\\lib\\MonoAndroid90\\Xamarin.AndroidX.Lifecycle.LiveData.dll"
344+
},
345+
}
346+
};
347+
public static Package AndroidXAppCompatResources = new Package {
348+
Id = "Xamarin.AndroidX.AppCompat.AppCompatResources",
349+
Version = "1.1.0.1",
350+
TargetFramework = "MonoAndroid90",
351+
References = {
352+
new BuildItem.Reference ("Xamarin.AndroidX.AppCompat.AppCompatResources") {
353+
MetadataValues = "HintPath=..\\packages\\Xamarin.AndroidX.AppCompat.AppCompatResources.1.1.0.1\\lib\\MonoAndroid90\\Xamarin.AndroidX.AppCompat.AppCompatResources.dll"
344354
},
345355
}
346356
};
347357
public static Package XamarinGoogleAndroidMaterial = new Package {
348358
Id = "Xamarin.Google.Android.Material",
349-
Version = "1.0.0-rc1",
359+
Version = "1.0.0",
350360
TargetFramework = "MonoAndroid90",
351361
References = {
352362
new BuildItem.Reference ("Xamarin.Google.Android.Material") {
353-
MetadataValues = "HintPath=..\\packages\\Xamarin.Google.Android.Material.1.0.0-rc1\\lib\\MonoAndroid90\\Xamarin.Google.Android.Material.dll"
363+
MetadataValues = "HintPath=..\\packages\\Xamarin.Google.Android.Material.1.0.0\\lib\\MonoAndroid90\\Xamarin.Google.Android.Material.dll"
354364
},
355365
}
356366
};

0 commit comments

Comments
 (0)