]> git.e2factory.org Git - e2factory.git/commitdiff
gitrepo: register flag, implement is_scm and is_selected
authorTobias Ulmer <tu@emlix.com>
Thu, 19 Jan 2017 17:18:42 +0000 (18:18 +0100)
committerTobias Ulmer <tu@emlix.com>
Mon, 30 Jan 2017 13:33:34 +0000 (14:33 +0100)
Signed-off-by: Tobias Ulmer <tu@emlix.com>
plugins/gitrepo.lua

index 977d14e197ad9914376f24028aa3a82e85ea7482..78ece534706118aa7948a7d0514ff97a711e6689 100644 (file)
@@ -22,6 +22,7 @@ local gitrepo = {}
 local cache = require("cache")
 local class = require("class")
 local e2lib = require("e2lib")
+local e2option = require("e2option")
 local e2tool = require("e2tool")
 local eio = require("eio")
 local err = require("err")
@@ -34,6 +35,20 @@ local url = require("url")
 
 local gitrepo_source = class("gitrepo_source", source.basic_source)
 
+function gitrepo_source.static:is_scm_source_class()
+    return true
+end
+
+function gitrepo_source.static:is_selected_source_class(opts)
+    assertIsTable(self)
+    assertIsTable(opts)
+
+    if e2tool.current_tool() == "fetch-sources" and opts["gitrepo"] then
+        return true
+    end
+    return false
+end
+
 function gitrepo_source:initialize(rawsrc)
     assertIsTable(rawsrc)
     assertIsStringN(rawsrc.name)
@@ -657,6 +672,10 @@ local function gitrepo_plugin_init()
         return false, re
     end
 
+    if e2tool.current_tool() == "fetch-sources" then
+        e2option.flag("gitrepo", "select gitrepo sources")
+    end
+
     return true
 end