예제 #1
0
 public VersionConfig(string folder, AppConfig parent, YamlMappingNode yaml)
 {
     InputFolders    = yaml.Go("version folders").ToList(x => Util.FilePath(folder, x));
     GitRepo         = new GitRepo(Util.FilePath(folder, yaml["repo"]), parent.GitInstallationPath);
     VersionFacts    = CreateVersionFacts(yaml["version facts"] as YamlMappingNode);
     NbtTranslations = yaml.Go("nbt translations").ToList(x => new NbtTranslationOptions((YamlMappingNode)x)) ?? new List <NbtTranslationOptions>();
 }
 public ReleaseBranch(VersionFacts facts, string name, IEnumerable <Version> versions)
 {
     Name        = name;
     VersionList = versions.Select(x => new VersionNode(x, name)).OrderBy(x => x.Version, facts).ToList();
     for (int i = 0; i < VersionList.Count - 1; i++)
     {
         if (facts.Compare(VersionList[i].Version, VersionList[i + 1].Version) == 0)
         {
             throw new ArgumentException($"Can't disambiguate order of {VersionList[i].Version} and {VersionList[i + 1].Version}");
         }
     }
     for (int i = VersionList.Count - 1; i >= 1; i--)
     {
         VersionList[i].SetParent(VersionList[i - 1]);
     }
 }
 public BranchSorter(VersionFacts facts)
 {
     Facts = facts;
 }