Ejemplo n.º 1
0
        private BuildProcessor GenerateProcessor(ProcessCondition processCondition)
        {
            switch (processCondition.Language)
            {
            case SupportedLanguage.CPP:
                return(new CPPBuildProcessor(processCondition.WorkingDirPath));

            case SupportedLanguage.C:
                return(new CBuildProcessor(processCondition.WorkingDirPath));

            case SupportedLanguage.Java:
                return(new JavaBuildProcessor(processCondition.WorkingDirPath));

            case SupportedLanguage.Delphi:
                return(new PascalBuildProcessor(processCondition.WorkingDirPath, PascalBuildProcessor.PascalCompiler.Delphi));

            case SupportedLanguage.ObjPascal:
                return(new PascalBuildProcessor(processCondition.WorkingDirPath, PascalBuildProcessor.PascalCompiler.ObjPascal));

            case SupportedLanguage.FreePascal:
                return(new PascalBuildProcessor(processCondition.WorkingDirPath, PascalBuildProcessor.PascalCompiler.FreePascal));

            case SupportedLanguage.CSharp:
                return(new CSharpBuildProcessor(processCondition.WorkingDirPath));

            default:
                throw new Exception("Unsupported condition");
            }
        }
Ejemplo n.º 2
0
        public async Task ProcessTask(ProcessCondition processCondition)
        {
            ProcessResult processResult = new ProcessResult {
                Condition = processCondition
            };

            globalProcessQueue.Add(processResult);

            processStatusChanged.StatusChanged(processResult);
            FilesHelper.SaveProcessResult(processResult);

            if (!Executing)
            {
                await Task.Factory.StartNew(() => ExecuteProcesses());
            }
        }