public override void Run(IEnumerable <string> args) { string[] a = args.ToArray(); string root = a.Length > 1 ? Path.GetFullPath(a[1]) : Directory.GetCurrentDirectory(); RestoreOptions options = new RestoreOptions(); ArgumentSyntaxParser.Parse(a.Skip(1).ToArray(), options); ProjectCleanSubSystem.Clean(root); Restore(root, options.Origin); }
public static void Pack(string projectRoot, PackOptions options) { string src = Path.Combine(Path.GetFullPath(projectRoot), "project.json"); ProjectCleanSubSystem.Clean(Path.GetDirectoryName(src)); Logger.LogMessage(LoggerSystems.ModuleSystem, "Packing '{0}'", src); string outDir = Path.Combine(Path.GetDirectoryName(src), "build"); ProjectConfig t = ProjectConfig.Load(src); Version v = Version.Parse(t.ProjectVersion); t.ProjectVersion = ChangeVersion(v, options.VersionString).ToString(); ProjectConfig.Save(src, t); string temp = Path.Combine( Path.GetDirectoryName(Directory.GetCurrentDirectory()), "temp_" + t.ProjectName ); Directory.CreateDirectory(temp); CopyTo(Path.GetDirectoryName(src), temp); foreach (ProjectDependency moduleDependency in t.Dependencies) { string p = Path.Combine(temp, moduleDependency.ProjectName); if (Directory.Exists(p)) { Directory.Delete(p, true); } } Directory.CreateDirectory(outDir); ZipFile.CreateFromDirectory(temp, Path.Combine(outDir, "module.zip")); Directory.Delete(temp, true); ProjectConfig.Save(Path.Combine(outDir, "module.json"), t); }