[+] Added support for filtering by options
[+] Added more documentation in the form of objects.lua pseudo code
This commit is contained in:
parent
6d01a2f143
commit
2c4dc9522d
@ -99,6 +99,7 @@ end
|
||||
|
||||
local function auFilterOf(configFilter, ...)
|
||||
local ret = {}
|
||||
local andOptions = {}
|
||||
|
||||
local test = function(val, orArray, notArray)
|
||||
if (orArray) then
|
||||
@ -154,7 +155,15 @@ local function auFilterOf(configFilter, ...)
|
||||
end)
|
||||
end)
|
||||
|
||||
return auConcatVararg({table.concat(ret, " or ")}, ...)
|
||||
auForEach(configFilter.options, function(option)
|
||||
table.insert(andOptions, "options:" .. option)
|
||||
end)
|
||||
|
||||
auForEach(configFilter.notOptions, function(option)
|
||||
table.insert(andOptions, "not options:" .. option)
|
||||
end)
|
||||
|
||||
return auConcatVararg({table.concat(ret, " or ")}, andOptions, ...)
|
||||
end
|
||||
|
||||
return {
|
||||
|
@ -2,15 +2,34 @@ function auEnum(...)
|
||||
return nil
|
||||
end
|
||||
|
||||
function auProjectO()
|
||||
function auProjectInfoO() -- extends auHeaderProject
|
||||
return {}
|
||||
end
|
||||
|
||||
function auBaseProjectO()
|
||||
return {
|
||||
info = auProjectInfoO()
|
||||
}
|
||||
end
|
||||
|
||||
function auAbstractProjectO() -- extends auBaseProject
|
||||
return {
|
||||
process = function(info, visit) end,
|
||||
resolveDependencies = function(this, resolveFunction) end,
|
||||
handleLink = function(this) end,
|
||||
handleReference = function(this) end
|
||||
}
|
||||
end
|
||||
|
||||
function auProjectO() -- extends auAbstractProjectO
|
||||
-- auAbstractProjectO is implemented by either your projects lua script or the json processor
|
||||
end
|
||||
|
||||
function auSolutionO() -- extends auHeaderPartO
|
||||
|
||||
end
|
||||
|
||||
function auSolutionO()
|
||||
|
||||
end
|
||||
|
||||
function auVisitO()
|
||||
function auVisitO() -- extends auProjectInfoO
|
||||
|
||||
end
|
||||
|
||||
@ -28,7 +47,9 @@ function auFilterInO()
|
||||
archs = nil,
|
||||
notConfigs = nil,
|
||||
notPlatforms = nil,
|
||||
notArchs = nil
|
||||
notArchs = nil,
|
||||
notOptions = nil,
|
||||
options = nil
|
||||
}
|
||||
end
|
||||
|
||||
@ -42,4 +63,67 @@ function auStartProjectO()
|
||||
dest = "!", -- "!" means default binary export path
|
||||
root = nil
|
||||
}
|
||||
end
|
||||
end
|
||||
|
||||
-- Root JSON element
|
||||
function auHeaderProjectO()
|
||||
return {
|
||||
projectType = "ConsoleApp",
|
||||
name = "AuroraProject",
|
||||
namespace = ""
|
||||
}
|
||||
end
|
||||
|
||||
--
|
||||
|
||||
function auBlockProjectKeyDefines()
|
||||
|
||||
end
|
||||
|
||||
function auBlockProjectKeyIncludes()
|
||||
|
||||
end
|
||||
|
||||
function auBlockProjectKeyFeatures()
|
||||
|
||||
end
|
||||
|
||||
function auBlockProjectKeyExcludes()
|
||||
|
||||
end
|
||||
|
||||
function auBlockProjectKeySources()
|
||||
|
||||
end
|
||||
|
||||
function auBlockProjectKeyLinks()
|
||||
|
||||
end
|
||||
|
||||
function auBlockProjectKeyIncludeDepends()
|
||||
|
||||
end
|
||||
|
||||
function auBlockProjectKeyIncludeSoftDepends()
|
||||
|
||||
end
|
||||
|
||||
function auBlockProjectKeyLinkDepends()
|
||||
|
||||
end
|
||||
|
||||
function auBlockProjectKeyLinkSoftDepends()
|
||||
|
||||
end
|
||||
|
||||
-- Root JSON element and sub-documents
|
||||
function auBlockProjectO()
|
||||
|
||||
end
|
||||
|
||||
-- Root JSON element
|
||||
function auHeaderPartO()
|
||||
return {
|
||||
type = "part"
|
||||
}
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user