public void ParseDefaultLegacyPacakgesConfigInFSharpTemplatesSucceeds() { var packagesConfig = @" <?xml version=""1.0"" encoding=""utf-8""?> <packages> <package id=""FSharp.Core"" version=""4.6.2"" targetFramework=""net472"" /> <package id=""System.ValueTuple"" version=""4.4.0"" targetFramework=""net472"" /> </packages> "; var doc = XDocument.Parse(packagesConfig.Trim()); var packages = PackagesConfigParser.ParseDocument(doc); Assert.True(packages.Count() == 2); var fsharpCore = packages.First(); var svt = packages.Skip(1).Single(); Assert.Equal("FSharp.Core", fsharpCore.ID); Assert.Equal("4.6.2", fsharpCore.Version); Assert.Equal("net472", fsharpCore.TargetFramework); Assert.False(fsharpCore.DevelopmentDependency); Assert.True(string.IsNullOrWhiteSpace(fsharpCore.AllowedVersions)); Assert.Equal("System.ValueTuple", svt.ID); Assert.Equal("4.4.0", svt.Version); Assert.Equal("net472", svt.TargetFramework); Assert.False(svt.DevelopmentDependency); Assert.True(string.IsNullOrWhiteSpace(svt.AllowedVersions)); }
public void ParseNoPackagesNodeFails() { var packagesConfig = @" <?xml version=""1.0"" encoding=""utf-8""?> <doot>toot</doot> "; var doc = XDocument.Parse(packagesConfig.Trim()); Assert.Throws <PackagesConfigHasNoPackagesException>(() => PackagesConfigParser.ParseDocument(doc)); }
public void ParseNoValidVersionFails() { var packagesConfig = @" <?xml version=""1.0"" encoding=""utf-8""?> <packages> <package id=""FSharp.Core"" version="""" targetFramework=""net472"" /> <package id=""System.ValueTuple"" version=""4.4.0"" targetFramework=""net472"" /> </packages> "; var doc = XDocument.Parse(packagesConfig.Trim()); Assert.Throws <PackagesConfigHasInvalidPackageNodesException>(() => PackagesConfigParser.ParseDocument(doc)); }
private static void GatherPackagesFromPackagesConfig(BuildContext context) { var packagesConfigParser = new PackagesConfigParser(context); var packagesConfigFilePaths = context.GetFiles("./**/packages.config"); foreach (var packagesConfigFilePath in packagesConfigFilePaths) { context.Log.Information( @"Packages.config file: Path: {0}", packagesConfigFilePath.FullPath ); var parsePackageConfig = packagesConfigParser.ParsePackagesConfig(packagesConfigFilePath); context.AllPackageReferences.AddRange(parsePackageConfig.Select(x => x.Include)); } }