ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jan.Mate...@rzf.fin-nrw.de
Subject RE: How to map JBuilder settings in Ant syntax
Date Mon, 04 Aug 2003 09:03:32 GMT
The <propertyregex> is important because the
    <root>...</root>
is not a valid path. So you have to delete the xml tags around the
real path. I used the <propertyregex> of the latest ant-contrib binary
on a JDK 1.4.2 without any problems (I tested that buildfile while writing
with a one JPX and two JB-library files).

If you don´t want to use <propertyregex> you can write that into a file
and use <replaceregexp>. But because I used ant-contrib already I´d chosen
to use the replacement in-memory.


Next step in the buildfile is to create a <path>. You can refer to this path
everywhere in your buildfile by its name (here 'path').


The file you got is not needed. You got it only because you are not using
in-memory replacement.



Jan



> -----Original Message-----
> From: GFC [mailto:giandina.casula@hccnet.nl]
> Sent: Sunday, August 03, 2003 3:40 PM
> To: Ant Users List
> Subject: Re: How to map JBuilder settings in Ant syntax
> 
> 
> Hi,
> 
> I tried the scripts and for me it works after removing
> the propertyregex tag (because I couldn't make it work
> otherwise). The output then results in a xml file with the
> following content:
> 
> <?xml version="1.0" encoding="UTF-8"?>
> <root>G%|/java libs/javamail-1.3/mail.jar;G%|/java
> libs/jaf-1.0.2/activation.jar;E%|/Oracle/Ora81/jdbc/lib/classe
> s12.zip;servle
> t.jar;</root>
> 
> Do I have to include these lines in my original build.xml
> in order to map my JBuilder settings?
> 
> Thanks,
> 
> Gian Franco
> 
> 
> ----- Original Message -----
> From: <Jan.Materne@rzf.fin-nrw.de>
> To: <user@ant.apache.org>
> Sent: Friday, July 25, 2003 12:05 PM
> Subject: RE: How to map JBuilder settings in Ant syntax
> 
> 
> > Interesting thing :-)
> >
> > I created a buildfile which will do that work.
> > Required:
> > - xmltask libarary from
> http://www.oopsconsultancy.com/software/xmltask.html
> > - ant-contrib library from
> > http://sourceforge.net/project/showfiles.php?group_id=36177
> >
> > Extract:
> > - extract the information which libarary are used from the jbuilder
> project
> > file (JPX)
> > - iterate over all used library files (*.library)
> >   !!! the library file must have the <nameInJPX>.library 
> filename !!!
> > - extract the class path information and collect that
> > - transform that collected infos to a semicolon separated list
> > - create a <path> with that
> >
> > But there is still a problem: JBuilder allows to define a 
> path INSIDE an
> > archive. E.g.
> >     [lib/junit.zip]/classes
> > This is not handled by this script. But maybe there will be 
> no problems
> with
> > that...
> >
> >
> >
> >
> > <?xml version="1.0" encoding="ISO-8859-1"?>
> > <project name="test" basedir="." default="main">
> >
> >
> >     <!-- import the ant libraries -->
> >     <taskdef resource="net/sf/antcontrib/antcontrib.properties"/>
> >     <taskdef name="xmltask"
> > classname="com.oopsconsultancy.xmltask.ant.XmlTask"/>
> >
> >
> >     <!-- the jbuilder project file to analyze -->
> >     <property name="jbx.file" value="SZV.jpx"/>
> >
> >
> >     <target name="main" description="Create a classpath 
> from JBuilder
> > project file">
> >         <!-- extract the used libraries from the JPX file 
> and load that as
> > ant property -->
> >         <property name="tmp" value="tmp.xml"/>
> >         <xmltask source="${jbx.file}">
> >             <copy
> > path="/project/property[@category='sys'][@name='Libraries']"
> > buffer="usedlibs"/>
> >         </xmltask>
> >         <xmltask dest="${tmp}">
> >             <insert path="/" buffer="usedlibs"/>
> >         </xmltask>
> >         <xmlproperty file="${tmp}" />
> >         <delete file="${tmp}"/>
> >
> >         <echo>all included libraries are:  ${property(value)}</echo>
> >
> >         <!-- iterate over the used library files and extract their
> classpath
> > -->
> >         <foreach target="processLibFile" param="libfile"
> > list="${property(value)}" delimiter=";"/>
> >
> >         <!-- store the result in a new xml file -->
> >         <xmltask dest="${tmp}">
> >             <insert path="/"><![CDATA[ <root/> ]]></insert>
> >             <insert path="/root" buffer="libs.classpath"/>
> >         </xmltask>
> >
> >         <!-- change to intermediate format -->
> >         <replace file="${tmp}">
> >             <replacefilter token="["/>
> >             <replacefilter token="]"/>
> >             <replacefilter token="&lt;path&gt;"/>
> >             <replacefilter token="&lt;/path&gt;" value=";"/>
> >             <replacefilter token="${line.separator}"/>
> >         </replace>
> >
> >         <!-- read the input -->
> >         <loadfile property="file" srcFile="${tmp}"/>
> >
> >         <delete file="${tmp}"/>
> >
> >         <!-- extract the values to a valid path -->
> >         <propertyregex property="pathvalue" input="${file}"
> > regexp="&lt;root&gt;(.*)&lt;/root&gt;" select="\1"/>
> >
> >         <!-- create a <path> element -->
> >         <path id="path">
> >             <path path="${pathvalue}"/>
> >         </path>
> >
> >         <!-- use the created path -->
> >         <pathconvert property="path.win32" refid="path"
> targetos="windows"/>
> >         <echo>path.win32: ${path.win32}</echo>
> >     </target>
> >
> >
> >     <!-- Extract the classpath from one library file -->
> >     <target name="processLibFile" if="libfile">
> >         <xmltask source="${libfile}.library">
> >             <copy path="/library/class/path" buffer="libs.classpath"
> > append="true"/>
> >         </xmltask>
> >     </target>
> >
> > </project>
> >
> >
> >
> > With short tests on my computer that works ...
> >
> >
> > Jan
> >
> >
> >
> > > -----Original Message-----
> > > From: Gian Franco Casula [mailto:Gian.Franco.Casula@topficie.nl]
> > > Sent: Thursday, July 24, 2003 1:44 PM
> > > To: user@ant.apache.org
> > > Subject: How to map JBuilder settings in Ant syntax
> > >
> > >
> > > Hello,
> > >
> > > Does anyone know how to translate the entries in
> > > 'Required libraries' in the JBuilder 'Project properties'
> > > in my build.xml?
> > >
> > > Example: in JBuilder I have the 'Required library' called 'mail'
> > > (which consists of two jar files) it's content is used by JBuilder
> > > during compilation. Since I haven't 'included' this library in my
> > > build.xml a compilation error occurs, which I only manage to
> > > skip by deleting the class referencing the 'mail' files.
> > >
> > > Thank you,
> > >
> > > Gian Franco
> > >
> >
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
> For additional commands, e-mail: user-help@ant.apache.org
> 

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message