예제 #1
0
        public override void Run(IEnumerable <string> args)
        {
            string[] a = args.ToArray();
            ArgumentSyntaxParser.Parse(a, Logger.s_Settings);
            ProjectResolver.Initialize();
            CommonFiles.GenerateCommonFiles();

            string root = a.Length != 0
                              ? Path.GetFullPath(a[0])
                              : Directory.GetCurrentDirectory();

            string src = Path.Combine(root, "project.json");

            Logger.LogMessage(LoggerSystems.Console, "File: {0}", src);

            ProjectConfig.AddRunner(new BuildJobBuild());
            ProjectConfig.AddRunner(new BuildJobClean());
            ProjectConfig.AddRunner(new BuildJobPublish());
            ProjectConfig.AddRunner(new BuildJobRestore());
            ProjectConfig.AddRunner(new BuildJobExternalBuild());
            ProjectConfig.AddRunner(new BuildJobCombinedJobs());
            ProjectConfig.AddRunner(new BuildJobMoveContent());
            ProjectConfig.AddRunner(new BuildJobCopyContent());
            ProjectConfig.AddRunner(new BuildJobRunJob());
            ProjectConfig.AddRunner(new BuildJobGetDependency());
            ProjectConfig.AddRunner(new BuildJobAddOrigin());
            ProjectConfig.AddRunner(new BuildJobRemoveOrigin());
            ProjectConfig.AddRunner(new BuildJobMergedJobs());
            ProjectConfig.AddRunner(new BuildJobMakeHeader());

            ProjectConfig config = ProjectConfig.Load(src);

            string target = config.DefaultTarget;

            if (a.Length > 1)
            {
                target = a[1];
            }

            config.RunTarget(root, target);
        }