Esempio n. 1
0
        private BuildRequestCollection GenerateRequests(string[] serverItems, TriggerCollection triggers)
        {
            #region Tracing
#line hidden
            if (ChangesetWatcher.m_TraceSwitch.TraceVerbose)
            {
                Trace.TraceInformation("Generating build requests.");
            }
#line default
            #endregion

            BuildRequestCollection requests = new BuildRequestCollection();

            foreach (string serverItem in serverItems)
            {
                foreach (Trigger trigger in triggers)
                {
                    if (trigger.Evaluate(serverItem))
                    {
                        BuildRequest request = new BuildRequest();
                        request.TeamProject  = trigger.TeamProject;
                        request.BuildType    = trigger.BuildType;
                        request.BuildMachine = trigger.BuildMachine;

                        if (!requests.Contains(request))
                        {
                            requests.Add(request);
                        }
                    }
                }
            }

            #region Tracing
#line hidden
            if (ChangesetWatcher.m_TraceSwitch.TraceVerbose)
            {
                Trace.TraceInformation(
                    "Generated '{0}' build requests.", requests.Count);
            }
#line default
            #endregion

            return(requests);
        }
Esempio n. 2
0
        private void RunBuilds(int originalChangesetId, int currentChangesetId)
        {
            #region Tracing
#line hidden
            if (ChangesetWatcher.m_TraceSwitch.TraceVerbose)
            {
                Trace.TraceInformation(
                    "Running builds for server items referenced in changesets '{0}' to '{1}'.",
                    originalChangesetId + 1,
                    currentChangesetId
                    );
            }
#line default
            #endregion

            string[]               serverItems = this.EnumerateServerItems(originalChangesetId, currentChangesetId);
            TriggerCollection      triggers    = this.FetchAllTriggers();
            BuildRequestCollection requests    = this.GenerateRequests(serverItems, triggers);

            foreach (BuildRequest request in requests)
            {
                this.ProcessBuildRequest(request);
            }
        }