-
Notifications
You must be signed in to change notification settings - Fork 122
/
MC_Unload.lua
88 lines (83 loc) · 3.88 KB
/
MC_Unload.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
--------------------------------------------------------------------------
-- When unloading all the positive actions of a module are reversed. So
-- a "setenv()" becomes an unset and so forth. Note that reversing an
-- unload or an unsetenv command is a no-op.
--
-- @classmod MC_Unload
require("strict")
--------------------------------------------------------------------------
-- Lmod License
--------------------------------------------------------------------------
--
-- Lmod is licensed under the terms of the MIT license reproduced below.
-- This means that Lmod is free software and can be used for both academic
-- and commercial purposes at absolutely no cost.
--
-- ----------------------------------------------------------------------
--
-- Copyright (C) 2008-2017 Robert McLay
--
-- Permission is hereby granted, free of charge, to any person obtaining
-- a copy of this software and associated documentation files (the
-- "Software"), to deal in the Software without restriction, including
-- without limitation the rights to use, copy, modify, merge, publish,
-- distribute, sublicense, and/or sell copies of the Software, and to
-- permit persons to whom the Software is furnished to do so, subject
-- to the following conditions:
--
-- The above copyright notice and this permission notice shall be
-- included in all copies or substantial portions of the Software.
--
-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-- OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
-- BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
-- ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-- CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-- THE SOFTWARE.
--
--------------------------------------------------------------------------
local MasterControl = require("MasterControl")
MC_Unload = inheritsFrom(MasterControl)
MC_Unload.my_name = "MC_Unload"
MC_Unload.my_sType = "mt"
MC_Unload.my_tcl_mode = "remove"
local M = MC_Unload
local dbg = require("Dbg"):dbg()
M.always_load = MasterControl.quiet
M.always_unload = MasterControl.unload
M.add_property = MasterControl.remove_property
M.append_path = MasterControl.remove_path_last
M.conflict = MasterControl.quiet
M.depends_on = MasterControl.forgo
M.execute = MasterControl.execute
M.family = MasterControl.unset_family
M.help = MasterControl.quiet
M.inherit = MasterControl.inherit
M.load = MasterControl.unload
M.load_usr = MasterControl.unload
M.myFileName = MasterControl.myFileName
M.myModuleFullName = MasterControl.myModuleFullName
M.myModuleUsrName = MasterControl.myModuleUsrName
M.myModuleName = MasterControl.myModuleName
M.myModuleVersion = MasterControl.myModuleVersion
M.prepend_path = MasterControl.remove_path_first
M.prereq = MasterControl.quiet
M.prereq_any = MasterControl.quiet
M.pushenv = MasterControl.popenv
M.remove_path = MasterControl.quiet
M.remove_property = MasterControl.quiet
M.report = MasterControl.warning
M.setenv = MasterControl.unsetenv
M.set_alias = MasterControl.unset_alias
M.set_shell_function = MasterControl.unset_shell_function
M.try_load = MasterControl.unload
M.unload = MasterControl.quiet
M.unload_usr = MasterControl.quiet
M.unsetenv = MasterControl.quiet
M.unset_alias = MasterControl.quiet
M.unset_shell_function = MasterControl.quiet
M.usrload = MasterControl.unload
M.whatis = MasterControl.quiet
return M