Example #1
0
        public int Build(BuildOrder order, string[] targets)
        {
            int errors = 0;

            if (targets == null || targets.Length == 0)
            {
                targets = new string[] { null }
            }
            ;

            using (Log.Start("Building targets {0} on {1} projects", String.Join(",", targets), order.Count))
            {
                foreach (ProjectInfo proj in order.Enumerate())
                {
                    bool bFailed = false;
                    if (targets == null || targets.Length == 0 || (targets.Length == 1 && String.IsNullOrEmpty(targets[0])))
                    {
                        targets = proj.DefaultTargets;
                    }
                    try
                    {
                        if (OnProjectPreBuild(proj, ref targets).Cancel)
                        {
                            continue;
                        }

                        using (Log.Start("{0} {1} {2}", Framework, String.Join(",", targets), proj.AssemblyName))
                        {
                            Log.Info(proj.AssemblyName);
                            if (!Engine.BuildProject(proj.MsProject, targets, null, BuildSettings.DoNotResetPreviouslyBuiltTargets))
                            {
                                Log.Error("Assembly {0} Failed to build.", proj.AssemblyName);
                                //proj.MsProject.Save(proj.MsProject.FullFileName + ".failed");
                                bFailed = true;
                            }
                        }
                    }
                    catch (Exception e)
                    {
                        System.Diagnostics.Trace.TraceError(e.ToString());
                        Log.Error("Exception building assembly {0}: {1}", proj.AssemblyName, e.Message);
                        bFailed = true;
                    }

                    errors += bFailed ? 1 : 0;
                    if (OnProjectPostBuild(proj, bFailed).Cancel)
                    {
                        break;
                    }
                }
            }
            return(errors);
        }
Example #2
0
        public int Build(BuildOrder order, string[] targets)
        {
            int errors = 0;

            if (targets == null || targets.Length == 0)
                targets = new string[] { null };

            using (Log.Start("Building targets {0} on {1} projects", String.Join(",", targets), order.Count))
            {
                foreach (ProjectInfo proj in order.Enumerate())
                {
					bool bFailed = false;
                    if (targets == null || targets.Length == 0 || (targets.Length == 1 && String.IsNullOrEmpty(targets[0])))
                        targets = proj.DefaultTargets;
					try
					{
						if (OnProjectPreBuild(proj, ref targets).Cancel)
							continue;

						using (Log.Start("{0} {1} {2}", Framework, String.Join(",", targets), proj.AssemblyName))
						{
							Log.Info(proj.AssemblyName);
							if (!Engine.BuildProject(proj.MsProject, targets, null, BuildSettings.DoNotResetPreviouslyBuiltTargets))
							{
								Log.Error("Assembly {0} Failed to build.", proj.AssemblyName);
                                //proj.MsProject.Save(proj.MsProject.FullFileName + ".failed");
								bFailed = true;
							}
						}
					}
					catch (Exception e)
					{
						System.Diagnostics.Trace.TraceError(e.ToString());
						Log.Error("Exception building assembly {0}: {1}", proj.AssemblyName, e.Message);
						bFailed = true;
					}

					errors += bFailed ? 1 : 0;
					if (OnProjectPostBuild(proj, bFailed).Cancel)
						break;
                }
            }
            return errors;
        }
Example #3
0
 public int Build(BuildOrder order)
 {
     return(Build(order, null));
 }
Example #4
0
 public int Build(BuildOrder order)
 { return Build(order, null); }