ln.build/ln.build/semver/provider/DotNetProvider.cs

34 lines
953 B
C#

using System;
using System.Xml;
using ln.build.semver;
namespace ln.build.semver.provider
{
public class DotNetProvider : Provider
{
public DotNetProvider(): base("dotnet")
{}
public override SemVersion GetVersion(string source)
{
XmlDocument projectFile = new XmlDocument();
projectFile.Load(source);
XmlNode nodeVersion = projectFile.SelectSingleNode("Project/PropertyGroup/Version");
return SemVersion.Parse(nodeVersion.InnerText);
}
public override void SetVersion(string source, SemVersion version)
{
XmlDocument projectFile = new XmlDocument();
projectFile.Load(source);
XmlNode nodeVersion = projectFile.SelectSingleNode("Project/PropertyGroup/Version");
nodeVersion.InnerText = version.ToString();
projectFile.Save(source);
}
}
}