Skip to content

Support Lua modulefiles (REVIEW)#1060

Merged
boegel merged 81 commits intoeasybuilders:developfrom
pforai:support_lua_modfiles
Apr 2, 2015
Merged

Support Lua modulefiles (REVIEW)#1060
boegel merged 81 commits intoeasybuilders:developfrom
pforai:support_lua_modfiles

Conversation

@pforai
Copy link
Copy Markdown
Contributor

@pforai pforai commented Oct 15, 2014

This branch ONLY supports lua module files at the moment and is very early. More to come in the following days.

@pforai pforai changed the title Support Lua modulefiles Support Lua modulefiles (WIP) Oct 15, 2014
@boegel
Copy link
Copy Markdown
Member

boegel commented Oct 15, 2014

hallelujah! ;-)

Now we can build on top of this to get Lua module file support fully fleshed out. Thanks @pforai!

@hpcugentbot
Copy link
Copy Markdown

Test FAILed.

boegel and others added 2 commits February 8, 2015 15:37
Conflicts:
	easybuild/framework/easyblock.py
	easybuild/tools/module_generator.py
sync Lua mod files PR with current develop
@hpcugentbot
Copy link
Copy Markdown

Refer to this link for build results (access rights to CI server needed):
https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/1264/
Test FAILed.

@hpcugentbot
Copy link
Copy Markdown

Refer to this link for build results (access rights to CI server needed):
https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/1265/
Test FAILed.

@hpcugentbot
Copy link
Copy Markdown

Refer to this link for build results (access rights to CI server needed):
https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/1266/
Test FAILed.

boegel and others added 2 commits February 9, 2015 07:16
make sure Lmod is used as modules tool when generating module files in Lua syntax
@hpcugentbot
Copy link
Copy Markdown

Refer to this link for build results (access rights to CI server needed):
https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/1268/
Test FAILed.

@hpcugentbot
Copy link
Copy Markdown

Refer to this link for build results (access rights to CI server needed):
https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/1306/
Test FAILed.

@hpcugentbot
Copy link
Copy Markdown

Refer to this link for build results (access rights to CI server needed):
https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/1307/
Test FAILed.

sync with develop, fix conflicts
@hpcugentbot
Copy link
Copy Markdown

Refer to this link for build results (access rights to CI server needed):
https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/1585/
Test FAILed.

replace log.error with raise EasyBuildError
@hpcugentbot
Copy link
Copy Markdown

Refer to this link for build results (access rights to CI server needed):
https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/1586/
Test PASSed.

boegel and others added 3 commits April 1, 2015 11:45
…module footer in Lua syntax, fix msg_on_load for Lua
fix tests that are broken with Lua syntax enabled + broken stuff (use, msg_on_load, lua module footer)
@hpcugentbot
Copy link
Copy Markdown

Refer to this link for build results (access rights to CI server needed):
https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/1587/
Test FAILed.

boegel and others added 2 commits April 1, 2015 12:57
fix msg_on_load for Lua, fix test that checks for 'use' statements in Lua
@hpcugentbot
Copy link
Copy Markdown

Refer to this link for build results (access rights to CI server needed):
https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/1589/
Test PASSed.

@hpcugentbot
Copy link
Copy Markdown

Refer to this link for build results (access rights to CI server needed):
https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/1590/
Test FAILed.

@boegel boegel changed the title Support Lua modulefiles (WIP) Support Lua modulefiles (REVIEW) Apr 1, 2015
@boegel
Copy link
Copy Markdown
Member

boegel commented Apr 1, 2015

Example Lua module files with this:

goolf/1.5.14-no-OFED

help = [[GNU Compiler Collection (GCC) based compiler toolchain, including
 OpenMPI for MPI support, OpenBLAS (BLAS and LAPACK support), FFTW and ScaLAPACK. - Homepage: (none)]]
whatis([[Name: goolf]])
whatis([[Version: 1.5.14]])
whatis([[Description: GNU Compiler Collection (GCC) based compiler toolchain, including
 OpenMPI for MPI support, OpenBLAS (BLAS and LAPACK support), FFTW and ScaLAPACK. - Homepage: (none)]])
whatis([[Homepage: (none)]])

