aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/python2.7/site-packages/autobuilder/BuildSet.py32
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]