diff options
author | Sam Thursfield <sam.thursfield@codethink.co.uk> | 2012-11-07 18:11:00 +0000 |
---|---|---|
committer | Sam Thursfield <sam.thursfield@codethink.co.uk> | 2012-11-12 16:48:18 +0000 |
commit | 1b967bf4a50e855ec3eae58213bb6bc06ccafc87 (patch) | |
tree | 17b109aa6eb9d4a79285b47926a43a147f7773c3 /morphlib | |
parent | 116d30546a114364de54e3bd8522c22cd69412cf (diff) | |
download | morph-1b967bf4a50e855ec3eae58213bb6bc06ccafc87.tar.gz |
morph build: Allow forcing build branches to be pushed
This is for users who prefer the old behaviour of building from the
remote repos.
Diffstat (limited to 'morphlib')
-rwxr-xr-x | morphlib/app.py | 4 | ||||
-rw-r--r-- | morphlib/buildcommand.py | 1 | ||||
-rw-r--r-- | morphlib/plugins/branch_and_merge_plugin.py | 9 |
3 files changed, 10 insertions, 4 deletions
diff --git a/morphlib/app.py b/morphlib/app.py index 8769b41c..0a11c716 100755 --- a/morphlib/app.py +++ b/morphlib/app.py @@ -139,6 +139,10 @@ class Morph(cliapp.Application): 'build chunks with prefix PREFIX', metavar='PREFIX', default=defaults['prefix'], group=group_build) + self.settings.boolean(['push-build-branches'], + 'always push temporary build branches to the ' + 'remote repository', + group=group_build) self.settings.boolean(['staging-chroot'], 'build things in an isolated chroot ' '(default: true)', diff --git a/morphlib/buildcommand.py b/morphlib/buildcommand.py index aa6c7d0e..95f3812e 100644 --- a/morphlib/buildcommand.py +++ b/morphlib/buildcommand.py @@ -38,6 +38,7 @@ class BuildCommand(object): self.ckc = self.new_cache_key_computer(self.build_env) self.lac, self.rac = self.new_artifact_caches() self.lrc, self.rrc = self.new_repo_caches() + self.supports_local_build = True def build(self, args): '''Build triplets specified on command line.''' diff --git a/morphlib/plugins/branch_and_merge_plugin.py b/morphlib/plugins/branch_and_merge_plugin.py index 1e2f381d..161b2b4d 100644 --- a/morphlib/plugins/branch_and_merge_plugin.py +++ b/morphlib/plugins/branch_and_merge_plugin.py @@ -1116,7 +1116,6 @@ class BranchAndMergePlugin(cliapp.Plugin): 'parameter: the system to build') system_name = args[0] - push = False # Deduce workspace and system branch and branch root repository. workspace = self.deduce_workspace() @@ -1127,6 +1126,11 @@ class BranchAndMergePlugin(cliapp.Plugin): # Generate a UUID for the build. build_uuid = uuid.uuid4().hex + build_command = morphlib.buildcommand.BuildCommand(self.app) + build_command = self.app.hookmgr.call('new-build-command', + build_command) + push = self.app.settings['push-build-branches'] + self.app.status(msg='Starting build %(uuid)s', uuid=build_uuid) self.app.status(msg='Collecting morphologies involved in ' @@ -1154,9 +1158,6 @@ class BranchAndMergePlugin(cliapp.Plugin): build_branch_root = urlparse.urljoin('file://', dirname) # Run the build. - build_command = morphlib.buildcommand.BuildCommand(self.app) - build_command = self.app.hookmgr.call('new-build-command', - build_command) build_command.build([build_branch_root, build_repos[branch_root]['build-ref'], system_name]) |