ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rolf Schumacher <Rolf.Schumac...@hamburg.de>
Subject Re: String handling / Macro Processing
Date Tue, 26 Nov 2002 17:10:11 GMT
ok, Dominique - so I haven't missed a description on this subject.
Thanks for pointing me to <script/>

Rolf

Dominique Devienne wrote:

>It's worth answering Rolf, but the answer is not good... There is currently
>no task that does string manipulation on properties directly. Nevertheless,
>you can easily do it yourself using a <script> and any of the
>Java-implemented BSF-compatible languages out there: JavaScript, BeanShell,
>Jacl, etc... The following below shows you how. This is no substitute for a
>good task that would be doing property manipulation, but it does the job
>relatively easily (once you have the proper JARs for <script>). --DD
>
>P:\org_apache\antx>%ANT_HOME%\bin\ant -f property-manip-script.xml
>Buildfile: property-manip-script.xml
>
>test:
>     [echo] package name = com.myName.helloWorld
>     [echo] package path = com\myName\helloWorld
>     [echo] package class = helloWorld
>
>BUILD SUCCESSFUL
>Total time: 1 second
>P:\org_apache\antx>type property-manip-script.xml
><?xml version="1.0"?>
>
><!-- ANT build file to test a specific feature or bug of ANT.
>     Dominique Devienne <ddevienne@lgc.com>     November 2002
>  -->
><project name="property-manip" default="test">
>
>  <target name="test">
>    <property name="package" value="com.myName.helloWorld" />
>
>    <!-- Sets the file.size property with the length of the
>         file as named in the ant.file property -->
>    <script language="javascript"><![CDATA[
>      pkgName = self.getProject().getProperty("package");
>      pkgPath = pkgName.replace('.', java.io.File.separatorChar);
>      pkgClss = pkgName.substring(pkgName.lastIndexOf('.')+1);
>      self.getProject().setNewProperty("packagePath", pkgPath);
>      self.getProject().setNewProperty("packageClass", pkgClss);
>    ]]></script>
>
>    <echo message="package name = ${package}" />
>    <echo message="package path = ${packagePath}" />
>    <echo message="package class = ${packageClass}" />
>  </target>
>
></project>
>
>P:\org_apache\antx>
>
>PS: Of course, getting the class name from the qualified
>    class name is a bit more involved than that to be generic. 
>
>-----Original Message-----
>From: Rolf Schumacher [mailto:Rolf.Schumacher@hamburg.de] 
>Sent: Monday, November 25, 2002 3:29 AM
>To: Ant Users List
>Subject: Re: String handling / Macro Processing
>
>Seems that this question is not worth answering or there is no answer it.
>
>Rolf
>
>Rolf Schumacher wrote:
>
>  
>
>>Compared with the not-so-good old make utility
>>I wonder how string handling is done in Ant.
>>Looked thru the manual and couldn't find it.
>>
>>E.g.:
>>Setting properties like
>><property name="package" value="com.myName.helloWorld"/>
>><property name="packagePath" value="com/myName/helloWorld"/>
>><property name="mainClass" value="HelloWorld"/>
>>
>>are redundant, at least do me.
>>There has to be a way to base all three on common information.
>>
>>What have I missed?
>>
>>Rolf
>>    
>>
>
>--
>To unsubscribe, e-mail:   <mailto:ant-user-unsubscribe@jakarta.apache.org>
>For additional commands, e-mail: <mailto:ant-user-help@jakarta.apache.org>
>
>
>  
>



--
To unsubscribe, e-mail:   <mailto:ant-user-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:ant-user-help@jakarta.apache.org>


Mime
View raw message