74689cbcc0cebbd857a50b155293b82d7403df78al_xipe Licensed to the Apache Software Foundation (ASF) under one or more
74689cbcc0cebbd857a50b155293b82d7403df78al_xipe contributor license agreements. See the NOTICE file distributed with
74689cbcc0cebbd857a50b155293b82d7403df78al_xipe this work for additional information regarding copyright ownership.
74689cbcc0cebbd857a50b155293b82d7403df78al_xipe The ASF licenses this file to You under the Apache License, Version 2.0
74689cbcc0cebbd857a50b155293b82d7403df78al_xipe (the "License"); you may not use this file except in compliance with
74689cbcc0cebbd857a50b155293b82d7403df78al_xipe the License. You may obtain a copy of the License at
74689cbcc0cebbd857a50b155293b82d7403df78al_xipe Unless required by applicable law or agreed to in writing, software
74689cbcc0cebbd857a50b155293b82d7403df78al_xipe distributed under the License is distributed on an "AS IS" BASIS,
74689cbcc0cebbd857a50b155293b82d7403df78al_xipe WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
74689cbcc0cebbd857a50b155293b82d7403df78al_xipe See the License for the specific language governing permissions and
74689cbcc0cebbd857a50b155293b82d7403df78al_xipe limitations under the License.
74689cbcc0cebbd857a50b155293b82d7403df78al_xipeSET environment variables
74689cbcc0cebbd857a50b155293b82d7403df78al_xipeFirst optional parameter:
74689cbcc0cebbd857a50b155293b82d7403df78al_xipe ; parameters are considered parts of a path variable, semicolons are
74689cbcc0cebbd857a50b155293b82d7403df78al_xipe appended to each element if not already present
74689cbcc0cebbd857a50b155293b82d7403df78al_xipe -D parameters are properties for Java or Makefile etc., -D will be
74689cbcc0cebbd857a50b155293b82d7403df78al_xipe prepended and the parameters will be separated by a space
74689cbcc0cebbd857a50b155293b82d7403df78al_xipe =D the same as above but equal sign is not required
74689cbcc0cebbd857a50b155293b82d7403df78al_xipe , parameters should be comma separated in the environment variable
74689cbcc0cebbd857a50b155293b82d7403df78al_xipe - parameters should be separated by the next parameter
74689cbcc0cebbd857a50b155293b82d7403df78al_xipe Other values mean that the first parameter is missing and the environment
74689cbcc0cebbd857a50b155293b82d7403df78al_xipe variable will be set to the space separated parameters
74689cbcc0cebbd857a50b155293b82d7403df78al_xipeSecond parameter: name of the environment variable
74689cbcc0cebbd857a50b155293b82d7403df78al_xipeNext parameters: values
74689cbcc0cebbd857a50b155293b82d7403df78al_xipe; implies that the equal sign is considered a part of the parameter and is
74689cbcc0cebbd857a50b155293b82d7403df78al_xipenot interpreted
74689cbcc0cebbd857a50b155293b82d7403df78al_xipe-D requires parameters in the form name=value. If the equal sign is not found,
74689cbcc0cebbd857a50b155293b82d7403df78al_xipethe parameters are changed to name=expanded_name
74689cbcc0cebbd857a50b155293b82d7403df78al_xipeOther options have optional equal sign. If it is found, only the part after
74689cbcc0cebbd857a50b155293b82d7403df78al_xipethe equal sign will be oprionally expanded.
74689cbcc0cebbd857a50b155293b82d7403df78al_xipeIf the parameter is the minus sign, the next parameter will not be expanded.
74689cbcc0cebbd857a50b155293b82d7403df78al_xipeIf the parameter is a single dot, it will be replaced with the value of the
74689cbcc0cebbd857a50b155293b82d7403df78al_xipeenvironment variable as it existed before envset was invoked.
74689cbcc0cebbd857a50b155293b82d7403df78al_xipeFor other parameters the batch looks for the environment variable with the
74689cbcc0cebbd857a50b155293b82d7403df78al_xipesame name (in uppercase). If it is found, it forms the expanded_name. If
74689cbcc0cebbd857a50b155293b82d7403df78al_xipethe environment variable with such a name does not exist, the expanded_name
74689cbcc0cebbd857a50b155293b82d7403df78al_xipewill hold the parameter name without case conversion.
74689cbcc0cebbd857a50b155293b82d7403df78al_xipe/* Parse command line parameters */
74689cbcc0cebbd857a50b155293b82d7403df78al_xipe/* for each parameter... */
74689cbcc0cebbd857a50b155293b82d7403df78al_xipe/* Optionally enclose path variable by quotes */
74689cbcc0cebbd857a50b155293b82d7403df78al_xipeif mode = ';' & pos(' ', newval) > 0 then newval = '"' || newval || '"'
74689cbcc0cebbd857a50b155293b82d7403df78al_xipe/* Set the new value, 'SET' cannot be used since it does not allow '=' */
74689cbcc0cebbd857a50b155293b82d7403df78al_xipeaddval: procedure expose sep equal orig expand newval mode env
74689cbcc0cebbd857a50b155293b82d7403df78al_xipe if pos(' ', val) > 0 | pos('=', val) > 0 then val = '"' || val || '"'