DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUGĀ·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=40992>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED ANDĀ·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=40992

           Summary: ENV property of EXEC task must support case insensitive
                    variable names on Windows, either by default or via an
                    extra attribute
           Product: Ant
           Version: 1.6.5
          Platform: PC
        OS/Version: Windows Server 2003
            Status: NEW
          Severity: major
          Priority: P2
         Component: Core tasks
        AssignedTo: dev@ant.apache.org
        ReportedBy: [EMAIL PROTECTED]


Environment variables are case insensitive on Windows, but ANT ignores that 
fact.
If an environment variable is already defined on the system, ENV property of 
the EXEC tag fails to modify it, if name case does not match.

For example, nls_lang variable is defined at the system level as 
american_america.we8mswin1252.
To perform correct export of data from Oracle, it needs to be set to 
american_america.al32utf8.
<exec executable="exp.exe" failonerror="true">
  <env key="NLS_LANG" value="american_america.al32utf8"/>
  <arg line="scott/tiger file=scott-exp.dmp"/>
</exec>
The above task would fail to change the NLS_LANG variable (because nls_lang 
variable is already defined) and exported data won't be valid (loss of 
localized data and questionable statistics).

If ENV parameter is specified as
  <env key="nls_lang" value="american_america.al32utf8"/>
the variable in question will be properly matched and overwritten.

Unfortunately, there are 128 (2^7) possible ways how the "NLS_LANG" variable 
can be defined on Windows and it's not realistic to "use the right case".

While running on Windows, ANT should defaults to the Windows behavior, or al 
least provide an extra attribute (something like casesensitivity=
{"true"|false"}) to allow case insensitive environment variable match.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to