diff options
author | Jannis Pohlmann <jannis.pohlmann@codethink.co.uk> | 2012-02-01 13:47:42 +0000 |
---|---|---|
committer | Jannis Pohlmann <jannis.pohlmann@codethink.co.uk> | 2012-02-01 13:47:42 +0000 |
commit | b03fe891c03c4d8150897107cbd0a604fceef2a4 (patch) | |
tree | bcf13dd9ba62b2edab9219db8cd9d4e2bf927ce3 /morph | |
parent | 1a008aba3c5cc4510275e502df44bf8a37ee21f6 (diff) | |
download | morph-b03fe891c03c4d8150897107cbd0a604fceef2a4.tar.gz |
Document all morph sub-commands.
Diffstat (limited to 'morph')
-rwxr-xr-x | morph | 42 |
1 files changed, 41 insertions, 1 deletions
@@ -79,7 +79,9 @@ class Morph(cliapp.Application): '''Build a binary from a morphology. Command line arguments are the repository, git tree-ish reference, - and morphology filename. The binary gets put into the cache. + and morphology filename. Morph takes care of building all dependencies + before building the morphology. All generated binaries are put into the + cache. (The triplet of command line arguments may be repeated as many times as necessary.) @@ -217,6 +219,23 @@ class Morph(cliapp.Application): graph.resolve() def cmd_build_single(self, args): + '''Build a binary from a morphology but do not build its dependencies. + + To build a system or stratum morphology, simply specify the repository, + a git tree-ish reference and the morphology filename on the command + line. To build a chunk morphology, first provide the repository, + reference and morphology filename of its surrounding stratum and then + provide the same information for the chunk morphology itself. This is + needed to resolve the dependencies of the chunk using the stratum as + the build context and to unpack these dependencies in the staging area + prior to building the chunk. + + This command differs from 'build' in that it only builds the morphology + specified on the command line. Dependencies are assumed to have been + built prior to running this command and are only unpacked into the + staging area. + + ''' tempdir = morphlib.tempdir.Tempdir() morph_loader = MorphologyLoader(self.settings) source_manager = morphlib.sourcemanager.SourceManager(self, @@ -286,6 +305,27 @@ class Morph(cliapp.Application): return ret def cmd_build_distributed(self, args): + '''Build a binary from a morphology, distributing work where possible. + + Command line arguments are the repository, git tree-ish reference, + and morphology filename. Morph takes care of building all dependencies + before building the morphology. All generated binaries are put into the + cache. + + This command differs from 'build' in that it distributes work to + other machines where possible. This may include preparing the source + tree, preparing the staging area, building individual chunks and + caching the built items. + + Distributing currently works by running 'morph build-single' on other + machines via SSH. The machines to be used for this are specified using + the '-w/--worker' command line options. + + (The triplet of command line arguments may be repeated as many + times as necessary.) + + ''' + tempdir = morphlib.tempdir.Tempdir() morph_loader = MorphologyLoader(self.settings) source_manager = morphlib.sourcemanager.SourceManager(self) |