Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }