http://nagoya.apache.org/bugzilla/show_bug.cgi?id=735
*** shadow/735 Tue Feb 27 11:07:49 2001
--- shadow/735.tmp.897 Tue Feb 27 11:07:49 2001
***************
*** 0 ****
--- 1,55 ----
+ +============================================================================+
+ | arg tag removes valid quotes from line parameters |
+ +----------------------------------------------------------------------------+
+ | Bug #: 735 Product: Ant |
+ | Status: NEW Version: 1.3 Beta 3 |
+ | Resolution: Platform: Macintosh |
+ | Severity: Normal OS/Version: MacOS X |
+ | Priority: Component: Core tasks |
+ +----------------------------------------------------------------------------+
+ | Assigned To: [EMAIL PROTECTED] |
+ | Reported By: [EMAIL PROTECTED]
|
+ | CC list: Cc: |
+ +----------------------------------------------------------------------------+
+ | URL: |
+ +============================================================================+
+ | DESCRIPTION |
+ If I have a parameter I want to use as part of an apply/exec/execon task and
it contains quotes, I have to pass it as a value, not as part of a line. If I
pass it as part of a line, then the quotes get stripped. In practice, this is
a problem because we're compiling with GCC and we have rather extensive
properties defined with data like:
+
+ -DVERSION_STRING="1.0.0" -DBUILD_STRING="51"
+
+ I've put together a demonstration project. It uses echo for the executable,
and it obviously strips the quotes from an otherwise valid parameter. The
behavior is consistent with all three tasks noted.
+
+
+ <project name="applyBug" default="all">
+
+ <property name="argline" value="-Dsomevar="a quoted value""/>
+
+ <target name="all" depends="doApply,doExecOn,doExec"/>
+
+ <target name="doApply">
+ <apply dest="${basedir}" executable="echo">
+ <arg line="${argline}"/>
+ <fileset dir="${basedir}">
+ <patternset includes="*.c"/>
+ </fileset>
+ <mapper type="glob" from="*.c" to="*.o"/>
+ </apply>
+ </target>
+
+ <target name="doExecOn">
+ <execon executable="echo">
+ <arg line="${argline}"/>
+ <fileset dir="${basedir}">
+ <patternset includes="*.c"/>
+ </fileset>
+ </execon>
+ </target>
+
+ <target name="doExec">
+ <exec executable="echo">
+ <arg line="${argline} file2.c file2.c"/>
+ </exec>
+ </target>
+
+ </project>