| OLD | NEW |
| 1 # Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 from buildbot.scheduler import Dependent | 5 from buildbot.scheduler import Dependent |
| 6 from buildbot.scheduler import Nightly | 6 from buildbot.scheduler import Nightly |
| 7 from buildbot.scheduler import Periodic |
| 7 from buildbot.scheduler import Scheduler | 8 from buildbot.scheduler import Scheduler |
| 8 from buildbot.scheduler import Triggerable | 9 from buildbot.scheduler import Triggerable |
| 9 | 10 |
| 10 from master import slaves_list | 11 from master import slaves_list |
| 11 | 12 |
| 12 def GetArchiveUrl(project, machine_name, builder_name, zip_os_name, | 13 def GetArchiveUrl(project, machine_name, builder_name, zip_os_name, |
| 13 static_host=None): | 14 static_host=None): |
| 14 # static host can be used for connections made through an intermediary | 15 # static host can be used for connections made through an intermediary |
| 15 if static_host: | 16 if static_host: |
| 16 host = static_host | 17 host = static_host |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 50 | 51 |
| 51 def Hourly(self, name, branch, hour='*'): | 52 def Hourly(self, name, branch, hour='*'): |
| 52 """Helper method for the Nightly scheduler.""" | 53 """Helper method for the Nightly scheduler.""" |
| 53 if name in self._schedulers: | 54 if name in self._schedulers: |
| 54 raise ValueError('Scheduler %s already exists' % name) | 55 raise ValueError('Scheduler %s already exists' % name) |
| 55 self._schedulers[name] = {'type': 'Nightly', | 56 self._schedulers[name] = {'type': 'Nightly', |
| 56 'builders': [], | 57 'builders': [], |
| 57 'branch': branch, | 58 'branch': branch, |
| 58 'hour': hour} | 59 'hour': hour} |
| 59 | 60 |
| 61 def Periodic(self, name, periodicBuildTimer): |
| 62 """Helper method for the Periodic scheduler.""" |
| 63 if name in self._schedulers: |
| 64 raise ValueError('Scheduler %s already exists' % name) |
| 65 self._schedulers[name] = {'type': 'Periodic', |
| 66 'builders': [], |
| 67 'periodicBuildTimer': periodicBuildTimer} |
| 68 |
| 60 def Dependent(self, name, parent): | 69 def Dependent(self, name, parent): |
| 61 if name in self._schedulers: | 70 if name in self._schedulers: |
| 62 raise ValueError('Scheduler %s already exists' % name) | 71 raise ValueError('Scheduler %s already exists' % name) |
| 63 self._schedulers[name] = {'type': 'Dependent', | 72 self._schedulers[name] = {'type': 'Dependent', |
| 64 'parent': parent, | 73 'parent': parent, |
| 65 'builders': []} | 74 'builders': []} |
| 66 | 75 |
| 67 def Triggerable(self, name): | 76 def Triggerable(self, name): |
| 68 if name in self._schedulers: | 77 if name in self._schedulers: |
| 69 raise ValueError('Scheduler %s already exists' % name) | 78 raise ValueError('Scheduler %s already exists' % name) |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 102 | 111 |
| 103 # Append the builder to the list. | 112 # Append the builder to the list. |
| 104 new_builder = {'name': builder['name'], | 113 new_builder = {'name': builder['name'], |
| 105 'factory': self._factories[builder['factory']], | 114 'factory': self._factories[builder['factory']], |
| 106 'category': category, | 115 'category': category, |
| 107 'auto_reboot': builder['auto_reboot']} | 116 'auto_reboot': builder['auto_reboot']} |
| 108 if builder['builddir']: | 117 if builder['builddir']: |
| 109 new_builder['builddir'] = builder['builddir'] | 118 new_builder['builddir'] = builder['builddir'] |
| 110 c['builders'].append(new_builder) | 119 c['builders'].append(new_builder) |
| 111 | 120 |
| 112 # Process the main schedulers | 121 # Process the main schedulers. |
| 113 for s_name in self._schedulers: | 122 for s_name in self._schedulers: |
| 114 scheduler = self._schedulers[s_name] | 123 scheduler = self._schedulers[s_name] |
| 115 if scheduler['type'] == 'Scheduler': | 124 if scheduler['type'] == 'Scheduler': |
| 116 instance = Scheduler(name=s_name, | 125 instance = Scheduler(name=s_name, |
| 117 branch=scheduler['branch'], | 126 branch=scheduler['branch'], |
| 118 treeStableTimer=scheduler['treeStableTimer'], | 127 treeStableTimer=scheduler['treeStableTimer'], |
| 119 builderNames=scheduler['builders'], | 128 builderNames=scheduler['builders'], |
| 120 categories=scheduler['categories']) | 129 categories=scheduler['categories']) |
| 121 scheduler['instance'] = instance | 130 scheduler['instance'] = instance |
| 122 c['schedulers'].append(instance) | 131 c['schedulers'].append(instance) |
| 123 | 132 |
| 124 # Process the dependent schedulers | 133 # Process the dependent schedulers. |
| 125 for s_name in self._schedulers: | 134 for s_name in self._schedulers: |
| 126 scheduler = self._schedulers[s_name] | 135 scheduler = self._schedulers[s_name] |
| 127 if scheduler['type'] == 'Dependent': | 136 if scheduler['type'] == 'Dependent': |
| 128 c['schedulers'].append( | 137 c['schedulers'].append( |
| 129 Dependent(s_name, | 138 Dependent(s_name, |
| 130 self._schedulers[scheduler['parent']]['instance'], | 139 self._schedulers[scheduler['parent']]['instance'], |
| 131 scheduler['builders'])) | 140 scheduler['builders'])) |
| 132 | 141 |
| 133 # Process the triggerable schedulers | 142 # Process the triggerable schedulers. |
| 134 for s_name in self._schedulers: | 143 for s_name in self._schedulers: |
| 135 scheduler = self._schedulers[s_name] | 144 scheduler = self._schedulers[s_name] |
| 136 if scheduler['type'] == 'Triggerable': | 145 if scheduler['type'] == 'Triggerable': |
| 137 c['schedulers'].append(Triggerable(s_name, | 146 c['schedulers'].append(Triggerable(s_name, |
| 138 scheduler['builders'])) | 147 scheduler['builders'])) |
| 139 | 148 |
| 140 # Process the nightly schedulers | 149 # Process the periodic schedulers. |
| 150 for s_name in self._schedulers: |
| 151 scheduler = self._schedulers[s_name] |
| 152 if scheduler['type'] == 'Periodic': |
| 153 c['schedulers'].append( |
| 154 Periodic(s_name, |
| 155 periodicBuildTimer=scheduler['periodicBuildTimer'], |
| 156 builderNames=scheduler['builders'])) |
| 157 |
| 158 # Process the nightly schedulers. |
| 141 for s_name in self._schedulers: | 159 for s_name in self._schedulers: |
| 142 scheduler = self._schedulers[s_name] | 160 scheduler = self._schedulers[s_name] |
| 143 if scheduler['type'] == 'Nightly': | 161 if scheduler['type'] == 'Nightly': |
| 144 c['schedulers'].append(Nightly(s_name, | 162 c['schedulers'].append(Nightly(s_name, |
| 145 branch=scheduler['branch'], | 163 branch=scheduler['branch'], |
| 146 hour=scheduler['hour'], | 164 hour=scheduler['hour'], |
| 147 builderNames=scheduler['builders'])) | 165 builderNames=scheduler['builders'])) |
| OLD | NEW |