On 64bit systems there are some environment variables which contains
parentheses like *ProgramFiles(x86)* or *CommonProgramFiles(x86)*.
This are invalid property names which cause the sysinfo tasks to fail.
b) replace any parentheses in env.name with underscores and put this
into docu.
So I would like to go with b) since the properties could be used.
In addition docu states that function *environment::get-variable()*
should be used to retrieve env variables. So I think this won't affect a
lot of users.
Ok, I did some checks and will add some patches for discussion.
(text in [[[ ]]] might be used for commit message as seen at svn mailing
list)
[[[
fix incorrect definition of "failonerror" in <sysinfo> docu.
]]]
sysinfo-task-docu-error.patch
sysinfo-replace-propname.patch:
this is a first implementation to replace "sys.env.ProgramFiles(x86)"
with "sys.env.ProgramFiles_x86_"
There is still the docu change missing. But I will provide this when we
are going this way.
Result:
--- snip ---
[sysinfo] sys.env.ProgramFiles = C:\Programme
[sysinfo] sys.env.ProgramFiles_x86_ = C:\Programme
--- snap ---
[[[
sort sysinfo properties when using verbose="true"
]]]
sysinfo-verbose-sorted.patch:
This patch will output properties on sorted order in verbose. I found
that I need to search more than I like to find my replaced property
without this sorting
So far Dominik
--
The answer to the great question of life,
the universe and everything is 42 (Douglas Adams)
Index: SysInfo.cs
===================================================================
RCS file: /cvsroot/nant/nant/src/NAnt.Core/Tasks/SysInfo.cs,v
retrieving revision 1.18
diff -u -r1.18 SysInfo.cs
--- SysInfo.cs 24 May 2005 18:20:22 -0000 1.18
+++ SysInfo.cs 25 Mar 2010 09:56:00 -0000
@@ -89,7 +89,7 @@
/// <para>
/// When the name of an environment variable is not a valid property
name,
/// the task will fail. In that case, set <see cref="Task.FailOnError"
/> to
- /// <see langword="true" /> to allow that environment variable to be
+ /// <see langword="false" /> to allow that environment variable to be
/// skipped.
/// </para>
/// <note>
Index: SysInfo.cs
===================================================================
RCS file: /cvsroot/nant/nant/src/NAnt.Core/Tasks/SysInfo.cs,v
retrieving revision 1.18
diff -u -r1.18 SysInfo.cs
--- SysInfo.cs 24 May 2005 18:20:22 -0000 1.18
+++ SysInfo.cs 25 Mar 2010 09:58:07 -0000
@@ -189,8 +189,10 @@
IDictionary variables = Environment.GetEnvironmentVariables();
foreach (string name in variables.Keys) {
try {
- Properties[Prefix + "env." + name] = (string)
variables[name];
- } catch (Exception ex) {
+ string envName = name.Replace('(', '_').Replace(')', '_');
+ Properties[Prefix + "env." + envName] =
(string)variables[name];
+ }
+ catch (Exception ex) {
if (!FailOnError) {
Log(Level.Warning, "Property could not be created for"
+ " environment variable '{0}' : {1}", name,
------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
nant-developers mailing list
nant-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nant-developers