From c4c1d37fcdeb17680a85af25431314dae4fa3584 Mon Sep 17 00:00:00 2001 From: Todd Gamblin Date: Fri, 23 Mar 2018 23:16:37 -0700 Subject: refactor: move templates from root to share/spack - This complies with the unix directory hierarchy standard (which Spack attempts to follow) - Also unclutters the repo root directory. --- share/spack/templates/modules/modulefile.dk | 31 ++++++++ share/spack/templates/modules/modulefile.lua | 91 +++++++++++++++++++++++ share/spack/templates/modules/modulefile.tcl | 82 ++++++++++++++++++++ share/spack/templates/reports/cdash/Build.xml | 27 +++++++ share/spack/templates/reports/cdash/Configure.xml | 8 ++ share/spack/templates/reports/cdash/Site.xml | 7 ++ share/spack/templates/reports/cdash/Update.xml | 11 +++ share/spack/templates/reports/junit.xml | 51 +++++++++++++ 8 files changed, 308 insertions(+) create mode 100644 share/spack/templates/modules/modulefile.dk create mode 100644 share/spack/templates/modules/modulefile.lua create mode 100644 share/spack/templates/modules/modulefile.tcl create mode 100644 share/spack/templates/reports/cdash/Build.xml create mode 100644 share/spack/templates/reports/cdash/Configure.xml create mode 100644 share/spack/templates/reports/cdash/Site.xml create mode 100644 share/spack/templates/reports/cdash/Update.xml create mode 100644 share/spack/templates/reports/junit.xml (limited to 'share') diff --git a/share/spack/templates/modules/modulefile.dk b/share/spack/templates/modules/modulefile.dk new file mode 100644 index 0000000000..c3f6d2dce1 --- /dev/null +++ b/share/spack/templates/modules/modulefile.dk @@ -0,0 +1,31 @@ +{% block header %} +{% if category %} +#c {{ category }} +{% endif %} +{% if short_description %} +#d {{ short_description }} +{% endif %} +{% if long_description %} +{{ long_description| textwrap(72)| prepend_to_line('#h ')| join() }} +{% endif %} +{% endblock %} + +{% block autoloads %} +{% for module in autoload %} +dk_op {{ module }} +{% endfor %} +{% endblock %} + +{% block environment %} +{% for command_name, cmd in environment_modifications %} +{% if command_name == 'PrependPath' %} +dk_alter {{ cmd.name }} {{ cmd.value }} +{% endif %} +{% if command_name == 'RemovePath' %} +dk_unalter {{ cmd.name }} {{ cmd.value }} +{% endif %} +{% if command_name == 'SetEnv' %} +dk_setenv {{ cmd.name }} {{ cmd.value }} +{% endif %} +{% endfor %} +{% endblock %} diff --git a/share/spack/templates/modules/modulefile.lua b/share/spack/templates/modules/modulefile.lua new file mode 100644 index 0000000000..cf37595228 --- /dev/null +++ b/share/spack/templates/modules/modulefile.lua @@ -0,0 +1,91 @@ +-- -*- lua -*- +-- Module file created by spack (https://github.com/spack/spack) on {{ timestamp }} +-- +-- {{ spec.short_spec }} +-- + +{% block header %} +{% if short_description %} +whatis([[Name : {{ spec.name }}]]) +whatis([[Version : {{ spec.version }}]]) +whatis([[Short description : {{ short_description }}]]) +{% endif %} +{% if configure_options %} +whatis([[Configure options : {{ configure_options }}]]) +{% endif %} + +{% if long_description %} +help([[{{ long_description| textwrap(72)| join() }}]]) +{% endif %} +{% endblock %} + +{% block provides %} +{# Prepend the path I unlock as a provider of #} +{# services and set the families of services I provide #} +{% if has_modulepath_modifications %} +-- Services provided by the package +{% for name in provides %} +family("{{ name }}") +{% endfor %} + +-- Loading this module unlocks the path below unconditionally +{% for path in unlocked_paths %} +prepend_path("MODULEPATH", "{{ path }}") +{% endfor %} + +{# Try to see if missing providers have already #} +{# been loaded into the environment #} +{% if has_conditional_modifications %} +-- Try to load variables into path to see if providers are there +{% for name in missing %} +local {{ name }}_name = os.getenv("LMOD_{{ name|upper() }}_NAME") +local {{ name }}_version = os.getenv("LMOD_{{ name|upper() }}_VERSION") +{% endfor %} + +-- Change MODULEPATH based on the result of the tests above +{% for condition, path in conditionally_unlocked_paths %} +if {{ condition }} then + local t = pathJoin({{ path }}) + prepend_path("MODULEPATH", t) +end +{% endfor %} + +-- Set variables to notify the provider of the new services +{% for name in provides %} +setenv("LMOD_{{ name|upper() }}_NAME", "{{ name_part }}") +setenv("LMOD_{{ name|upper() }}_VERSION", "{{ version_part }}") +{% endfor %} +{% endif %} +{% endif %} +{% endblock %} + +{% block autoloads %} +{% for module in autoload %} +if not isloaded("{{ module }}") then +{% if verbose %} + LmodMessage("Autoloading {{ module }}") +{% endif %} + load("{{ module }}") +end +{% endfor %} +{% endblock %} + +{% block environment %} +{% for command_name, cmd in environment_modifications %} +{% if command_name == 'PrependPath' %} +prepend_path("{{ cmd.name }}", "{{ cmd.value }}") +{% elif command_name == 'AppendPath' %} +append_path("{{ cmd.name }}", "{{ cmd.value }}") +{% elif command_name == 'RemovePath' %} +remove_path("{{ cmd.name }}", "{{ cmd.value }}") +{% elif command_name == 'SetEnv' %} +setenv("{{ cmd.name }}", "{{ cmd.value }}") +{% elif command_name == 'UnsetEnv' %} +unsetenv("{{ cmd.name }}") +{% endif %} +{% endfor %} +{% endblock %} + +{% block footer %} +{# In case the module needs to be extended with custom LUA code #} +{% endblock %} diff --git a/share/spack/templates/modules/modulefile.tcl b/share/spack/templates/modules/modulefile.tcl new file mode 100644 index 0000000000..833d8bf6c2 --- /dev/null +++ b/share/spack/templates/modules/modulefile.tcl @@ -0,0 +1,82 @@ +#%Module1.0 +## Module file created by spack (https://github.com/spack/spack) on {{ timestamp }} +## +## {{ spec.short_spec }} +## +{% if configure_options %} +## Configure options: {{ configure_options }} +## +{% endif %} + + +{% block header %} +{% if short_description %} +module-whatis "{{ short_description }}" +{% endif %} + +{% if long_description %} +proc ModulesHelp { } { +{{ long_description| textwrap(72)| quote()| prepend_to_line('puts stderr ')| join() }} +} +{% endif %} +{% endblock %} + +{% block autoloads %} +{% for module in autoload %} +if ![ is-loaded {{ module }} ] {{ '{' }} +{% if verbose %} + puts stderr "Autoloading {{ module }}" +{% endif %} + module load {{ module }} +{{ '}' }} +{% endfor %} +{% endblock %} +{# #} +{% block prerequisite %} +{% for module in prerequisites %} +prereq {{ module }} +{% endfor %} +{% endblock %} +{# #} +{% block conflict %} +{% for name in conflicts %} +conflict {{ name }} +{% endfor %} +{% endblock %} + +{% block environment %} +{% for command_name, cmd in environment_modifications %} +{% if cmd.separator != ':' %} +{# A non-standard separator is required #} +{% if command_name == 'PrependPath' %} +prepend-path --delim "{{ cmd.separator }}" {{ cmd.name }} "{{ cmd.value }}" +{% elif command_name == 'AppendPath' %} +append-path --delim "{{ cmd.separator }}" {{ cmd.name }} "{{ cmd.value }}" +{% elif command_name == 'RemovePath' %} +remove-path --delim "{{ cmd.separator }}" {{ cmd.name }} "{{ cmd.value }}" +{% elif command_name == 'SetEnv' %} +setenv --delim "{{ cmd.separator }}" {{ cmd.name }} "{{ cmd.value }}" +{% elif command_name == 'UnsetEnv' %} +unsetenv {{ cmd.name }} +{% endif %} +{% else %} +{# We are using the usual separator #} +{% if command_name == 'PrependPath' %} +prepend-path {{ cmd.name }} "{{ cmd.value }}" +{% elif command_name == 'AppendPath' %} +append-path {{ cmd.name }} "{{ cmd.value }}" +{% elif command_name == 'RemovePath' %} +remove-path {{ cmd.name }} "{{ cmd.value }}" +{% elif command_name == 'SetEnv' %} +setenv {{ cmd.name }} "{{ cmd.value }}" +{% elif command_name == 'UnsetEnv' %} +unsetenv {{ cmd.name }} +{% endif %} +{# #} +{% endif %} +{% endfor %} +{% endblock %} + +{% block footer %} +{# In case he module needs to be extended with custom TCL code #} +{% endblock %} diff --git a/share/spack/templates/reports/cdash/Build.xml b/share/spack/templates/reports/cdash/Build.xml new file mode 100644 index 0000000000..1d184349b3 --- /dev/null +++ b/share/spack/templates/reports/cdash/Build.xml @@ -0,0 +1,27 @@ + + {{ build.starttime }} + {{ install_command }} +{% for warning in build.warnings %} + + {{ warning.line_no }} + {{ warning.text }} + {{ warning.source_file }} + {{ warning.source_line_no }} + {{ warning.pre_context }} + {{ warning.post_context }} + +{% endfor %} +{% for error in build.errors %} + + {{ error.line_no }} + {{ error.text }} + {{ error.source_file }} + {{ error.source_line_no }} + {{ error.pre_context }} + {{ error.post_context }} + +{% endfor %} + {{ build.endtime }} + 0 + + diff --git a/share/spack/templates/reports/cdash/Configure.xml b/share/spack/templates/reports/cdash/Configure.xml new file mode 100644 index 0000000000..0451279563 --- /dev/null +++ b/share/spack/templates/reports/cdash/Configure.xml @@ -0,0 +1,8 @@ + + {{ configure.starttime }} + {{ install_command }} + {{ configure.log }} + {{ configure.status }} + {{ configure.endtime }} + + diff --git a/share/spack/templates/reports/cdash/Site.xml b/share/spack/templates/reports/cdash/Site.xml new file mode 100644 index 0000000000..a47ffd34e6 --- /dev/null +++ b/share/spack/templates/reports/cdash/Site.xml @@ -0,0 +1,7 @@ + + + diff --git a/share/spack/templates/reports/cdash/Update.xml b/share/spack/templates/reports/cdash/Update.xml new file mode 100644 index 0000000000..39f3d6a337 --- /dev/null +++ b/share/spack/templates/reports/cdash/Update.xml @@ -0,0 +1,11 @@ + + + {{ hostname }} + {{ install_command }} + {{ buildstamp }} + {{ starttime }} + {{ endtime }} +{% if msg %} + {{ msg }} +{% endif %} + diff --git a/share/spack/templates/reports/junit.xml b/share/spack/templates/reports/junit.xml new file mode 100644 index 0000000000..62e6db40c8 --- /dev/null +++ b/share/spack/templates/reports/junit.xml @@ -0,0 +1,51 @@ + + + +{% for spec in specs %} + + +{% for property in spec.properties %} + +{% endfor %} + +{% for package in spec.packages %} + +{% if package.result == 'failure' %} + +{{ package.exception }} + +{% elif package.result == 'error' %} + +{{ package.exception }} + +{% elif package.result == 'skipped' %} + +{% endif %} +{% if package.stdout %} + +{{ package.stdout }} + +{% endif %} +{% if package.stderr %} + +{{ package.stderr }} + +{% endif %} + +{% endfor %} +{# Add an error tag? #} + +{% endfor %} + -- cgit v1.2.3-60-g2f50