]> git.e2factory.org Git - e2factory.git/commitdiff
e2-build: check for duplicate results in build mode arguments
authorTobias Ulmer <tu@emlix.com>
Fri, 10 Mar 2017 17:29:44 +0000 (18:29 +0100)
committerTobias Ulmer <tu@emlix.com>
Wed, 25 Apr 2018 15:36:00 +0000 (17:36 +0200)
Signed-off-by: Tobias Ulmer <tu@emlix.com>
local/e2-build.lua

index 17530dd548826e037d56db99ebb8f695b8014537..49aa39783544d762dff182c6a13ddb5224cef507 100644 (file)
@@ -140,6 +140,19 @@ local function e2_build(arg)
     check_mode("branch-mode", build_mode_count, opts, branch_mode_results, selected_results)
     check_mode("wc-mode", build_mode_count, opts, wc_mode_results, selected_results)
 
+    -- check for duplicate results
+    local duplicates = {}
+    for _,t in ipairs({selected_results, tag_mode_results, branch_mode_results, wc_mode_results}) do
+        for _,resultname in ipairs(t) do
+            if not duplicates[resultname] then
+                duplicates[resultname] = true
+            else
+                error(err.new("result specified more than once: %s", resultname))
+            end
+        end
+    end
+    duplicates = nil
+
     if opts["release"] and build_mode_count > 0 then
         error(err.new("--release mode and other build modes can't be mixed"))
     end