From 5e01db88097593caa95f2e290968f98afd970d8c Mon Sep 17 00:00:00 2001 From: FlightControl Date: Thu, 27 Dec 2018 07:33:51 +0100 Subject: [PATCH] New stuff --- ...der.launch => Moose Loader Dynamic.launch} | 2 +- .../Eclipse/Moose Loader Static.launch | 6 +++++ .../Moose Templates/Moose_Dynamic_Loader.lua | 2 ++ Moose Setup/Moose.lua | 22 +++++++++++++++++++ Moose Setup/Moose_Create.lua | 22 ++++++++----------- 5 files changed, 40 insertions(+), 14 deletions(-) rename Moose Setup/Eclipse/{Moose Loader.launch => Moose Loader Dynamic.launch} (91%) create mode 100644 Moose Setup/Eclipse/Moose Loader Static.launch create mode 100644 Moose Setup/Moose.lua diff --git a/Moose Setup/Eclipse/Moose Loader.launch b/Moose Setup/Eclipse/Moose Loader Dynamic.launch similarity index 91% rename from Moose Setup/Eclipse/Moose Loader.launch rename to Moose Setup/Eclipse/Moose Loader Dynamic.launch index 006a2ce77..60d840ca2 100644 --- a/Moose Setup/Eclipse/Moose Loader.launch +++ b/Moose Setup/Eclipse/Moose Loader Dynamic.launch @@ -1,6 +1,6 @@ - + diff --git a/Moose Setup/Eclipse/Moose Loader Static.launch b/Moose Setup/Eclipse/Moose Loader Static.launch new file mode 100644 index 000000000..20723f471 --- /dev/null +++ b/Moose Setup/Eclipse/Moose Loader Static.launch @@ -0,0 +1,6 @@ + + + + + + diff --git a/Moose Setup/Moose Templates/Moose_Dynamic_Loader.lua b/Moose Setup/Moose Templates/Moose_Dynamic_Loader.lua index 24ba37689..d63555297 100644 --- a/Moose Setup/Moose Templates/Moose_Dynamic_Loader.lua +++ b/Moose Setup/Moose Templates/Moose_Dynamic_Loader.lua @@ -18,3 +18,5 @@ __Moose.Include = function( IncludeFile ) end __Moose.Includes = {} + +__Moose.Include( 'Scripts/Moose/Modules.lua' ) diff --git a/Moose Setup/Moose.lua b/Moose Setup/Moose.lua new file mode 100644 index 000000000..0ecf84e0f --- /dev/null +++ b/Moose Setup/Moose.lua @@ -0,0 +1,22 @@ +env.info( '*** MOOSE DYNAMIC INCLUDE START *** ' ) + +local base = _G + +__Moose = {} + +__Moose.Include = function( IncludeFile ) + if not __Moose.Includes[ IncludeFile ] then + __Moose.Includes[IncludeFile] = IncludeFile + local f = assert( base.loadfile( IncludeFile ) ) + if f == nil then + error ("Moose: Could not load Moose file " .. IncludeFile ) + else + env.info( "Moose: " .. IncludeFile .. " dynamically loaded." ) + return f() + end + end +end + +__Moose.Includes = {} + +__Moose.Include( "Modules.lua" ) diff --git a/Moose Setup/Moose_Create.lua b/Moose Setup/Moose_Create.lua index 69979ba86..1b5d6a201 100644 --- a/Moose Setup/Moose_Create.lua +++ b/Moose Setup/Moose_Create.lua @@ -10,13 +10,11 @@ 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 ) -local MooseSourcesFilePath = MooseSetupPath .. "/Moose.files" -local LoaderFilePath = MooseTargetPath.."/Moose.lua" -local MooseFilePath = MooseTargetPath .. "/Modules.lua" +local MooseModulesFilePath = MooseDevelopmentPath .. "/Modules.lua" +local LoaderFilePath = MooseSetupPath .. "/Moose.lua" -print( "Reading Moose source list : " .. MooseSourcesFilePath ) +print( "Reading Moose source list : " .. MooseModulesFilePath ) local LoaderFile = io.open( LoaderFilePath, "w" ) @@ -32,28 +30,26 @@ if MooseDynamicStatic == "S" then MooseLoaderPath = MooseSetupPath .. "/Moose Templates/Moose_Static_Loader.lua" end -local MooseFile = io.open( MooseFilePath, "w" ) - local MooseLoader = io.open( MooseLoaderPath, "r" ) local MooseLoaderText = MooseLoader:read( "*a" ) MooseLoader:close() LoaderFile:write( MooseLoaderText ) -LoaderFile:write( "__Moose.Include( 'Scripts/Moose/Modules.lua' ) \n" ) -local MooseSourcesFile = io.open( MooseSourcesFilePath, "r" ) +local MooseSourcesFile = io.open( MooseModulesFilePath, "r" ) local MooseSource = MooseSourcesFile:read("*l") +_, _, MooseSource = string.find( MooseSource, "Scripts/Moose/(.+)'" ) + while( MooseSource ) do if MooseSource ~= "" then local MooseFilePath = MooseDevelopmentPath .. "/" .. MooseSource if MooseDynamicStatic == "D" then - print( "Load dynamic: " .. MooseSource ) - MooseFile:write( "__Moose.Include( 'Scripts/Moose/" .. MooseSource .. "' )\n" ) + print( "Load dynamic: " .. MooseFilePath ) end if MooseDynamicStatic == "S" then - print( "Load static: " .. MooseSource ) + print( "Load static: " .. MooseFilePath ) local MooseSourceFile = io.open( MooseFilePath, "r" ) local MooseSourceFileText = MooseSourceFile:read( "*a" ) MooseSourceFile:close() @@ -63,6 +59,7 @@ while( MooseSource ) do end MooseSource = MooseSourcesFile:read("*l") + _, _, MooseSource = string.find( MooseSource, "Scripts/Moose/(.+)'" ) end if MooseDynamicStatic == "D" then @@ -76,4 +73,3 @@ LoaderFile:write( "env.info( '*** MOOSE INCLUDE END *** ' )\n" ) MooseSourcesFile:close() LoaderFile:close() -MooseFile:close()