blob: 22fabea9cfd0e37f713b91098050f700258dcb5b [file] [log] [blame]
/*
Copyright (c) 2003 The Apache Software Foundation. All rights
reserved.
Ant environment
*/
call RxFuncAdd "SysLoadFuncs", "RexxUtil", "SysLoadFuncs"
call SysLoadFuncs
/* Prepare the parameters for later use */
parse arg argv
mode = ''
args = ''
opts = ''
cp = ''
lcp = ''
do i = 1 to words(argv)
param = word(argv, i)
select
when param='-lcp' then mode = 'l'
when param='-cp' | param='-classpath' then mode = 'c'
when abbrev('-opts', param, 4) then mode = 'o'
when abbrev('-args', param, 4) then mode = 'a'
otherwise
select
when mode = 'a' then args = space(args param, 1)
when mode = 'c' then cp = space(cp param, 1)
when mode = 'l' then lcp = space(lcp param, 1)
when mode = 'o' then opts = space(opts param, 1)
otherwise
say 'Option' param 'ignored'
end
end
end
env="OS2ENVIRONMENT"
antconf = _getenv_('antconf' 'antconf.cmd')
runrc = _getenv_('runrc')
interpret 'call "' || runrc || '"' '"' || antconf || '"' 'ETC'
ANT_HOME = value('ANT_HOME',,env)
JAVA_HOME = value('JAVA_HOME',,env)
classpath = value('CLASSPATH',,env)
classes = stream(JAVA_HOME || "\lib\classes.zip", "C", "QUERY EXISTS")
if classes \= '' then classpath = prepend(classpath classes)
classes = stream(JAVA_HOME || "\lib\tools.jar", "C", "QUERY EXISTS")
if classes \= '' then classpath = prepend(classpath classes)
mincp = classpath
call SysFileTree ANT_HOME || '\lib\*.jar', 'jar', 'FO'
do i = 1 to jar.0
nm = filespec('name', jar.i)
if pos('ant-', nm) == 0 then classpath = prepend(classpath jar.i)
end
if length(classpath) > 512 then do
say 'Classpath is too long, switching to the minimal version...'
say '... some tasks will not work'
classpath = mincp
classpath = prepend(classpath ANT_HOME || '\lib\ant.jar')
classpath = prepend(classpath ANT_HOME || '\lib\optional.jar')
end
'SET CLASSPATH=' || classpath
/* Setting classpathes, options and arguments */
envset = _getenv_('envset')
if cp\='' then interpret 'call "' || envset || '"' '"; CLASSPATH"' '"' || cp || '"'
if lcp\='' then interpret 'call "' || envset || '"' '"; LOCALCLASSPATH"' '"' || lcp || '"'
if opts\='' then interpret 'call "' || envset || '"' '"-D ANT_OPTS"' '"' || opts || '"'
if args\='' then interpret 'call "' || envset || '"' '"ANT_ARGS"' '"' || args || '"'
exit 0
addpath: procedure
parse arg path elem
if elem = '' then do
if path\='' & right(path, 1)\=';' then path = path || ';'
return path
end
if substr(path, length(path)) = ';' then glue = ''
else glue = ';'
if pos(translate(elem), translate(path)) = 0 then path = path || glue || elem || ';'
return path
prepend: procedure
parse arg path elem
if elem = '' then do
if path\='' & right(path, 1)\=';' then path = path || ';'
return path
end
if pos(translate(elem), translate(path)) = 0 then path = elem || ';' || path
return path
_getenv_: procedure expose env
parse arg envar default
if default = '' then default = envar
var = value(translate(envar),,env)
if var = '' then var = default
return var