/// <summary> /// Executes the compiler. /// </summary> public override bool Execute() { using (compiler) { // Set what sort of assembly we are generating // (e.g. WinExe, Exe or Dll) compiler.TargetKind = GetPEFileKind(targetType); compiler.ExecutableKind = GetExecutableKind(platform); compiler.Machine = GetMachine(platform); compiler.SourceFiles = GetFiles(sources, false); compiler.ReferencedAssemblies = GetFiles(references, true); compiler.ResourceFiles = GetResourceFiles(resources); compiler.MainFile = mainFile; compiler.OutputAssembly = outputAssembly; compiler.IncludeDebugInformation = emitDebugInformation; // Compile the code. try { compiler.Compile(); return(true); } catch (SyntaxErrorException ex) { LogSyntaxError(ex); } catch (IOException ex) { LogError(ex.Message); } catch (PythonCompilerException ex) { LogError(ex.Message); } } return(false); }
protected override BuildResult DoBuild(IProgressMonitor monitor, ConfigurationSelector configuration) { BuildResult result; PythonConfiguration config; config = (PythonConfiguration)GetConfiguration(configuration); result = new BuildResult(); if (config.Runtime != null && config.Runtime.Compiler != null) { IPythonCompiler compiler = config.Runtime.Compiler; foreach (ProjectFile projectFile in Files) { if (projectFile.BuildAction != BuildAction.Compile) { continue; } compiler.Compile(this, projectFile.FilePath, config, result); } } return(result); }