mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2025-08-15 10:47:21 +00:00
96 lines
3.1 KiB
Lua
96 lines
3.1 KiB
Lua
--- This routine is called from the LDT environment to create the Moose.lua file stub for use in .miz files.
|
|
|
|
local MooseDynamicStatic = arg[1]
|
|
local MooseCommitHash = arg[2]
|
|
local MooseDevelopmentPath = arg[3]
|
|
local MooseSetupPath = arg[4]
|
|
local MooseTargetPath = arg[5]
|
|
local isWindows = arg[6]
|
|
|
|
if not isWindows then
|
|
isWindows = 0
|
|
end
|
|
print( "Moose (D)ynamic (S)tatic : " .. MooseDynamicStatic )
|
|
print( "Commit Hash ID : " .. MooseCommitHash )
|
|
print( "Moose development path : " .. MooseDevelopmentPath )
|
|
print( "Moose setup path : " .. MooseSetupPath )
|
|
print( "Moose target path : " .. MooseTargetPath )
|
|
print( "isWindows : " .. isWindows)
|
|
|
|
|
|
function PathConvert(splatnixPath)
|
|
if isWindows == 0 then
|
|
return splatnixPath
|
|
end
|
|
return splatnixPath:gsub("/", "\\")
|
|
end
|
|
|
|
local MooseModulesFilePath = MooseDevelopmentPath .. "/Modules.lua"
|
|
local LoaderFilePath = MooseTargetPath .. "/Moose.lua"
|
|
|
|
print( "Reading Moose source list : " .. MooseModulesFilePath )
|
|
print("Opening Loaderfile " .. PathConvert(LoaderFilePath))
|
|
local LoaderFile = assert(io.open( PathConvert(LoaderFilePath), "w+" ))
|
|
|
|
if MooseDynamicStatic == "S" then
|
|
LoaderFile:write( "env.info( '*** MOOSE GITHUB Commit Hash ID: " .. MooseCommitHash .. " ***' )\n" )
|
|
end
|
|
|
|
local MooseLoaderPath
|
|
if MooseDynamicStatic == "D" then
|
|
MooseLoaderPath = MooseSetupPath .. "/Moose Templates/Moose_Dynamic_Loader.lua"
|
|
end
|
|
if MooseDynamicStatic == "S" then
|
|
MooseLoaderPath = MooseSetupPath .. "/Moose Templates/Moose_Static_Loader.lua"
|
|
end
|
|
|
|
|
|
local MooseLoader = assert(io.open( PathConvert(MooseLoaderPath), "r" ))
|
|
local MooseLoaderText = MooseLoader:read( "*a" )
|
|
MooseLoader:close()
|
|
|
|
LoaderFile:write( MooseLoaderText )
|
|
|
|
local MooseSourcesFile = assert(io.open( PathConvert(MooseModulesFilePath), "r" ))
|
|
local MooseSource = MooseSourcesFile:read("*l")
|
|
|
|
while( MooseSource ) do
|
|
-- Remove Windows line endings. Can occur when using act
|
|
MooseSource = string.gsub(MooseSource, "\r", "")
|
|
|
|
if MooseSource ~= "" then
|
|
MooseSource = string.match( MooseSource, "/Moose/(.+)'" )
|
|
local MooseFilePath = MooseDevelopmentPath .. "/" .. MooseSource
|
|
if MooseDynamicStatic == "D" then
|
|
print( "Load dynamic: " .. MooseFilePath )
|
|
end
|
|
if MooseDynamicStatic == "S" then
|
|
print( "Load static: " .. MooseFilePath )
|
|
local MooseSourceFile = assert(io.open( PathConvert(MooseFilePath), "r" ))
|
|
local MooseSourceFileText = MooseSourceFile:read( "*a" )
|
|
MooseSourceFile:close()
|
|
|
|
LoaderFile:write( MooseSourceFileText )
|
|
end
|
|
end
|
|
|
|
MooseSource = MooseSourcesFile:read("*l")
|
|
end
|
|
|
|
if MooseDynamicStatic == "D" then
|
|
LoaderFile:write( "BASE:TraceOnOff( true )\n" )
|
|
end
|
|
if MooseDynamicStatic == "S" then
|
|
LoaderFile:write( "BASE:TraceOnOff( false )\n" )
|
|
end
|
|
|
|
LoaderFile:write( "env.info( '*** MOOSE INCLUDE END *** ' )\n" )
|
|
|
|
MooseSourcesFile:close()
|
|
LoaderFile:close()
|
|
|
|
print("Moose include generation complete.")
|
|
if MooseDynamicStatic == "D" then
|
|
print("To enable dynamic moose loading, add a soft or hard link from \"<YOUR_DCS_INSTALL_DIRECTORY>\\Scripts\\Moose\" to the \"Moose Development\\Moose\" subdirectory of the Moose_Framework repository.")
|
|
end
|