Build include files
Main build steps to create the include files are defined in .github/workflows/build-includes.yml:
- Checkout of the git repository MOOSE.
- Create output folders.
- Update the Linux system software.
- Install needed tools:
- tree - A tool to output a tree view of a folder structure.
- lua5.3 - Package to run Lua scripts. Version 5.3 is needed, because we need liblua5.3-dev for LuaSrcDiet.
- LuaRocks - LuaRocks is the package manager for Lua modules.
- liblua5.3-dev - Header file of Lua needed for LuaSrcDiet to work.
- LuaSrcDiet - To compress the Lua code and create
Moose_.lua
. - LuaCheck - This is a static code analyzer and a linter for Lua.
- Run the build steps:
- Run
./Moose Setup/Moose_Create.lua
to createMoose.lua
. - Run
./Moose Setup/Moose_Create.lua
to create dynamicMoose.lua
which loads individual Lua class files used by Moose developers. - Run LuaSrcDiet to compress the Lua code and create
Moose_.lua
- Run LuaCheck to find errors in the code. Warnings are ignored, because there are a lot of warnings, which cannot be resolved by the Moose team.
- Run
- Deploy build results:
- Checkout MOOSE_INCLUDE git repository in a subdirectory.
- Use the same branch used to checkout MOOSE git repository.
- Use a
TOKEN
for checkout, so apush
is possible later on.
- Copy build result to
MOOSE_INCLUDE
folder - Push results to MOOSE_INCLUDE repository
- Checkout MOOSE_INCLUDE git repository in a subdirectory.
Build a preview locally
To generate a preview of the include files go into the folder
docker/build-includes
and run docker compose up
. It will create a Docker
image and start a Docker container.
Within this container all needed software packages are included to build the
include files.
- You need a working installation of Docker.
- In the main repository folder a new folder
build
will be created. - The following subfolders will be generated:
build/result/Moose_Include_Dynamic
andbuild/result/Moose_Include_Static
./Moose Setup/Moose_Create.lua
will be executed to generate the target files- LuaSrcDiet will be executed to generate the target file
Moose_.lua
- LuaCheck runs to find errors