Java Mailing List Archive

http://www.ant-tasks.com/

Apache Ant Archive

» Ant Users List
» Ant Developers List
AW: newbie - creating a new build script based on a project file
    stor ed wit

AW: newbie - creating a new build script based on a project file
    stor ed wit

2003-03-26       - By Jan.Materne@(protected)

Simple XSL-Transformation. E.g. with <xslt> with Ant.

<xslt in="myJPX" out="myBuildXML" style="theXSL"/>


Jan Mat?rne

> -----Urspr?ngliche Nachricht-----
> Von: Chris Mcewen-TM [mailto:Chris.Mcewen@(protected)]
> Gesendet am: Dienstag, 25. M?rz 2003 17:58
> An: 'Ant Users List'
> Betreff: RE: newbie - creating a new build script based on a project
> file stor ed within JBuilder 4.5
>
> Jan,
>
> How do I execute this script against a project file (*.jpx)?
> Chris
>
> -----Original Message-----
> From: Jan.Materne@(protected) [mailto:Jan.Materne@(protected)]
> Sent: March 25, 2003 5:10 AM
> To: user@(protected)
> Subject: AW: newbie - creating a new build script based on a project
> file stor ed within JBuilder 4.5
>
>
> If you have a only a couple of projects I would suggest writing them
> manually.
> So you can directly "refactor" them.
>
> If you have many projects, write a (template-based)
> generator. I?m not sure
> about
> the format of the project files. If they are written in XML
> (*.jpx) you can
> use
> XSLT for generating the build.xml. If not you have to write
> something else.
>
> If you have JPX and want to try XSLT you can start with this
> script I had
> downloaded
> from newsgroup  borland.public.jbuilder.opentools some time
> ago - but I had
> never
> tried it, so I can?t give any additional information on that.
>
>
>
>
> <?xml version='1.0' encoding="iso-8859-1"?>
>
> <!-- JPX 2 Ant -->
> <!--
> http://groups.google.com/groups?dq=&hl=de&lr=&ie=UTF-8&safe=of
> f&threadm=3D2B
> 22DF.6080802%40valid.email&prev=/groups%3Fhl%3Dde%26lr%3D%26sa
> fe%3Doff%26gro
> up%3Dborland.public.jbuilder.opentools -->
>
> <xsl:stylesheet version="1.0"
>   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
>   xmlns:exsl="http://exslt.org/common"
>   xmlns:str="http://exslt.org/strings"
>   extension-element-prefixes="exsl str"
>   exclude-result-prefixes="exsl str"
> >
>   <xsl:output encoding="iso-8859-1" method="xml" indent="yes"/>
>   <!-- Pass a string in for the project name, or replace with
> ="'foo'" -->
>   <xsl:param name="projectName"/>
>
>   <!-- The top-level jpr element is named "project" -->
>   <xsl:template match="/project">
>     <!-- Save some key properties for later use -->
>     <xsl:variable name="libraries"
> select="property[@(protected)='Libraries']/@(protected)"/>
>     <xsl:variable name="srcpath"
> select="property[@(protected)='SourcePath']/@(protected)"/>
>     <!-- TODO this is the DestPath with SourcePath removed -->
>     <!-- xsl:variable name="destpath"
> select="property[@(protected)='DestPath']/@(protected)"/ -->
>     <xsl:variable name="destpath" select="'classes'"/>
>
>     <xsl:comment>
>       <!-- TODO get the projectName in here -->
>       Autogenerated from a JBuilder 7 jpx project file
>     </xsl:comment>
>
>     <project name="{$projectName}" default="main"
> basedir="{$srcpath}">
>       <!-- The javamake rather than javac task is used to avoid any
> issues -->
>       <!-- with the order in which the compilation tasks are
> listed. See -->
>       <!--
> http://www.experimentalstuff.com/Technologies/JavaMake/downloa
> d.html -->
>       <taskdef name="javamake"
> classname="com.sun.tools.javamake.ant.JavaMake"/>
>       <property name="javamake.pdb.filename" value="jm.pdb"/>
>
>       <!-- These properties are included for information only -->
>       <target name="compile">
>  <xsl:for-each select="property">
>    <xsl:variable name="category" select="@(protected)"/>
>    <xsl:variable name="name" select="./@(protected)"/>
>    <xsl:variable name="value" select="./@(protected)"/>
>    <!-- TODO could concat the category to the name -->
>    <property name="{$name}" value="{$value}"/>
>  </xsl:for-each>
>
>  <mkdir dir="{$destpath}"/>
>  <javamake
>    destdir="{$destpath}"
>    debug="on"
>    compiler="javac1.4"
>    source="1.4">
>
>    <!-- Add all the reference libraries by extracting them
> from the -->
>    <!-- Libraries property and then parsing the library XML files -->
>    <classpath>
>      <path>
>        <pathelement location="."/>
>
>        <!-- Step through each referenced library file -->
>        <!-- This may not work for libraries defined inside
> JBuilder? -->
>        <xsl:for-each select="str:tokenize($libraries, ';')">
>   <!-- Use this version if this .xsl file is not in the same
> directory as
> yout JBuilder .library files -->
>   <!-- xsl:variable name="libfile"
> select="concat('/the/path/to/my/JBuilder.libraries/', concat(.,
> '.library'))"/ -->
>   <xsl:variable name="libfile" select="concat(., '.library')"/>
>   <!-- Add each jarfile in the library to the classpath -->
>   <xsl:for-each select="document($libfile)/library/class/path">
>     <!-- Trim the directory string as appropriate -->
>     <xsl:variable name="jarfile1">
>       <xsl:call-template name="replace-string">
>         <xsl:with-param name="text" select="."/>
>         <xsl:with-param name="from" select="concat('[', $srcpath)"/>
>         <xsl:with-param name="to" select="''"/>
>       </xsl:call-template>
>     </xsl:variable>
>     <xsl:variable name="jarfile">
>       <xsl:call-template name="replace-string">
>         <xsl:with-param name="text" select="$jarfile1"/>
>         <xsl:with-param name="from" select="']'"/>
>         <xsl:with-param name="to" select="''"/>
>       </xsl:call-template>
>     </xsl:variable>
>     <pathelement location="{$jarfile}"/>
>   </xsl:for-each>
>        </xsl:for-each>
>
>      </path>
>    </classpath>
>
>    <!-- Emit the names of the packages to be compiled -->
>    <xsl:for-each select="node">
>      <!-- TODO check that the type is indeed package -->
>      <xsl:variable name="dirname" select="translate(./@(protected),
> '.', '/')"/>
>      <src path="{$dirname}"/>
>    </xsl:for-each>
>  </javamake>
>       </target>
>
>       <!-- Create a jarfile with the same name as the project -->
>       <target name="create_jar" depends="compile">
>  <jar destfile="classes/{$projectName}.jar" basedir="classes"
>    excludes="{$projectName}.jar"/>
>       </target>
>
>       <target name="main" depends="create_jar"/>
>
>     </project>
>   </xsl:template>
>
>   <!-- reusable replace-string function from -->
>   <!-- http://aspn.activestate.com/ASPN/Cookbook/XSLT/Recipe/65426 -->
>   <xsl:template name="replace-string">
>     <xsl:param name="text"/>
>     <xsl:param name="from"/>
>     <xsl:param name="to"/>
>
>     <xsl:choose>
>       <xsl:when test="contains($text, $from)">
>
>  <xsl:variable name="before" select="substring-before($text, $from)"/>
>  <xsl:variable name="after" select="substring-after($text, $from)"/>
>  <xsl:variable name="prefix" select="concat($before, $to)"/>
>
>  <xsl:value-of select="$before"/>
>  <xsl:value-of select="$to"/>
>  <xsl:call-template name="replace-string">
>    <xsl:with-param name="text" select="$after"/>
>    <xsl:with-param name="from" select="$from"/>
>    <xsl:with-param name="to" select="$to"/>
>  </xsl:call-template>
>       </xsl:when>
>       <xsl:otherwise>
>  <xsl:value-of select="$text"/>
>       </xsl:otherwise>
>     </xsl:choose>
>   </xsl:template>
>
>
> </xsl:stylesheet>
>
>
>
>
>
> Jan Mat?rne
>
>
>
> > -----Urspr?ngliche Nachricht-----
> > Von: Chris Mcewen-TM [mailto:Chris.Mcewen@(protected)]
> > Gesendet am: Montag, 24. M?rz 2003 18:30
> > An: 'Ant Users List'
> > Betreff: newbie - creating a new build script based on a
> project file
> > stor ed within JBuilder 4.5
> >
> > Good Afternoon,
> >  
> > What is the best way to collect the information from a
> project file on
> > build/packaging an application and then recording this within
> > the build.xml
> > script?
> > Regards,
> >
> > Chris McEwen
> > Technical Specialist, Configuration Management -SR.
> > mailto:chris.mcewen@(protected) <mailto:chris.mcewen@(protected)>
> >
> > TELUS Mobility
> > MOB. 416.684.3045
> > LAN.  416.279.3045
> >
> > Quality is never an accident; it is always the result of high
> > intention,
> > sincere effort, intelligent direction and skillful execution;
> > it represents
> > the wise choice of many alternatives."
> >
> > - William A. Foster
> >
> >  
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@(protected)
> For additional commands, e-mail: user-help@(protected)
>

©2008 ant-tasks.com - Jax Systems, LLC, U.S.A.