diff options
-rw-r--r-- | lib/python2.7/site-packages/autobuilder/BuildSet.py | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/lib/python2.7/site-packages/autobuilder/BuildSet.py b/lib/python2.7/site-packages/autobuilder/BuildSet.py index fd34b4ab..321f1451 100644 --- a/lib/python2.7/site-packages/autobuilder/BuildSet.py +++ b/lib/python2.7/site-packages/autobuilder/BuildSet.py @@ -30,9 +30,39 @@ class BuildSet(): Constructor ''' locals()['f'+name] = factory.BuildFactory() + factoryFN = getattr(locals()['f'+name], 'addStep') + + # All builders will require the yocto-autobuilder-helper scripts, thus + # force them to be cloned first. + method = 'clobber' + storedir = None + mirrordir = None + if os.environ.get('OPTIMIZED_GIT_CLONE', False): + method = 'barecopy' + storedir = os.environ.get('OGIT_TRASH_DIR') + mirrordir = os.environ.get('OGIT_MIRROR_DIR') + elif os.environ.get('OGIT_MIRROR_DIR', None): + mirrordir = os.environ.get('OGIT_MIRROR_DIR') + + index = -1 + for idx, layer in enumerate(layers): + if layer.iterkeys().next() == "yocto-autobuilder-helper": + index = idx + + if index > 0: + m = __import__("CheckOutLayers") + func = getattr(m, "CheckOutLayers") + factoryFN(func(locals()['f'+name], + layername = "yocto-autobuilder-helper", + mode = 'full', + method = method, + storedir = storedir, + mirrordir = mirrordir, + workdir = 'build', + argdict = layers[index]['yocto-autobuilder-helper'])) + for stepOrder in steps: for step in dict(stepOrder): - factoryFN=getattr(locals()['f'+name], 'addStep') if step=="PublishLayerTarballs": for layer in layers: kwargs=stepOrder[step] |