示例#1
0
        public CheckTriggersQueueFeeder(
            WaitHandle stopSignal,
            JobQueue <ProjectRelatedJob> buildQueue,
            IThreadFactory threadFactory,
            IWorkerMonitor workerMonitor,
            IProjectRegistry projectRegistry)
            : base("CheckTriggersQueueFeeder", stopSignal, threadFactory, workerMonitor)
        {
            this.projectRegistry    = projectRegistry;
            this.checkTriggersQueue = new JobQueue <ProjectRelatedJob> ("Check triggers queue", stopSignal);

            for (int i = 0; i < checkTriggersWorkersCount; i++)
            {
                CheckTriggersWorker worker = new CheckTriggersWorker(
                    string.Format(
                        CultureInfo.InvariantCulture,
                        "CheckTriggersWorker {0}",
                        i),
                    checkTriggersQueue,
                    buildQueue,
                    threadFactory,
                    projectRegistry,
                    workerMonitor);
                checkTriggersQueue.AddWorker(worker);
            }

            checkTriggersQueue.StartWorkers();
        }
示例#2
0
 public MainPageProcessor(
     IService service,
     IProjectRegistry projectRegistry)
 {
     this.service         = service;
     this.projectRegistry = projectRegistry;
 }
示例#3
0
 public CheckTriggersWorker(
     string workerName,
     JobQueue <ProjectRelatedJob> jobQueue,
     JobQueue <ProjectRelatedJob> buildQueue,
     IThreadFactory threadFactory,
     IProjectRegistry projectRegistry,
     IWorkerMonitor workerMonitor) : base(workerName, jobQueue, threadFactory, workerMonitor)
 {
     this.buildQueue      = buildQueue;
     this.projectRegistry = projectRegistry;
 }
 public RevisionControlStatsModule(
     IRevisionControlHistoryFacility rcHistoryFacility,
     IProjectRegistry projectRegistry,
     IFileManager fileManager,
     ITemplateEngine templateEngine)
 {
     this.rcHistoryFacility = rcHistoryFacility;
     this.projectRegistry   = projectRegistry;
     this.fileManager       = fileManager;
     this.templateEngine    = templateEngine;
 }
示例#5
0
 public HeadlessService(
     IProjectRegistry projectRegistry,
     IThreadFactory threadFactory,
     IWorkerMonitor workerMonitor,
     IHeadlessLogger headlessLogger)
 {
     this.projectRegistry = projectRegistry;
     this.threadFactory   = threadFactory;
     this.workerMonitor   = workerMonitor;
     this.headlessLogger  = headlessLogger;
 }
示例#6
0
 public Project(
     string projectId,
     string projectName,
     IProjectRegistry projectRegistry,
     IEnumerable <IProjectModule> modules)
     : this(projectId, projectName, projectRegistry)
 {
     foreach (IProjectModule module in modules)
     {
         AddModule(module);
     }
 }
示例#7
0
 public BuildWorker(
     string workerName,
     JobQueue <ProjectRelatedJob> buildQueue,
     IThreadFactory threadFactory,
     IProjectRegistry projectRegistry,
     IWorkerMonitor workerMonitor,
     IHeadlessLogger headlessLogger)
     : base(workerName, buildQueue, threadFactory, workerMonitor)
 {
     this.projectRegistry = projectRegistry;
     this.headlessLogger  = headlessLogger;
 }
示例#8
0
 public BuildRunner(
     string projectId,
     IProjectRegistry projectRegistry,
     IBuildTrafficSignals buildTrafficSignals,
     IBuildStageRunnerFactory buildStageRunnerFactory,
     IHeadlessLogger logger)
 {
     this.projectId               = projectId;
     this.projectRegistry         = projectRegistry;
     this.buildTrafficSignals     = buildTrafficSignals;
     this.buildStageRunnerFactory = buildStageRunnerFactory;
     this.logger = logger;
 }
        public void StartAndStopRunner()
        {
            WindsorContainer windsorContainer = new WindsorContainer(@"SampleConfigurations\ProjectPilot.config.xml");

            windsorContainer.Kernel.ComponentCreated      += new Castle.MicroKernel.ComponentInstanceDelegate(Kernel_ComponentCreated);
            windsorContainer.Kernel.ComponentModelCreated += new Castle.MicroKernel.ComponentModelDelegate(Kernel_ComponentModelCreated);
            windsorContainer.Kernel.ComponentRegistered   += new Castle.MicroKernel.ComponentDataDelegate(Kernel_ComponentRegistered);
            windsorContainer.Kernel.DependencyResolving   += new Castle.MicroKernel.DependencyDelegate(Kernel_DependencyResolving);
            windsorContainer.Kernel.HandlerRegistered     += new Castle.MicroKernel.HandlerDelegate(Kernel_HandlerRegistered);

            WindsorContainerGraphs.GenerateDependencyGraph(windsorContainer, "graph.dot");

            IStatePersistence mockStatePersistence = MockRepository.GenerateMock <IStatePersistence>();

            // prepare test history data
            RevisionControlHistoryData data;

            using (Stream stream = File.OpenRead(@"..\..\..\Data\Samples\svn-log.xml"))
            {
                data = SubversionHistoryFacility.LoadHistory(stream);
            }

            IRevisionControlHistoryFacility mockRcsHistoryFacility = MockRepository.GenerateMock <IRevisionControlHistoryFacility>();

            mockRcsHistoryFacility.Stub(action => action.FetchHistory()).Return(data);

            windsorContainer.Kernel.AddComponentInstance("RcsHistoryFacility", typeof(IRevisionControlHistoryFacility), mockRcsHistoryFacility);

            using (IRunner runner = windsorContainer.Resolve <IRunner>())
            {
                Project[] projects = windsorContainer.Kernel.ResolveServices <Project>();

                IProjectRegistry projectRegistry = windsorContainer.Resolve <IProjectRegistry>();
                Assert.AreEqual(1, projectRegistry.ProjectsCount);

                Project project = projectRegistry.GetProject("projectpilot");
                Assert.IsNotNull(project);

                Assert.AreEqual(1, project.ModulesCount);
                IProjectModule module = project.GetModule("RevisionControlStats");

                runner.Start();
                Thread.Sleep(5000);
            }
        }
示例#10
0
 public Project(string projectId, string projectName, IProjectRegistry projectRegistry)
     : this(projectId, projectName)
 {
     projectRegistry.AddProject(this);
 }
示例#11
0
 public DefaultFacade(IProjectRegistry projectRegistry)
 {
     this.projectRegistry = projectRegistry;
 }
示例#12
0
 public DefaultRunner(IProjectRegistry projectRegistry)
 {
     this.projectRegistry = projectRegistry;
 }