bitbake: toaster: orm models Handle CustomImageRecipe BRLayer here
The schedule_build function on the project object is where the BRLayers are created for the build. Instead of creating the BRLayer for the CustomImageRecipe in the localhostbbcontroller create it here so that all that mechanism is in one place. Also fix a number of pyflake errors. (Bitbake rev: f8d3ea784937b6e416d3e5a4feb1283c478e4caa) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
b58b982eaf
commit
6f8df05e6e
|
@ -337,20 +337,45 @@ class Project(models.Model):
|
|||
|
||||
return queryset
|
||||
|
||||
|
||||
def schedule_build(self):
|
||||
from bldcontrol.models import BuildRequest, BRTarget, BRLayer, BRVariable, BRBitbake
|
||||
br = BuildRequest.objects.create(project = self)
|
||||
try:
|
||||
|
||||
BRBitbake.objects.create(req = br,
|
||||
giturl = self.bitbake_version.giturl,
|
||||
commit = self.bitbake_version.branch,
|
||||
dirpath = self.bitbake_version.dirpath)
|
||||
from bldcontrol.models import BuildRequest, BRTarget, BRLayer
|
||||
from bldcontrol.models import BRBitbake, BRVariable
|
||||
|
||||
try:
|
||||
now = timezone.now()
|
||||
build = Build.objects.create(project=self,
|
||||
completed_on=now,
|
||||
started_on=now)
|
||||
|
||||
br = BuildRequest.objects.create(project=self,
|
||||
state=BuildRequest.REQ_QUEUED,
|
||||
build=build)
|
||||
BRBitbake.objects.create(req=br,
|
||||
giturl=self.bitbake_version.giturl,
|
||||
commit=self.bitbake_version.branch,
|
||||
dirpath=self.bitbake_version.dirpath)
|
||||
|
||||
for t in self.projecttarget_set.all():
|
||||
BRTarget.objects.create(req=br, target=t.target, task=t.task)
|
||||
Target.objects.create(build=br.build, target=t.target,
|
||||
task=t.task)
|
||||
# If we're about to build a custom image recipe make sure
|
||||
# that layer is currently in the project before we create the
|
||||
# BRLayer objects
|
||||
customrecipe = CustomImageRecipe.objects.filter(
|
||||
name=t.target,
|
||||
project=self).first()
|
||||
if customrecipe:
|
||||
ProjectLayer.objects.get_or_create(
|
||||
project=self,
|
||||
layercommit=customrecipe.layer_version,
|
||||
optional=False)
|
||||
|
||||
for l in self.projectlayer_set.all().order_by("pk"):
|
||||
commit = l.layercommit.get_vcs_reference()
|
||||
print("ii Building layer ", l.layercommit.layer.name, " at vcs point ", commit)
|
||||
logger.debug("Adding layer to build %s" %
|
||||
l.layercommit.layer.name)
|
||||
BRLayer.objects.create(
|
||||
req=br,
|
||||
name=l.layercommit.layer.name,
|
||||
|
@ -361,25 +386,16 @@ class Project(models.Model):
|
|||
local_source_dir=l.layercommit.layer.local_source_dir
|
||||
)
|
||||
|
||||
br.state = BuildRequest.REQ_QUEUED
|
||||
now = timezone.now()
|
||||
br.build = Build.objects.create(project = self,
|
||||
completed_on=now,
|
||||
started_on=now,
|
||||
)
|
||||
for t in self.projecttarget_set.all():
|
||||
BRTarget.objects.create(req = br, target = t.target, task = t.task)
|
||||
Target.objects.create(build = br.build, target = t.target, task = t.task)
|
||||
|
||||
for v in self.projectvariable_set.all():
|
||||
BRVariable.objects.create(req = br, name = v.name, value = v.value)
|
||||
|
||||
BRVariable.objects.create(req=br, name=v.name, value=v.value)
|
||||
|
||||
try:
|
||||
br.build.machine = self.projectvariable_set.get(name = 'MACHINE').value
|
||||
br.build.machine = self.projectvariable_set.get(
|
||||
name='MACHINE').value
|
||||
br.build.save()
|
||||
except ProjectVariable.DoesNotExist:
|
||||
pass
|
||||
|
||||
br.save()
|
||||
signal_runbuilds()
|
||||
|
||||
|
|
Loading…
Reference in New Issue