public void Test_Get_Project_Asset_Nugets() { var path = Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase, "TestData"); var packageVersions = new Dictionary <string, string>(); NugetPackages.GatherProjectJsonVersions( VerifyVersionsTask.AndroidXPackagePrefix, path, VerifyVersionsTask.ExcludedAndroidXPackages, new Version(8, 1), packageVersions); Assert.NotEmpty(packageVersions); }
public void Test_Should_Detect_Multiple_Versions_Project_Assets() { var path = Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase, "TestData"); var packageVersions = new Dictionary <string, string>(); NugetPackages.GatherProjectJsonVersions( VerifyVersionsTask.PACKAGE_ID_PREFIX, path, VerifyVersionsTask.ExcludedPackages, new Version(8, 1), packageVersions); Assert.NotEmpty(packageVersions); var distinctVersions = NugetPackages.GetDistinctVersions(VerifyVersionsTask.PACKAGE_ID_PREFIX, VerifyVersionsTask.ExcludedPackages, packageVersions); Assert.True(distinctVersions > 1); }
public override bool Execute() { Log.LogMessage("ProjectPath: {0}", ProjectPath.ItemSpec); Log.LogMessage("ProjectExtensionsPath: {0}", ProjectExtensionsPath.ItemSpec); Log.LogMessage("TargetFrameworkVersion: {0}", TargetFrameworkVersion.ItemSpec); var frameworkVersion = Version.Parse(TargetFrameworkVersion.ItemSpec.ToLowerInvariant().TrimStart('v')); var apiLevel = NugetPackages.GetMajorVersion(TargetApiLevel.ItemSpec); var buildToolsApiLevel = NugetPackages.GetMajorVersion(AndroidSdkBuildToolsVersion.ItemSpec); Log.LogMessage("TargetApiLevel: {0}", apiLevel); Log.LogMessage("FrameworkVersion: {0}", frameworkVersion); Log.LogMessage("AndroidSdkBuildToolsApiLevel: {0}", buildToolsApiLevel); if (File.Exists(Path.Combine(ProjectPath.ItemSpec, "packages.config"))) { Log.LogMessage("PackageReferenceType: packages.config"); NugetPackages.GatherPackagesConfigVersions("xamarin.androidx.", ProjectPath.ItemSpec, ExcludedAndroidXPackages, androidxPackages); NugetPackages.GatherPackagesConfigVersions("xamarin.android.support.", ProjectPath.ItemSpec, ExcludedAndroidSupportPackages, androidSupportPackages); } else { Log.LogMessage("PackageReferenceType: PackageReference"); NugetPackages.GatherProjectJsonVersions("xamarin.androidx.", ProjectExtensionsPath.ItemSpec, ExcludedAndroidXPackages, frameworkVersion, androidxPackages, Log); NugetPackages.GatherProjectJsonVersions("xamarin.android.support.", ProjectExtensionsPath.ItemSpec, ExcludedAndroidSupportPackages, frameworkVersion, androidSupportPackages, Log); } foreach (var pair in androidxPackages) { Log.LogMessage("Referenced AndroidX Package: {0} ({1})", pair.Key, pair.Value); } /* * In the future we may add some logic to detect if certain Android Support packages * are referenced in the project but their equivalent AndroidX packages are not */ return(true); }