--- 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 \"\\Scripts\\Moose\" to the \"Moose Development\\Moose\" subdirectory of the Moose_Framework repository.") end