public void Match3Test() { VersionPattern vp = new VersionPattern("2.3.1.4"); Assert.IsFalse(vp.Matches(new Version("2.3"))); Assert.IsFalse(vp.Matches(new Version("2.3.1"))); Assert.IsTrue(vp.Matches(new Version("2.3.1.4"))); }
public static IEnumerable <string> Find(string addinsBaseDir) { return(Directory .EnumerateDirectories(addinsBaseDir, "Cake.Tasks.*", SearchOption.TopDirectoryOnly) .Select(dir => { Match versionMatch = VersionPattern.Match(dir); return (path: dir, name: dir.Substring(0, versionMatch.Index - 1), version: SemVersion.Parse(versionMatch.Value)); }) .ToLookup(addin => addin.name) .Select(addinSet => addinSet.OrderByDescending(addin => addin.version).First().path)); }
public Version[] GetVersions(UnresolvedPackage package, VersionPattern pattern) { Version[] all = _versions[package.PackageId]; List <Version> matching = new List <Version>(); foreach (Version v in all) { if (pattern.Matches(v)) { matching.Add(v); } } return(matching.ToArray()); }
public void LoadVersionPattern_VersionPatternLoaded() { var pattern = new VersionPattern(Constants.VersionPatternString); Assert.AreEqual(pattern.Major.ToString(), "1"); Assert.AreEqual(pattern.Major.Type, VersionPatternElementType.Literal); Assert.AreEqual(pattern.Major.Part, "1"); Assert.AreEqual(pattern.Minor.ToString(), AssemblyPatcher.Constants.PassThroughVersionPartGenerationToken); Assert.AreEqual(pattern.Minor.Type, VersionPatternElementType.Token); Assert.AreEqual(pattern.Minor.Part, AssemblyPatcher.Constants.PassThroughVersionPartGenerationToken); Assert.AreEqual(pattern.Build.ToString(), AssemblyPatcher.Constants.IncrementingVersionPartGeneratorToken); Assert.AreEqual(pattern.Build.Type, VersionPatternElementType.Token); Assert.AreEqual(pattern.Build.Part, AssemblyPatcher.Constants.IncrementingVersionPartGeneratorToken); Assert.AreEqual(pattern.Revision.ToString(), Constants.TestVersionPartGeneratorToken); Assert.AreEqual(pattern.Revision.Type, VersionPatternElementType.Token); Assert.AreEqual(pattern.Revision.Part, Constants.TestVersionPartGeneratorToken); }
public static TsVersionSigned?TryParse(string version, string platform, string sign) { var match = VersionPattern.Match(version); if (!match.Success) { return(null); } if (!ulong.TryParse(match.Groups[2].Value, out var build)) { return(null); } var prelim = new TsVersionSigned(version, platform, build, sign); if (!prelim.CheckValid()) { return(null); } return(prelim); }
public void ValidConstructorTest() { VersionPattern p1 = new VersionPattern("11.1.1.*"); VersionPattern p2 = new VersionPattern("12.4.*"); }