mirror of
https://github.com/envmodules/modules.git
synced 2026-06-10 00:56:30 +08:00
35 lines
1.3 KiB
Ruby
35 lines
1.3 KiB
Ruby
# setup quarantine if defined
|
|
_mlre = ''
|
|
if ENV.has_key?('MODULES_RUN_QUARANTINE') then
|
|
ENV['MODULES_RUN_QUARANTINE'].split(' ').each do |_mlv|
|
|
if _mlv =~ /^[A-Za-z_][A-Za-z0-9_]*$/ then
|
|
if ENV.has_key?(_mlv) then
|
|
_mlre << _mlv + "_modquar='" + ENV[_mlv].to_s + "' "
|
|
end
|
|
_mlrv = 'MODULES_RUNENV_' + _mlv
|
|
_mlre << _mlv + "='" + ENV[_mlrv].to_s + "' "
|
|
end
|
|
end
|
|
unless _mlre.empty?
|
|
_mlre = 'env ' + _mlre
|
|
end
|
|
end
|
|
|
|
# define module command and surrounding initial environment (default value
|
|
# for MODULESHOME, MODULEPATH, LOADEDMODULES and parse of init/.modulespath)
|
|
eval `#{_mlre}@TCLSH@ @libexecdir@/modulecmd.tcl ruby autoinit`
|
|
@compatversion@
|
|
@compatversion@# redefine module command if compat version has been activated
|
|
@compatversion@if ENV['MODULES_USE_COMPAT_VERSION'] == '1' then
|
|
@compatversion@ class ENVModule
|
|
@compatversion@ def ENVModule.module(*args)
|
|
@compatversion@ if args[0].kind_of?(Array) then
|
|
@compatversion@ args = args[0].join(' ')
|
|
@compatversion@ else
|
|
@compatversion@ args = args.join(' ')
|
|
@compatversion@ end
|
|
@compatversion@ eval `@libexecdir@/modulecmd-compat ruby #{args}`
|
|
@compatversion@ end
|
|
@compatversion@ end
|
|
@compatversion@end
|