示例#1
0
文件: Program.cs 项目: simoneb/Pencil
        public int Run(IPencilOptions options)
        {
            if(!options.NoLogo)
                ShowLogo();

            if(options.Help)
            {
                options.Display(logger);
                return Success;
            }

            if(string.IsNullOrEmpty(options.BuildScript))
            {
                options.Display(logger);
                return Success;
            }

            var project = compiler.Compile(options.BuildScript);

            if(options.ShowTargets)
            {
                project.DisplayTargets(logger);
                return Success;
            }

            return Run(options, project);
        }
示例#2
0
文件: Program.cs 项目: simoneb/Pencil
        private int Run(IPencilOptions options, IProject project)
        {
            var fileSystem = LocalFileSystem.Instance;
            var platform = new ExecutionEnvironment(logger);

            project.Register(fileSystem);
            project.Register<IExecutionEnvironment>(platform);

            ProjectContext.FileSystem = fileSystem;
            ProjectContext.ExecutionEnvironment = platform;

            var buildFilePath = fileSystem.GetFile(options.BuildScript).Parent.Path.ToString();

            using (Pushd(buildFilePath, platform))
                return Run(options.Targets, project);
        }