~nick-moffitt/mojo/rename-manifest-to-run

« back to all changes in this revision

Viewing changes to mojo/__init__.py

  • Committer: Tom Haddon
  • Date: 2015-04-20 08:46:04 UTC
  • mfrom: (160.2.3 auto-repo-secrets)
  • Revision ID: tom.haddon@canonical.com-20150420084604-athem93vjwa9diqv
[thedac,r=mthaddon] Automatically run repo and secrets phases, but still allow manual invocation of each

Show diffs side-by-side

added added

removed removed

Lines of Context:
234
234
        self.spec = spec
235
235
        self.config = spec.get_config(base=manifest_file, stage=stage)
236
236
        if manifest_file == "manifest":
237
 
            self.required_commands = ('collect', 'repo', 'deploy')
 
237
            self.required_commands = ('collect', 'deploy')
238
238
        else:
239
239
            self.required_commands = ()
240
240
        self.phases = []
250
250
 
251
251
    def run(self, project, workspace, series, stage=None):
252
252
        "Run all phases defined in this manifest"
 
253
        auto_repo = True
 
254
        if "repo" in [phase.name for phase in self.phases]:
 
255
            # Repo step is being called explicitly - don't call it
 
256
            # automatically
 
257
            auto_repo = False
 
258
        auto_secrets = True
 
259
        if "secrets" in [phase.name for phase in self.phases]:
 
260
            # Secrets are being called explicitly - don't call it
 
261
            # automatically
 
262
            auto_secrets = False 
253
263
        for phase_name in self.phases:
254
 
            phase_name.run(project, workspace, series, stage)
 
264
            if phase_name.name in ["deploy", "build", "script", "verify"]:
 
265
                phase_name.run(project, workspace, series, stage,
 
266
                               auto_secrets=auto_secrets)
 
267
            elif phase_name.name == "collect":
 
268
                phase_name.run(project, workspace, series, stage,
 
269
                               auto_repo=auto_repo)
 
270
            else:
 
271
                phase_name.run(project, workspace, series, stage)
255
272
 
256
273
 
257
274
#######################################