public BuildStepCompileVSNet(Builder oBuilder, string sProject, string sConfiguration) { m_oBuilder = oBuilder; m_sProject = sProject; m_sConfiguration = sConfiguration; }
public BuildStepMSBuild(Builder oBuilder, string sProject, string sConfiguration) { m_oBuilder = oBuilder; m_sProject = sProject; m_sConfiguration = sConfiguration; }
public BuildStepWriteFile(Builder oBuilder, string sFileName, string sContents) { m_oBuilder = oBuilder; m_sFilename = sFileName; m_sContents = sContents; }
public BuildStepSubversion(Builder oBuilder, SVNAction a, string sDirectory) { m_oBuilder = oBuilder; m_eAction = a; m_sDirectory = sDirectory; }
public BuildStepRunApplication(Builder oBuilder, string sExecutable, string sArguments) { m_oBuilder = oBuilder; m_sExecutable = sExecutable; m_sArguments = sArguments; }
public BuildStepWriteINI(Builder oBuilder, string sFileName, string sSection, string sKey, string sValue) { m_oBuilder = oBuilder; m_sFilename = sFileName; m_sSection = sSection; m_sKey = sKey; m_sValue = sValue; }
public BuildRunner( ManualResetEvent eventStop, ManualResetEvent eventStopped, Builder oBuilder) { m_EventStop = eventStop; m_EventStopped = eventStopped; m_oBuilder = oBuilder; }
public BuildStepClearDirectory(Builder builder, string directory) { if (string.IsNullOrEmpty(directory)) throw new ArgumentNullException("Directory must be specified.", "directory"); if (builder == null) throw new ArgumentNullException("Builder must be specified.", "builder"); m_oBuilder = builder; _directory = directory; }
static void Main(string[] args) { if (args.Length != 3) { System.Console.WriteLine("Wrong number of parameters passed to Builder.Console"); Environment.ExitCode = -1; return; } Settings settings = new Settings(); settings.LoadSettings(); BuildLoader loader = new BuildLoader(); Builder.Common.Builder builder = loader.Load(settings.BuildInstructions); // Run all steps. builder.StepStart = -1; builder.StepEnd = -1; builder.LoadMacros(args[0], args[1], args[2]); string result; if (!settings.ValidateSettings(builder, out result)) { System.Console.WriteLine(result); Environment.ExitCode = -1; return; } builder.LoadSettings(settings); ManualResetEvent eventStopThread = new ManualResetEvent(false); ManualResetEvent eventThreadStopped = new ManualResetEvent(false); BuildRunner runner = new BuildRunner(eventStopThread, eventThreadStopped, builder); runner.StepError += new BuildRunner.StepErrorDelegate(runner_StepError); builder.MessageLog += new Builder.Common.Builder.MessageLogDelegate(builder_MessageLog); runner.Run(); return; }
public Builder Load(string s) { Builder oBuilder = new Builder(); XmlDocument oDoc = new XmlDocument(); oDoc.LoadXml(s); XmlNode oBuildNode = oDoc.ChildNodes[0]; for (int i = 0; i < oBuildNode.ChildNodes.Count; i++) { XmlNode oAction = oBuildNode.ChildNodes[i]; if (oAction.NodeType == XmlNodeType.Comment) continue; string sType = oAction.Attributes["type"].Value; if (sType == "writefile") AddActionWritefile(oBuilder, oAction); else if (sType == "writeini") AddActionWriteIni(oBuilder, oAction); else if (sType == "runapplication") AddActionRunApplication(oBuilder, oAction); else if (sType == "compilevs") AddActionCompileVS(oBuilder, oAction); else if (sType == "msbuild") AddActionMSBuild(oBuilder, oAction); else if (sType == "copyfile") AddActionCopyFile(oBuilder, oAction); else if (sType == "compileinnosetup") AddActionCompileInnoSetup(oBuilder, oAction); else if (sType == "subversion") AddActionSubversion(oBuilder, oAction); else if (sType == "cleardirectory") AddActionClearDirectory(oBuilder, oAction); else { throw new Exception("Unknown build type " + sType); } } return oBuilder; }
private void LoadSettings() { Settings settings = new Settings(); settings.LoadSettings(); txtPathSource.Text = settings.SourcePath; txtPathVS8.Text = settings.VSPath; txtPathMSBuild.Text = settings.MSBuildPath; txtBuildNumber.Text = settings.BuildNumber.ToString(); txtPathInnoSetup.Text = settings.InnoSetupPath; txtVersion.Text = settings.Version; txtPathSubversion.Text = settings.SubversionPath; string s = settings.BuildInstructions; BuildLoader oBuildLoader = new BuildLoader(); m_oBuilder = oBuildLoader.Load(s); m_oBuilder.MessageLog += new Builder.Common.Builder.MessageLogDelegate(m_oBuilder_MessageLog); string s2 = s; }
private void AddActionWriteIni(Builder oBuilder, XmlNode oNode) { string sFile = oNode.Attributes["filename"].Value; string sSection = oNode.Attributes["section"].Value; string sKey = oNode.Attributes["key"].Value; string sValue = oNode.Attributes["value"].Value; oBuilder.Add(new BuildStepWriteINI(oBuilder, sFile, sSection, sKey, sValue)); }
public bool ValidateSettings(Builder builder, out string result) { if (!File.Exists(builder.ExpandMacros(VSPath))) { result = "The Visual Studio executable does not exist in the specified path\r\n"; return false; } if (!File.Exists(builder.ExpandMacros(InnoSetupPath))) { result = "The InnoSetup executable does not exist in the specified path\r\n"; return false; } if (!Directory.Exists(builder.ExpandMacros(SourcePath))) { result = "The hMailserver source code does not exist in the specified path\r\n"; return false; } result = ""; return true; }
public BuildStepInnoSetup(Builder oBuilder, string sProject) { m_oBuilder = oBuilder; m_sProject = sProject; }
private void AddActionCopyFile(Builder oBuilder, XmlNode oNode) { string sFrom = oNode.Attributes["from"].Value; string sTo = oNode.Attributes["to"].Value; bool bOverwrite = false; XmlAttribute oAttr = oNode.Attributes["overwrite"]; if (oAttr != null) bOverwrite = oAttr.Value == "true"; oBuilder.Add(new BuildStepCopyFile(oBuilder, sFrom, sTo, bOverwrite)); }
private void AddActionCompileVS(Builder oBuilder, XmlNode oNode) { string sFile = oNode.Attributes["filename"].Value; string sConfiguration = oNode.Attributes["configuration"].Value; oBuilder.Add(new BuildStepCompileVSNet(oBuilder, sFile, sConfiguration)); }
private void AddActionCompileInnoSetup(Builder oBuilder, XmlNode oNode) { string sFilename = oNode.Attributes["filename"].Value; oBuilder.Add(new BuildStepInnoSetup(oBuilder, sFilename)); }
private void AddActionClearDirectory(Builder oBuilder, XmlNode oAction) { string directory = oAction.Attributes["directory"].Value; oBuilder.Add(new BuildStepClearDirectory(oBuilder, directory)); }
private void AddActionWritefile(Builder oBuilder, XmlNode oNode) { string sFile = oNode.Attributes["filename"].Value; string sValue = oNode.Attributes["value"].Value; sValue = sValue.Replace("\\r\\n", Environment.NewLine); oBuilder.Add(new BuildStepWriteFile(oBuilder, sFile, sValue)); }
private void AddActionSubversion(Builder oBuilder, XmlNode oNode) { string sAction = oNode.Attributes["action"].Value; string sDirectory = oNode.Attributes["directory"].Value; BuildStepSubversion.SVNAction svnaction; if (sAction == "revert") svnaction = BuildStepSubversion.SVNAction.SVNRevert; else if (sAction == "update") svnaction = BuildStepSubversion.SVNAction.SVNUpdate; else throw new Exception("Incorrect SubVersion configuration"); oBuilder.Add(new BuildStepSubversion(oBuilder,svnaction, sDirectory)); }
private void AddActionRunApplication(Builder oBuilder, XmlNode oNode) { string sFile = oNode.Attributes["filename"].Value; string sParameters = oNode.Attributes["parameters"].Value; oBuilder.Add(new BuildStepRunApplication(oBuilder, sFile, sParameters)); }
private void LoadSettings() { Settings settings = new Settings(); settings.LoadSettings(); txtPathSource.Text = settings.SourcePath; txtPathVS8.Text = settings.VSPath; txtBuildNumber.Text = settings.BuildNumber.ToString(); txtPathInnoSetup.Text = settings.InnoSetupPath; txtVersion.Text = settings.Version; txtPathSubversion.Text = settings.SubversionPath; string s = settings.BuildInstructions; BuildLoader oBuildLoader = new BuildLoader(); m_oBuilder = oBuildLoader.Load(s); m_oBuilder.MessageLog += new Builder.Common.Builder.MessageLogDelegate(m_oBuilder_MessageLog); string s2 = s; }