| author | hamidouk |
| Tue, 20 Sep 2011 13:10:53 +0200 | |
| changeset 49 | b77b10a21775 |
| permissions | -rw-r--r-- |
|
49
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
1 |
/* |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
2 |
|
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
3 |
Licensed to the Apache Software Foundation (ASF) under one or more |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
4 |
contributor license agreements. See the NOTICE file distributed with |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
5 |
this work for additional information regarding copyright ownership. |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
6 |
The ASF licenses this file to You under the Apache License, Version 2.0 |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
7 |
(the "License"); you may not use this file except in compliance with |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
8 |
the License. You may obtain a copy of the License at |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
9 |
|
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
10 |
http://www.apache.org/licenses/LICENSE-2.0 |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
11 |
|
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
12 |
Unless required by applicable law or agreed to in writing, software |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
13 |
distributed under the License is distributed on an "AS IS" BASIS, |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
14 |
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
15 |
See the License for the specific language governing permissions and |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
16 |
limitations under the License. |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
17 |
|
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
18 |
SET environment variables |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
19 |
First optional parameter: |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
20 |
; parameters are considered parts of a path variable, semicolons are |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
21 |
appended to each element if not already present |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
22 |
-D parameters are properties for Java or Makefile etc., -D will be |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
23 |
prepended and the parameters will be separated by a space |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
24 |
=D the same as above but equal sign is not required |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
25 |
, parameters should be comma separated in the environment variable |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
26 |
- parameters should be separated by the next parameter |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
27 |
Other values mean that the first parameter is missing and the environment |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
28 |
variable will be set to the space separated parameters |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
29 |
|
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
30 |
Second parameter: name of the environment variable |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
31 |
|
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
32 |
Next parameters: values |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
33 |
; implies that the equal sign is considered a part of the parameter and is |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
34 |
not interpreted |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
35 |
|
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
36 |
-D requires parameters in the form name=value. If the equal sign is not found, |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
37 |
the parameters are changed to name=expanded_name |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
38 |
|
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
39 |
Other options have optional equal sign. If it is found, only the part after |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
40 |
the equal sign will be oprionally expanded. |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
41 |
|
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
42 |
If the parameter is the minus sign, the next parameter will not be expanded. |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
43 |
If the parameter is a single dot, it will be replaced with the value of the |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
44 |
environment variable as it existed before envset was invoked. |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
45 |
|
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
46 |
For other parameters the batch looks for the environment variable with the |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
47 |
same name (in uppercase). If it is found, it forms the expanded_name. If |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
48 |
the environment variable with such a name does not exist, the expanded_name |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
49 |
will hold the parameter name without case conversion. |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
50 |
*/ |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
51 |
|
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
52 |
parse arg mode envar args |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
53 |
|
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
54 |
equal = 0 |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
55 |
sep = ' ' |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
56 |
|
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
57 |
/* Parse command line parameters */ |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
58 |
select |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
59 |
when mode='-' then do |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
60 |
sep = envar |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
61 |
parse var args envar args |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
62 |
end |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
63 |
when mode=';' then do |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
64 |
sep = '' |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
65 |
equal = -1 |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
66 |
end |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
67 |
when mode='-D' then equal = 1 |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
68 |
when mode='=D' then mode = '-D' |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
69 |
when mode=',' then sep = ',' |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
70 |
otherwise |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
71 |
args = envar args |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
72 |
envar = mode |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
73 |
mode = '' |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
74 |
end |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
75 |
|
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
76 |
env = 'OS2ENVIRONMENT' |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
77 |
envar = translate(envar) |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
78 |
orig = value(envar,,env) |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
79 |
newval = '' |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
80 |
expand = 1 |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
81 |
|
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
82 |
/* for each parameter... */ |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
83 |
do i = 1 to words(args) |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
84 |
if expand > 0 & word(args, i) = '-' then expand = 0 |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
85 |
else call addval word(args, i) |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
86 |
end |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
87 |
|
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
88 |
/* Optionally enclose path variable by quotes */ |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
89 |
if mode = ';' & pos(' ', newval) > 0 then newval = '"' || newval || '"' |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
90 |
|
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
91 |
/* Set the new value, 'SET' cannot be used since it does not allow '=' */ |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
92 |
x = value(envar, newval, env) |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
93 |
exit 0 |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
94 |
|
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
95 |
addval: procedure expose sep equal orig expand newval mode env |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
96 |
parse arg var |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
97 |
|
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
98 |
if var = '.' then expvar = orig |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
99 |
else do |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
100 |
if equal >= 0 then do |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
101 |
parse var var name '=' val |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
102 |
if val = '' then var = name |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
103 |
else var = val |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
104 |
end |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
105 |
if expand = 0 then expvar = var |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
106 |
else expvar = value(translate(var),,env) |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
107 |
if expvar = '' then expvar = var |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
108 |
if equal >= 0 then do |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
109 |
if val = '' then do |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
110 |
parse var expvar key '=' val |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
111 |
if val <> '' then name = key |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
112 |
else do |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
113 |
if equal > 0 then val = key |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
114 |
else name = key |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
115 |
end |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
116 |
end |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
117 |
else val = expvar |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
118 |
if pos(' ', val) > 0 | pos('=', val) > 0 then val = '"' || val || '"' |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
119 |
if val = '' then expvar = name |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
120 |
else expvar = name || '=' || val |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
121 |
end |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
122 |
if mode = '-D' then expvar = '-D' || expvar |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
123 |
if mode = ';' then do |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
124 |
if right(expvar, 1) <> ';' then expvar = expvar || ';' |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
125 |
end |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
126 |
end |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
127 |
|
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
128 |
if newval = '' then newval = expvar |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
129 |
else newval = newval || sep || expvar |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
130 |
expand = 1 |
|
b77b10a21775
ajouté ant dans le repo et modifié compil.bat pour qu'il utilise la version
hamidouk
parents:
diff
changeset
|
131 |
return |