diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/AndroidUpdateResourcesTest.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/AndroidUpdateResourcesTest.cs index 9fab473ba66..9b3efc5306a 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/AndroidUpdateResourcesTest.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/AndroidUpdateResourcesTest.cs @@ -135,7 +135,7 @@ public void CheckEmbeddedSupportLibraryResources () { var proj = new XamarinAndroidApplicationProject () { IsRelease = true, - Packages = { + PackageReferences = { KnownPackages.SupportMediaCompat_25_4_0_1, KnownPackages.SupportFragment_25_4_0_1, KnownPackages.SupportCoreUtils_25_4_0_1, @@ -284,10 +284,10 @@ public void Check9PatchFilesAreProcessed ([Values(false, true)] bool explicitCru proj.AndroidResources.Add (image1); } proj.References.Add (new BuildItem ("ProjectReference", "..\\Library1\\Library1.csproj")); - proj.Packages.Add (KnownPackages.AndroidSupportV4_21_0_3_0); - proj.Packages.Add (KnownPackages.SupportV7AppCompat_21_0_3_0); - proj.Packages.Add (KnownPackages.SupportV7MediaRouter_21_0_3_0); - proj.Packages.Add (KnownPackages.GooglePlayServices_22_0_0_2); + proj.PackageReferences.Add (KnownPackages.AndroidSupportV4_21_0_3_0); + proj.PackageReferences.Add (KnownPackages.SupportV7AppCompat_21_0_3_0); + proj.PackageReferences.Add (KnownPackages.SupportV7MediaRouter_21_0_3_0); + proj.PackageReferences.Add (KnownPackages.GooglePlayServices_22_0_0_2); proj.AndroidExplicitCrunch = explicitCrunch; proj.SetProperty ("TargetFrameworkVersion", "v5.0"); using (var b = CreateApkBuilder (Path.Combine (projectPath, "Application1"), false, false)) { @@ -425,9 +425,9 @@ protected override void OnClick() } }" }); - proj.Packages.Add (KnownPackages.AndroidSupportV4_22_1_1_1); - proj.Packages.Add (KnownPackages.SupportV7AppCompat_22_1_1_1); - proj.Packages.Add (KnownPackages.SupportV7Palette_22_1_1_1); + proj.PackageReferences.Add (KnownPackages.AndroidSupportV4_22_1_1_1); + proj.PackageReferences.Add (KnownPackages.SupportV7AppCompat_22_1_1_1); + proj.PackageReferences.Add (KnownPackages.SupportV7Palette_22_1_1_1); proj.SetProperty ("TargetFrameworkVersion", "v5.0"); proj.SetProperty (proj.DebugProperties, "JavaMaximumHeapSize", "1G"); proj.SetProperty (proj.ReleaseProperties, "JavaMaximumHeapSize", "1G"); @@ -617,8 +617,8 @@ public void TargetGenerateJavaDesignerForComponentIsSkipped ([Values(false, true var proj = new XamarinAndroidApplicationProject () { IsRelease = isRelease, }; - proj.Packages.Add (KnownPackages.AndroidSupportV4_21_0_3_0); - proj.Packages.Add (KnownPackages.SupportV7AppCompat_21_0_3_0); + proj.PackageReferences.Add (KnownPackages.AndroidSupportV4_21_0_3_0); + proj.PackageReferences.Add (KnownPackages.SupportV7AppCompat_21_0_3_0); proj.SetProperty ("TargetFrameworkVersion", "v5.0"); using (var b = CreateApkBuilder (Path.Combine ("temp", TestContext.CurrentContext.Test.Name))) { b.Verbosity = LoggerVerbosity.Diagnostic; @@ -983,7 +983,7 @@ public void CheckFilesAreRemoved () { ", } }, - Packages = { + PackageReferences = { new Package (KnownPackages.AndroidSupportV13_21_0_3_0, audoAddReferences:true), new Package (KnownPackages.AndroidSupportV4_21_0_3_0, audoAddReferences:true), new Package (KnownPackages.SupportV7AppCompat_21_0_3_0, audoAddReferences:true), @@ -1147,7 +1147,7 @@ public void BuildAppWithManagedResourceParserAndLibraries () References = { new BuildItem.ProjectReference (@"..\Lib1\Lib1.csproj", libProj.ProjectName, libProj.ProjectGuid), }, - Packages = { + PackageReferences = { KnownPackages.SupportMediaCompat_25_4_0_1, KnownPackages.SupportFragment_25_4_0_1, KnownPackages.SupportCoreUtils_25_4_0_1, @@ -1378,20 +1378,20 @@ public void CustomViewAddResourceId ([Values (false, true)] bool useAapt2) var proj = new XamarinAndroidApplicationProject (); proj.SetProperty ("AndroidUseAapt2", useAapt2.ToString ()); proj.LayoutMain = proj.LayoutMain.Replace ("", ""); - proj.Packages.Add (KnownPackages.Android_Arch_Core_Common_26_1_0); - proj.Packages.Add (KnownPackages.Android_Arch_Lifecycle_Common_26_1_0); - proj.Packages.Add (KnownPackages.Android_Arch_Lifecycle_Runtime_26_1_0); - proj.Packages.Add (KnownPackages.AndroidSupportV4_27_0_2_1); - proj.Packages.Add (KnownPackages.SupportCompat_27_0_2_1); - proj.Packages.Add (KnownPackages.SupportCoreUI_27_0_2_1); - proj.Packages.Add (KnownPackages.SupportCoreUtils_27_0_2_1); - proj.Packages.Add (KnownPackages.SupportDesign_27_0_2_1); - proj.Packages.Add (KnownPackages.SupportFragment_27_0_2_1); - proj.Packages.Add (KnownPackages.SupportMediaCompat_27_0_2_1); - proj.Packages.Add (KnownPackages.SupportV7AppCompat_27_0_2_1); - proj.Packages.Add (KnownPackages.SupportV7CardView_27_0_2_1); - proj.Packages.Add (KnownPackages.SupportV7MediaRouter_27_0_2_1); - proj.Packages.Add (KnownPackages.SupportV7RecyclerView_27_0_2_1); + proj.PackageReferences.Add (KnownPackages.Android_Arch_Core_Common_26_1_0); + proj.PackageReferences.Add (KnownPackages.Android_Arch_Lifecycle_Common_26_1_0); + proj.PackageReferences.Add (KnownPackages.Android_Arch_Lifecycle_Runtime_26_1_0); + proj.PackageReferences.Add (KnownPackages.AndroidSupportV4_27_0_2_1); + proj.PackageReferences.Add (KnownPackages.SupportCompat_27_0_2_1); + proj.PackageReferences.Add (KnownPackages.SupportCoreUI_27_0_2_1); + proj.PackageReferences.Add (KnownPackages.SupportCoreUtils_27_0_2_1); + proj.PackageReferences.Add (KnownPackages.SupportDesign_27_0_2_1); + proj.PackageReferences.Add (KnownPackages.SupportFragment_27_0_2_1); + proj.PackageReferences.Add (KnownPackages.SupportMediaCompat_27_0_2_1); + proj.PackageReferences.Add (KnownPackages.SupportV7AppCompat_27_0_2_1); + proj.PackageReferences.Add (KnownPackages.SupportV7CardView_27_0_2_1); + proj.PackageReferences.Add (KnownPackages.SupportV7MediaRouter_27_0_2_1); + proj.PackageReferences.Add (KnownPackages.SupportV7RecyclerView_27_0_2_1); using (var b = CreateApkBuilder (Path.Combine ("temp", TestName))) { Assert.IsTrue (b.Build (proj), "first build should have succeeded"); @@ -1415,30 +1415,31 @@ public void Issue2205 ([Values (false, true)] bool useAapt2) { var proj = new XamarinAndroidApplicationProject (); proj.SetProperty ("AndroidUseAapt2", useAapt2.ToString ()); - proj.Packages.Add (KnownPackages.Android_Arch_Core_Common_26_1_0); - proj.Packages.Add (KnownPackages.Android_Arch_Lifecycle_Common_26_1_0); - proj.Packages.Add (KnownPackages.Android_Arch_Lifecycle_Runtime_26_1_0); - proj.Packages.Add (KnownPackages.AndroidSupportV4_27_0_2_1); - proj.Packages.Add (KnownPackages.SupportCompat_27_0_2_1); - proj.Packages.Add (KnownPackages.SupportCoreUI_27_0_2_1); - proj.Packages.Add (KnownPackages.SupportCoreUtils_27_0_2_1); - proj.Packages.Add (KnownPackages.SupportDesign_27_0_2_1); - proj.Packages.Add (KnownPackages.SupportFragment_27_0_2_1); - proj.Packages.Add (KnownPackages.SupportMediaCompat_27_0_2_1); - proj.Packages.Add (KnownPackages.SupportV7AppCompat_27_0_2_1); - proj.Packages.Add (KnownPackages.SupportV7CardView_27_0_2_1); - proj.Packages.Add (KnownPackages.SupportV7MediaRouter_27_0_2_1); - proj.Packages.Add (KnownPackages.SupportV7RecyclerView_27_0_2_1); - proj.Packages.Add (KnownPackages.Xamarin_GooglePlayServices_Gcm); - proj.Packages.Add (KnownPackages.Xamarin_GooglePlayServices_Tasks); - proj.Packages.Add (KnownPackages.Xamarin_GooglePlayServices_Iid); - proj.Packages.Add (KnownPackages.Xamarin_GooglePlayServices_Basement); - proj.Packages.Add (KnownPackages.Xamarin_GooglePlayServices_Base); + proj.PackageReferences.Add (KnownPackages.Android_Arch_Core_Common_26_1_0); + proj.PackageReferences.Add (KnownPackages.Android_Arch_Lifecycle_Common_26_1_0); + proj.PackageReferences.Add (KnownPackages.Android_Arch_Lifecycle_Runtime_26_1_0); + proj.PackageReferences.Add (KnownPackages.AndroidSupportV4_27_0_2_1); + proj.PackageReferences.Add (KnownPackages.SupportCompat_27_0_2_1); + proj.PackageReferences.Add (KnownPackages.SupportCoreUI_27_0_2_1); + proj.PackageReferences.Add (KnownPackages.SupportCoreUtils_27_0_2_1); + proj.PackageReferences.Add (KnownPackages.SupportDesign_27_0_2_1); + proj.PackageReferences.Add (KnownPackages.SupportFragment_27_0_2_1); + proj.PackageReferences.Add (KnownPackages.SupportMediaCompat_27_0_2_1); + proj.PackageReferences.Add (KnownPackages.SupportV7AppCompat_27_0_2_1); + proj.PackageReferences.Add (KnownPackages.SupportV7CardView_27_0_2_1); + proj.PackageReferences.Add (KnownPackages.SupportV7MediaRouter_27_0_2_1); + proj.PackageReferences.Add (KnownPackages.SupportV7RecyclerView_27_0_2_1); + proj.PackageReferences.Add (KnownPackages.Xamarin_GooglePlayServices_Gcm); + proj.PackageReferences.Add (KnownPackages.Xamarin_GooglePlayServices_Tasks); + proj.PackageReferences.Add (KnownPackages.Xamarin_GooglePlayServices_Iid); + proj.PackageReferences.Add (KnownPackages.Xamarin_GooglePlayServices_Basement); + proj.PackageReferences.Add (KnownPackages.Xamarin_GooglePlayServices_Base); proj.OtherBuildItems.Add (new BuildItem ("GoogleServicesJson", "googleservices.json") { + Encoding = Encoding.ASCII, TextContent = () => @"{ ""project_info"": { ""project_number"": ""12351255213413432"", - ""project_id"": ""12341234-app"", + ""project_id"": ""12341234-app"" }, ""client"": [ { diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BindingBuildTest.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BindingBuildTest.cs index 3395f68e543..5d78312c17e 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BindingBuildTest.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BindingBuildTest.cs @@ -83,7 +83,7 @@ public void BuildAarBindigLibraryWithNuGetPackageOfJar (string classParser) UseLatestPlatformSdk = true, IsRelease = true, }; - proj.Packages.Add (KnownPackages.AndroidSupportV4_22_1_1_1); + proj.PackageReferences.Add (KnownPackages.AndroidSupportV4_22_1_1_1); proj.Jars.Add (new AndroidItem.LibraryProjectZip ("Jars\\android-crop-1.0.1.aar") { WebContent = "https://jcenter.bintray.com/com/soundcloud/android/android-crop/1.0.1/android-crop-1.0.1.aar" }); @@ -109,7 +109,7 @@ public void BuildLibraryZipBindigLibraryWithAarOfJar (string classParser) IsRelease = true, }; proj.AndroidClassParser = classParser; - proj.Packages.Add (KnownPackages.AndroidSupportV4_22_1_1_1); + proj.PackageReferences.Add (KnownPackages.AndroidSupportV4_22_1_1_1); proj.Jars.Add (new AndroidItem.LibraryProjectZip ("Jars\\aFileChooserBinaries.zip") { WebContentFileNameFromAzure = "aFileChooserBinaries.zip" }); @@ -384,7 +384,7 @@ public void RemoveEventHandlerResolution () Xamarin.ActionbarSherlockBinding.Views ", }; - binding.Packages.Add (KnownPackages.AndroidSupportV4_22_1_1_1); + binding.PackageReferences.Add (KnownPackages.AndroidSupportV4_22_1_1_1); using (var bindingBuilder = CreateDllBuilder (Path.Combine ("temp", "RemoveEventHandlerResolution", "Binding"))) { Assert.IsTrue (bindingBuilder.Build (binding), "binding build should have succeeded"); } diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BuildTest.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BuildTest.cs index 0778c1d382a..9ca26fbfbd6 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BuildTest.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BuildTest.cs @@ -1159,7 +1159,7 @@ public void AaptErrorWhenDuplicateStringEntry () var proj = new XamarinAndroidApplicationProject (); using (var b = CreateApkBuilder ("temp/BuildBasicApplicationAaptErrorWithDuplicateEntry")) { // Add a library project so that aapt gets multiple resource directory to include - proj.Packages.Add (KnownPackages.SupportV7CardView); + proj.PackageReferences.Add (KnownPackages.SupportV7CardView); proj.AndroidResources.Add (new AndroidItem.AndroidResource ("Resources\\values\\ExtraStrings.xml") { TextContent = () => @"NoneNone", }); @@ -1244,10 +1244,10 @@ public void XA5213IsRaisedWhenOutOfMemoryErrorIsThrown () + "\n}", Encoding = Encoding.ASCII }); - proj.Packages.Add (KnownPackages.AndroidSupportV4_21_0_3_0); - proj.Packages.Add (KnownPackages.SupportV7AppCompat_21_0_3_0); - proj.Packages.Add (KnownPackages.SupportV7MediaRouter_21_0_3_0); - proj.Packages.Add (KnownPackages.GooglePlayServices_22_0_0_2); + proj.PackageReferences.Add (KnownPackages.AndroidSupportV4_21_0_3_0); + proj.PackageReferences.Add (KnownPackages.SupportV7AppCompat_21_0_3_0); + proj.PackageReferences.Add (KnownPackages.SupportV7MediaRouter_21_0_3_0); + proj.PackageReferences.Add (KnownPackages.GooglePlayServices_22_0_0_2); proj.SetProperty ("TargetFrameworkVersion", "v5.0"); proj.SetProperty ("AndroidEnableMultiDex", "True"); proj.SetProperty (proj.DebugProperties, "JavaMaximumHeapSize", "64m"); @@ -1372,8 +1372,8 @@ public void CheckLintConfigMerging () public void BuildLibraryWhichUsesResources ([Values (false, true)] bool isRelease) { var proj = new XamarinAndroidLibraryProject () { IsRelease = isRelease }; - proj.Packages.Add (KnownPackages.AndroidSupportV4_22_1_1_1); - proj.Packages.Add (KnownPackages.SupportV7AppCompat_22_1_1_1); + proj.PackageReferences.Add (KnownPackages.AndroidSupportV4_22_1_1_1); + proj.PackageReferences.Add (KnownPackages.SupportV7AppCompat_22_1_1_1); proj.AndroidResources.Add (new AndroidItem.AndroidResource ("Resources\\values\\Styles.xml") { TextContent = () => @" @@ -1703,7 +1703,7 @@ public void BuildWithNativeLibraries ([Values (true, false)] bool isRelease) BinaryContent = () => new byte[10], }, }, - Packages = { + PackageReferences = { KnownPackages.Xamarin_Android_Support_v8_RenderScript_23_1_1_0, } }; @@ -1913,7 +1913,7 @@ public void ExtraAaptManifest () public void ResourceExtraction () { var proj = new XamarinAndroidApplicationProject () { - Packages = { + PackageReferences = { KnownPackages.AndroidSupportV4_23_1_1_0, KnownPackages.SupportV7AppCompat_23_1_1_0, }, @@ -2178,14 +2178,15 @@ public void BuildReleaseApplicationWithNugetPackages () { var proj = new XamarinAndroidApplicationProject () { IsRelease = true, - Packages = { + PackageReferences = { KnownPackages.AndroidSupportV4_21_0_3_0, }, }; using (var b = CreateApkBuilder (Path.Combine ("temp", TestContext.CurrentContext.Test.Name))) { Assert.IsTrue (b.Build (proj), "Build should have succeeded."); - DirectoryAssert.Exists (Path.Combine (Root, "temp","packages", "Xamarin.Android.Support.v4.21.0.3.0"), - "Nuget Package Xamarin.Android.Support.v4.21.0.3.0 should have been restored."); + var assets = b.Output.GetIntermediaryAsText (Path.Combine ("..", "project.assets.json")); + StringAssert.Contains ("Xamarin.Android.Support.v4", assets, + "Nuget Package Xamarin.Android.Support.v4.21.0.3.0 should have been restored."); } } @@ -2217,23 +2218,15 @@ public void BuildWithResolveAssembliesFailure ([Values (true, false)] bool usePa using (var libBuilder = CreateDllBuilder (Path.Combine (path, lib.ProjectName), false)) using (var appBuilder = CreateApkBuilder (Path.Combine (path, app.ProjectName))) { - if (usePackageReference) { - //NOTE: not working under xbuild - if (!libBuilder.RunningMSBuild) - Assert.Ignore ("This test requires MSBuild."); - - libBuilder.Target = "Restore"; - Assert.IsTrue (libBuilder.Build (lib), "Restore should have succeeded."); - libBuilder.Target = "Build"; - } + libBuilder.Target = "Restore"; + Assert.IsTrue (libBuilder.Build (lib), "Restore should have succeeded."); + libBuilder.Target = "Build"; Assert.IsTrue (libBuilder.Build (lib), "Build should have succeeded."); appBuilder.ThrowOnBuildFailure = false; Assert.IsFalse (appBuilder.Build (app), "Build should have failed."); const string error = "error XA2002: Can not resolve reference:"; - - //NOTE: we get a different message when using due to automatically getting the Microsoft.Azure.Amqp (and many other) transient dependencies if (usePackageReference) { Assert.IsTrue (appBuilder.LastBuildOutput.ContainsText ($"{error} `Microsoft.Azure.EventHubs`, referenced by `MyLibrary`. Please add a NuGet package or assembly reference for `Microsoft.Azure.EventHubs`, or remove the reference to `MyLibrary`."), $"Should recieve '{error}' regarding `Microsoft.Azure.EventHubs`!"); @@ -2241,7 +2234,6 @@ public void BuildWithResolveAssembliesFailure ([Values (true, false)] bool usePa Assert.IsTrue (appBuilder.LastBuildOutput.ContainsText ($"{error} `Microsoft.Azure.Amqp`, referenced by `MyLibrary` > `Microsoft.Azure.EventHubs`. Please add a NuGet package or assembly reference for `Microsoft.Azure.Amqp`, or remove the reference to `MyLibrary`."), $"Should recieve '{error}' regarding `Microsoft.Azure.Amqp`!"); } - //Now add the PackageReference to the app to see a different error message if (usePackageReference) { app.PackageReferences.Add (KnownPackages.Microsoft_Azure_EventHubs); @@ -2312,7 +2304,7 @@ public void BuildAfterAddingNuget () Assert.IsTrue (b.Build (proj), "first build should have succeeded."); string build_props = b.Output.GetIntermediaryPath ("build.props"); FileAssert.Exists (build_props, "build.props should exist after first build."); - proj.Packages.Add (KnownPackages.SupportV7CardView_24_2_1); + proj.PackageReferences.Add (KnownPackages.SupportV7CardView_24_2_1); foreach (var reference in KnownPackages.SupportV7CardView_24_2_1.References) { reference.Timestamp = DateTimeOffset.Now; proj.References.Add (reference); @@ -2613,7 +2605,7 @@ public void ResolveLibraryImportsWithReadonlyFiles () { //NOTE: doesn't need to be a full Android Wear app var proj = new XamarinAndroidApplicationProject { - Packages = { + PackageReferences = { KnownPackages.AndroidWear_2_2_0, KnownPackages.Android_Arch_Core_Common_26_1_0, KnownPackages.Android_Arch_Lifecycle_Common_26_1_0, @@ -2844,35 +2836,35 @@ public void ValidateUseLatestAndroid () // Output Property: TargetFrameworkVersion=v8.0 // ValidateJavaVersion and ResolveAndroidTooling take input, ResolveAndroidTooling has final output - Assert.IsTrue (builder.LastBuildOutput.ContainsOccurances ("Task Parameter:TargetFrameworkVersion=v8.0", 2), "TargetFrameworkVersion should initially be v8.0"); - Assert.IsTrue (builder.LastBuildOutput.ContainsOccurances ("Output Property: TargetFrameworkVersion=v8.0", 1), "TargetFrameworkVersion should be v8.0"); + Assert.IsTrue (builder.LastBuildOutput.ContainsOccurances ("Task Parameter:TargetFrameworkVersion=v8.0", 4), "TargetFrameworkVersion should initially be v8.0"); + Assert.IsTrue (builder.LastBuildOutput.ContainsOccurances ("Output Property: TargetFrameworkVersion=v8.0", 2), "TargetFrameworkVersion should be v8.0"); proj.TargetFrameworkVersion = "v8.0"; Assert.True (builder.Build (proj, parameters: parameters, environmentVariables: envVar), string.Format ("Second Build should have succeeded")); - Assert.IsTrue (builder.LastBuildOutput.ContainsOccurances ("Task Parameter:TargetFrameworkVersion=v8.0", 2), "TargetFrameworkVersion should initially be v8.0"); - Assert.IsTrue (builder.LastBuildOutput.ContainsOccurances ("Output Property: TargetFrameworkVersion=v8.0", 1), "TargetFrameworkVersion should be v8.0"); + Assert.IsTrue (builder.LastBuildOutput.ContainsOccurances ("Task Parameter:TargetFrameworkVersion=v8.0", 4), "TargetFrameworkVersion should initially be v8.0"); + Assert.IsTrue (builder.LastBuildOutput.ContainsOccurances ("Output Property: TargetFrameworkVersion=v8.0", 2), "TargetFrameworkVersion should be v8.0"); proj.UseLatestPlatformSdk = true; proj.TargetFrameworkVersion = "v8.1"; Assert.True (builder.Build (proj, parameters: parameters, environmentVariables: envVar), string.Format ("Third Build should have succeeded")); - Assert.IsTrue (builder.LastBuildOutput.ContainsOccurances ("Task Parameter:TargetFrameworkVersion=v8.1", 2), "TargetFrameworkVersion should initially be v8.1"); - Assert.IsTrue (builder.LastBuildOutput.ContainsOccurances ("Output Property: TargetFrameworkVersion=v8.1", 1), "TargetFrameworkVersion should be v8.1"); + Assert.IsTrue (builder.LastBuildOutput.ContainsOccurances ("Task Parameter:TargetFrameworkVersion=v8.1", 4), "TargetFrameworkVersion should initially be v8.1"); + Assert.IsTrue (builder.LastBuildOutput.ContainsOccurances ("Output Property: TargetFrameworkVersion=v8.1", 2), "TargetFrameworkVersion should be v8.1"); proj.UseLatestPlatformSdk = true; proj.TargetFrameworkVersion = "v8.99"; Assert.True (builder.Build (proj, parameters: parameters, environmentVariables: envVar), string.Format ("Third Build should have succeeded")); - Assert.IsTrue (builder.LastBuildOutput.ContainsOccurances ("Task Parameter:TargetFrameworkVersion=v8.99", 2), "TargetFrameworkVersion should initially be v8.99"); - Assert.IsTrue (builder.LastBuildOutput.ContainsOccurances ("Output Property: TargetFrameworkVersion=v8.99", 1), "TargetFrameworkVersion should be v8.99"); + Assert.IsTrue (builder.LastBuildOutput.ContainsOccurances ("Task Parameter:TargetFrameworkVersion=v8.99", 4), "TargetFrameworkVersion should initially be v8.99"); + Assert.IsTrue (builder.LastBuildOutput.ContainsOccurances ("Output Property: TargetFrameworkVersion=v8.99", 2), "TargetFrameworkVersion should be v8.99"); proj.UseLatestPlatformSdk = true; proj.TargetFrameworkVersion = "v6.0"; Assert.True (builder.Build (proj, parameters: parameters, environmentVariables: envVar), string.Format ("Forth Build should have succeeded")); - Assert.IsTrue (builder.LastBuildOutput.ContainsOccurances ("Task Parameter:TargetFrameworkVersion=v6.0", 2), "TargetFrameworkVersion should initially be v6.0"); - Assert.IsTrue (builder.LastBuildOutput.ContainsOccurances ("Output Property: TargetFrameworkVersion=v8.1", 1), "TargetFrameworkVersion should be v8.1"); + Assert.IsTrue (builder.LastBuildOutput.ContainsOccurances ("Task Parameter:TargetFrameworkVersion=v6.0", 4), "TargetFrameworkVersion should initially be v6.0"); + Assert.IsTrue (builder.LastBuildOutput.ContainsOccurances ("Output Property: TargetFrameworkVersion=v8.1", 2), "TargetFrameworkVersion should be v8.1"); } Directory.Delete (referencesPath, recursive: true); } @@ -2892,7 +2884,7 @@ public void BuildAMassiveApp() ProjectName = "App1", AotAssemblies = true, IsRelease = true, - Packages = { + PackageReferences = { KnownPackages.AndroidSupportV4_21_0_3_0, KnownPackages.GooglePlayServices_22_0_0_2, }, diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/IncrementalBuildTest.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/IncrementalBuildTest.cs index 3248e4bd1a3..15be953a2ce 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/IncrementalBuildTest.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/IncrementalBuildTest.cs @@ -339,10 +339,10 @@ public void AppProjectTargetsDoNotBreak () var intermediate = Path.Combine (Root, b.ProjectDirectory, proj.IntermediateOutputPath); var filesToTouch = new [] { + Path.Combine (intermediate, "..", "project.assets.json"), Path.Combine (intermediate, "build.props"), Path.Combine (intermediate, proj.ProjectName + ".dll"), Path.Combine (intermediate, "android", "assets", proj.ProjectName + ".dll"), - Path.Combine (Root, b.ProjectDirectory, "packages.config"), }; foreach (var file in filesToTouch) { FileAssert.Exists (file); diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/ManifestTest.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/ManifestTest.cs index 46a914329cb..17918fcdfa6 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/ManifestTest.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/ManifestTest.cs @@ -533,7 +533,7 @@ public void MergeLibraryManifest () References = { new BuildItem.ProjectReference ("..\\Binding1\\Binding1.csproj", lib.ProjectGuid) }, - Packages = { + PackageReferences = { KnownPackages.SupportMediaCompat_25_4_0_1, KnownPackages.SupportFragment_25_4_0_1, KnownPackages.SupportCoreUtils_25_4_0_1, diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/PackagingTest.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/PackagingTest.cs index 3d36fd64679..873884083f0 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/PackagingTest.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/PackagingTest.cs @@ -100,7 +100,7 @@ public void CheckIncludedAssemblies () { var proj = new XamarinAndroidApplicationProject () { IsRelease = true, - Packages = { + PackageReferences = { new Package () { Id = "System.Runtime.InteropServices.WindowsRuntime", Version = "4.0.1", @@ -174,7 +174,7 @@ public void CheckIncludedNativeLibraries ([Values (true, false)] bool compressNa var proj = new XamarinAndroidApplicationProject () { IsRelease = true, }; - proj.Packages.Add(KnownPackages.SQLitePCLRaw_Core); + proj.PackageReferences.Add(KnownPackages.SQLitePCLRaw_Core); proj.SetProperty(proj.ReleaseProperties, KnownProperties.AndroidSupportedAbis, "x86"); proj.SetProperty (proj.ReleaseProperties, "AndroidStoreUncompressedFileExtensions", compressNativeLibraries ? "" : ".so"); using (var b = CreateApkBuilder (Path.Combine ("temp", TestContext.CurrentContext.Test.Name))) { diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Android/KnownPackages.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Android/KnownPackages.cs index 2c94eb71d7e..c915e98e9f2 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Android/KnownPackages.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Android/KnownPackages.cs @@ -525,11 +525,11 @@ public static class KnownPackages }; public static Package Xamarin_Android_FSharp_ResourceProvider_Runtime = new Package { Id = "Xamarin.Android.FSharp.ResourceProvider", - Version = "1.0.0.13", + Version = "1.0.0.28", TargetFramework = "monoandroid71", References = { new BuildItem.Reference ("Xamarin.Android.FSharp.ResourceProvider.Runtime") { - MetadataValues = "HintPath=..\\packages\\Xamarin.Android.FSharp.ResourceProvider.1.0.0.13\\lib\\Xamarin.Android.FSharp.ResourceProvider.Runtime.dll" + MetadataValues = "HintPath=..\\packages\\Xamarin.Android.FSharp.ResourceProvider.1.0.0.28\\lib\\Xamarin.Android.FSharp.ResourceProvider.Runtime.dll" }, } }; diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Android/XamarinAndroidCommonProject.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Android/XamarinAndroidCommonProject.cs index f41121de83f..78272480cd6 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Android/XamarinAndroidCommonProject.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Android/XamarinAndroidCommonProject.cs @@ -89,8 +89,8 @@ public override ProjectLanguage Language { base.Language = value; if (value == XamarinAndroidProjectLanguage.FSharp) { // add the stuff needed for FSharp - Packages.Add (KnownPackages.FSharp_Core_Latest); - Packages.Add (KnownPackages.Xamarin_Android_FSharp_ResourceProvider_Runtime); + PackageReferences.Add (KnownPackages.FSharp_Core_Latest); + PackageReferences.Add (KnownPackages.Xamarin_Android_FSharp_ResourceProvider_Runtime); Sources.Remove (resourceDesigner); OtherBuildItems.Add (new BuildItem.NoActionResource (() => "Resources\\Resource.designer" + Language.DefaultDesignerExtension) { TextContent = () => string.Empty }); } diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Android/XamarinAndroidWearApplicationProject.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Android/XamarinAndroidWearApplicationProject.cs index ca70f9df536..c44cf1a118d 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Android/XamarinAndroidWearApplicationProject.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Android/XamarinAndroidWearApplicationProject.cs @@ -29,8 +29,8 @@ public XamarinAndroidWearApplicationProject (string debugConfigurationName = "De { TargetFrameworkVersion = Versions.KitkatWatch; UseLatestPlatformSdk = false; - Packages.Add (KnownPackages.AndroidSupportV13Kitkat); - Packages.Add (KnownPackages.AndroidWear); + PackageReferences.Add (KnownPackages.AndroidSupportV13Kitkat); + PackageReferences.Add (KnownPackages.AndroidWear); MainActivity = default_main_activity; StringsXml = default_strings_xml; diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Android/XamarinFormsAndroidApplicationProject.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Android/XamarinFormsAndroidApplicationProject.cs index fe6b9072d6f..222220198a5 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Android/XamarinFormsAndroidApplicationProject.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Android/XamarinFormsAndroidApplicationProject.cs @@ -41,22 +41,22 @@ public XamarinFormsAndroidApplicationProject (string debugConfigurationName = "D : base (debugConfigurationName, releaseConfigurationName) { var forms = KnownPackages.XamarinForms_3_1_0_697729; - Packages.Add (forms); - Packages.Add (KnownPackages.Android_Arch_Core_Common_26_1_0); - Packages.Add (KnownPackages.Android_Arch_Lifecycle_Common_26_1_0); - Packages.Add (KnownPackages.Android_Arch_Lifecycle_Runtime_26_1_0); - Packages.Add (KnownPackages.AndroidSupportV4_27_0_2_1); - Packages.Add (KnownPackages.SupportCompat_27_0_2_1); - Packages.Add (KnownPackages.SupportCoreUI_27_0_2_1); - Packages.Add (KnownPackages.SupportCoreUtils_27_0_2_1); - Packages.Add (KnownPackages.SupportDesign_27_0_2_1); - Packages.Add (KnownPackages.SupportFragment_27_0_2_1); - Packages.Add (KnownPackages.SupportMediaCompat_27_0_2_1); - Packages.Add (KnownPackages.SupportV7AppCompat_27_0_2_1); - Packages.Add (KnownPackages.SupportV7CardView_27_0_2_1); - Packages.Add (KnownPackages.SupportV7MediaRouter_27_0_2_1); - Packages.Add (KnownPackages.SupportV7RecyclerView_27_0_2_1); - Packages.Add (KnownPackages.VectorDrawable_27_0_2_1); + PackageReferences.Add (forms); + PackageReferences.Add (KnownPackages.Android_Arch_Core_Common_26_1_0); + PackageReferences.Add (KnownPackages.Android_Arch_Lifecycle_Common_26_1_0); + PackageReferences.Add (KnownPackages.Android_Arch_Lifecycle_Runtime_26_1_0); + PackageReferences.Add (KnownPackages.AndroidSupportV4_27_0_2_1); + PackageReferences.Add (KnownPackages.SupportCompat_27_0_2_1); + PackageReferences.Add (KnownPackages.SupportCoreUI_27_0_2_1); + PackageReferences.Add (KnownPackages.SupportCoreUtils_27_0_2_1); + PackageReferences.Add (KnownPackages.SupportDesign_27_0_2_1); + PackageReferences.Add (KnownPackages.SupportFragment_27_0_2_1); + PackageReferences.Add (KnownPackages.SupportMediaCompat_27_0_2_1); + PackageReferences.Add (KnownPackages.SupportV7AppCompat_27_0_2_1); + PackageReferences.Add (KnownPackages.SupportV7CardView_27_0_2_1); + PackageReferences.Add (KnownPackages.SupportV7MediaRouter_27_0_2_1); + PackageReferences.Add (KnownPackages.SupportV7RecyclerView_27_0_2_1); + PackageReferences.Add (KnownPackages.VectorDrawable_27_0_2_1); AndroidResources.Add (new AndroidItem.AndroidResource ("Resources\\values\\colors.xml") { TextContent = () => colors_xml, @@ -82,7 +82,6 @@ public XamarinFormsAndroidApplicationProject (string debugConfigurationName = "D Sources.Add (new BuildItem.Source ("App.xaml.cs") { TextContent = () => ProcessSourceTemplate (App_xaml_cs), }); - Imports.Add (new Import ($@"..\packages\{forms.Id}.{forms.Version}\build\netstandard2.0\Xamarin.Forms.targets")); MainActivity = default_main_activity_cs; } diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Common/Builder.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Common/Builder.cs index 6e7f3eb9613..ea464e7af4a 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Common/Builder.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Common/Builder.cs @@ -287,7 +287,7 @@ protected bool BuildInternal (string projectOrSolution, string target, string [] var start = DateTime.UtcNow; var args = new StringBuilder (); var psi = new ProcessStartInfo (XABuildExe); - args.AppendFormat ("{0} /t:{1} {2}", + args.AppendFormat ("{0} /t:{1} /restore {2}", QuoteFileName(Path.Combine (XABuildPaths.TestOutputDirectory, projectOrSolution)), target, logger); if (RunningMSBuild) args.Append (" /p:BuildingOutOfProcess=true"); diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Common/ProjectBuilder.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Common/ProjectBuilder.cs index 3a270137abb..c70892a8bb8 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Common/ProjectBuilder.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Common/ProjectBuilder.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.IO; +using System.Linq; using System.Diagnostics; using Microsoft.Build.Framework; @@ -61,7 +62,7 @@ public bool Build (XamarinProject project, bool doNotCleanupOnUpdate = false, st Save (project, doNotCleanupOnUpdate, saveProject); Output = project.CreateBuildOutput (this); - + project.NuGetRestore (Path.Combine (XABuildPaths.TestOutputDirectory, ProjectDirectory), PackagesDirectory); bool result = BuildInternal (Path.Combine (ProjectDirectory, project.ProjectFilePath), Target, parameters, environmentVariables); @@ -73,6 +74,17 @@ public bool Build (XamarinProject project, bool doNotCleanupOnUpdate = false, st return result; } + public bool Restore (XamarinProject project, bool doNotCleanupOnUpdate = false) + { + var oldTarget = Target; + Target = "Restore"; + try { + return Build (project, doNotCleanupOnUpdate); + } finally { + Target = oldTarget; + } + } + public bool Clean (XamarinProject project, bool doNotCleanupOnUpdate = false) { var oldTarget = Target;