]> git.e2factory.org Git - e2factory.git/commitdiff
result: move buildconfig implementation into result_class
authorTobias Ulmer <tu@emlix.com>
Fri, 21 Oct 2016 14:12:55 +0000 (16:12 +0200)
committerTobias Ulmer <tu@emlix.com>
Wed, 16 Nov 2016 14:41:18 +0000 (15:41 +0100)
Signed-off-by: Tobias Ulmer <tu@emlix.com>
local/result.lua
plugins/collect_project.lua

index ee90f4474594118b673713a23623cca4f771649f..b6fd66b838f214bb3cd2ef590db409a369e02eee 100644 (file)
@@ -136,49 +136,8 @@ end
 -- @return build_config table (locked) or false on error
 -- @return error object.
 function result.basic_result:build_config()
-    local rc, re, e, buildid, bc, tmpdir, builddir, info
-
-    info = e2tool.info()
-    assertIsTable(info)
-    e = err.new("preparing build config for %s failed", self:get_name())
-
-    buildid, re = self:buildid()
-    if not buildid then
-        return false, e:cat(re)
-    end
-
-    bc = {}
-    tmpdir = string.format("%s/e2factory-%s.%s.%s-build/%s",
-        e2lib.globals.tmpdir, buildconfig.MAJOR, buildconfig.MINOR,
-        buildconfig.PATCHLEVEL, e2lib.globals.osenv["USER"])
-    builddir = "tmp/e2"
-
-    bc.base = e2lib.join(tmpdir, project.name(), self:get_name())
-    bc.c = e2lib.join(bc.base, "chroot")
-    bc.chroot_marker = e2lib.join(bc.base, "e2factory-chroot")
-    bc.chroot_lock = e2lib.join(bc.base, "e2factory-chroot-lock")
-    bc.T = e2lib.join(bc.c, builddir)
-    bc.Tc = e2lib.join("/", builddir)
-    bc.r = self:get_name()
-    bc.chroot_call_prefix = project.chroot_call_prefix()
-    bc.buildlog = string.format("%s/log/build.%s.log", info.root, self:get_name())
-    bc.scriptdir = "script"
-    bc.build_driver_file = "build-driver"
-    bc.buildrc_file = "buildrc"
-    bc.buildrc_noinit_file = "buildrc-noinit"
-    bc.profile = "/tmp/bashrc"
-
-    bc.builtin_env = environment.new()
-    bc.builtin_env:set("E2_TMPDIR", bc.Tc)
-    bc.builtin_env:set("E2_RESULT", self:get_name())
-    bc.builtin_env:set("E2_RELEASE_ID", project.release_id())
-    bc.builtin_env:set("E2_PROJECT_NAME", project.name())
-    bc.builtin_env:set("E2_BUILDID", buildid)
-    bc.builtin_env:set("T", bc.Tc)
-    bc.builtin_env:set("r", self:get_name())
-    bc.builtin_env:set("R", self:get_name())
-
-    return strict.readonly(bc)
+    error(err.new("called build_config() of result base class, type %s name %s",
+        self._type, self._name))
 end
 
 --- Get/set build_mode table for result. Needs to be set before certain
@@ -425,6 +384,52 @@ function result.result_class:my_chroot_list()
     return self._chroot_list
 end
 
+function result.result_class:build_config()
+    local rc, re, e, buildid, bc, tmpdir, builddir, info
+
+    info = e2tool.info()
+    assertIsTable(info)
+    e = err.new("preparing build config for %s failed", self:get_name())
+
+    buildid, re = self:buildid()
+    if not buildid then
+        return false, e:cat(re)
+    end
+
+    bc = {}
+    tmpdir = string.format("%s/e2factory-%s.%s.%s-build/%s",
+        e2lib.globals.tmpdir, buildconfig.MAJOR, buildconfig.MINOR,
+        buildconfig.PATCHLEVEL, e2lib.globals.osenv["USER"])
+    builddir = "tmp/e2"
+
+    bc.base = e2lib.join(tmpdir, project.name(), self:get_name())
+    bc.c = e2lib.join(bc.base, "chroot")
+    bc.chroot_marker = e2lib.join(bc.base, "e2factory-chroot")
+    bc.chroot_lock = e2lib.join(bc.base, "e2factory-chroot-lock")
+    bc.T = e2lib.join(bc.c, builddir)
+    bc.Tc = e2lib.join("/", builddir)
+    bc.r = self:get_name()
+    bc.chroot_call_prefix = project.chroot_call_prefix()
+    bc.buildlog = string.format("%s/log/build.%s.log", info.root, self:get_name())
+    bc.scriptdir = "script"
+    bc.build_driver_file = "build-driver"
+    bc.buildrc_file = "buildrc"
+    bc.buildrc_noinit_file = "buildrc-noinit"
+    bc.profile = "/tmp/bashrc"
+
+    bc.builtin_env = environment.new()
+    bc.builtin_env:set("E2_TMPDIR", bc.Tc)
+    bc.builtin_env:set("E2_RESULT", self:get_name())
+    bc.builtin_env:set("E2_RELEASE_ID", project.release_id())
+    bc.builtin_env:set("E2_PROJECT_NAME", project.name())
+    bc.builtin_env:set("E2_BUILDID", buildid)
+    bc.builtin_env:set("T", bc.Tc)
+    bc.builtin_env:set("r", self:get_name())
+    bc.builtin_env:set("R", self:get_name())
+
+    return strict.readonly(bc)
+end
+
 function result.result_class:merged_env()
     local e = environment.new()
 
index 62ffd1721d53cbf921ab8aa3c496d89fb898ba21..77d505947782ded9188bfc69d9f4034f218d16c4 100644 (file)
@@ -471,6 +471,10 @@ function collect_project_class:buildid()
     return bid
 end
 
+function collect_project_class:build_config()
+    return self._stdresult:build_config()
+end
+
 function collect_project_class:build_mode(bm)
     return self._stdresult:build_mode(bm)
 end