Source

glLoadGen / LoadGen.lua

Jason McKesson 35a13a4 










Jason McKesson 0dd7ffe 
Jason McKesson 35a13a4 

Jason McKesson 0dd7ffe 
Jason McKesson aaa96f5 

Jason McKesson 9b40c15 



Jason McKesson aaa96f5 
Jason McKesson 9b40c15 
Jason McKesson 878efa8 
Jason McKesson 5f393a1 
Jason McKesson 878efa8 
Jason McKesson 5357d23 
Jason McKesson 878efa8 

Jason McKesson aaa96f5 
Jason McKesson 9b40c15 


Jason McKesson aaa96f5 
Jason McKesson 9b40c15 






Jason McKesson aaa96f5 
Jason McKesson 9b40c15 





















assert(arg and arg[0], "You ran this script incorrectly.")

--Get the location of our modules relative to here.
local baseDir = arg[0]:match("^(.*[\\/])")
baseDir = baseDir or "./"
assert(baseDir, arg[0] .. " No directory")

--Fixup the package path to be relative to this directory.
package.path = baseDir .. "modules/?.lua;" .. package.path

--Make a function to get the correct directory name.
function SysRelPath(relativePath)
	return baseDir .. relativePath
end
FixupPath = SysRelPath --Older name.

local opts = require "GetOptions"
local Specs = require "Specs"
local Styles = require "Styles"
local LoadSpec = require "LoadLuaSpec"
local util = require "util"

--Get the options.
local status, options = pcall(opts.GetOptions, arg)

if(not status) then
	io.stdout:write(options, "\n")
	return
end

--Load the spec data.
local spec = Specs.GetSpec(options.spec)
local specData = spec.LoadSpec()

--Verify that every extension in `options.extensions` is a real extension.
local badExts = {}
for _, extName in ipairs(options.extensions) do
	if(not specData.extdefs[extName]) then
		badExts[#badExts + 1] = extName
	end
end

if(#badExts > 0) then
	io.stdout:write("The following extensions are not in the spec ", options.spec, ":\n")
	for _, extName in ipairs(badExts) do
		io.stdout:write("\t", extName, "\n")
	end
	return
end

--Extract the path and base-filename from the filename.
local simplename, dir = util.ParsePath(options.outname)
dir = dir or "./"

assert(simplename,
	"There is no filename in the path '" .. options.outname .. "'")

local style, structure = Styles.GetStyle(options.style)

--Compute the filename, minus style-specific suffix.
local basename = dir .. spec:FilePrefix() .. simplename

structure.Proc(basename, style, specData, spec, options)
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.