local root = "/Users/kehoste/.local/easybuild/software/goolf/1.5.14-no-OFED"

conflict("goolf")

if not isloaded("GCC/4.8.2") then
    load("GCC/4.8.2")
end

if not isloaded("OpenMPI/1.6.5-GCC-4.8.2-no-OFED") then
    load("OpenMPI/1.6.5-GCC-4.8.2-no-OFED")
end

if not isloaded("OpenBLAS/0.2.8-gompi-1.5.14-no-OFED-LAPACK-3.5.0") then
    load("OpenBLAS/0.2.8-gompi-1.5.14-no-OFED-LAPACK-3.5.0")
end

if not isloaded("FFTW/3.3.4-gompi-1.5.14-no-OFED") then
    load("FFTW/3.3.4-gompi-1.5.14-no-OFED")
end

if not isloaded("ScaLAPACK/2.0.2-gompi-1.5.14-no-OFED-OpenBLAS-0.2.8-LAPACK-3.5.0") then
    load("ScaLAPACK/2.0.2-gompi-1.5.14-no-OFED-OpenBLAS-0.2.8-LAPACK-3.5.0")
end

setenv("EBROOTGOOLF", root)
setenv("EBVERSIONGOOLF", "1.5.14")
setenv("EBDEVELGOOLF", pathJoin(root, "easybuild/goolf-1.5.14-no-OFED-easybuild-devel"))

 -- Built with EasyBuild version 2.1.0dev-r91ae79170204d22ad3a5adae9365450b5549e8ef

gzip/1.6-goolf-1.5.14-no-OFED

help = [[gzip (GNU zip) is a popular data compression program as a replacement for compress - Homepage: http://www.gnu.org/software/gzip/]]
whatis([[Name: gzip]])
whatis([[Version: 1.6]])
whatis([[Description: gzip (GNU zip) is a popular data compression program as a replacement for compress - Homepage: http://www.gnu.org/software/gzip/]])
whatis([[Homepage: http://www.gnu.org/software/gzip/]])

local root = "/Users/kehoste/.local/easybuild/software/gzip/1.6-goolf-1.5.14-no-OFED"

conflict("gzip")

if not isloaded("goolf/1.5.14-no-OFED") then
    load("goolf/1.5.14-no-OFED")
end

prepend_path("MANPATH", pathJoin(root, "share/man"))
prepend_path("PATH", pathJoin(root, "bin"))
setenv("EBROOTGZIP", root)
setenv("EBVERSIONGZIP", "1.6")
setenv("EBDEVELGZIP", pathJoin(root, "easybuild/gzip-1.6-goolf-1.5.14-no-OFED-easybuild-devel"))

 -- Built with EasyBuild version 2.1.0dev-r91ae79170204d22ad3a5adae9365450b5549e8ef

@rtmclay
Copy link
Copy Markdown

rtmclay commented Apr 1, 2015

I have looked at this and it looks good to me.

@hpcugentbot
Copy link
Copy Markdown

Refer to this link for build results (access rights to CI server needed):
https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/1591/
Test PASSed.

@kcgthb
Copy link
Copy Markdown
Contributor

kcgthb commented Apr 1, 2015

Would you consider generating "family" directives too?

@pforai
Copy link
Copy Markdown
Contributor Author

pforai commented Apr 1, 2015

Yeah, totally. I have this on the road map for 2.2. Note that we will support that with Tcl and Lua module files. Same goes for properties!

@boegel
Copy link
Copy Markdown
Member

boegel commented Apr 2, 2015

Merging this beast. Thanks @pforai for all the hard work on this.
Thanks @stdweird for the thorough reviews, and @rtmclay and everyone else for the feedback on this.

This is going to be one of the major features for the upcoming EasyBuild v2.1.

We can follow-up on this with support for the Lmod families and properties features in upcoming PRs.

boegel added a commit that referenced this pull request Apr 2, 2015
@boegel boegel merged commit 88d3860 into easybuilders:develop Apr 2, 2015
@boegel
Copy link
Copy Markdown
Member

boegel commented Apr 3, 2015

@kcgthb: support for both family and property statements is being added in #1257

@kcgthb
Copy link
Copy Markdown
Contributor

kcgthb commented Apr 3, 2015

Excellent, thx!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants