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; }