MOOSE/Moose Setup/Moose_Create.lua
Applevangelist 54b49ff0d6 Merge remote-tracking branch 'origin/master' into develop
# Conflicts:
#	Moose Development/Moose/Modules.lua
2024-01-11 12:53:30 +01:00

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