ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan Kost <s.k...@webmacher.de>
Subject Re: xsl script to generate graphical representation of build.xml
Date Mon, 10 Jun 2002 07:03:00 GMT
Hi 
> Eager to see what this thing could do with my build files, I *gasp* read the
> docs and found exactly what I needed.  Attached is a slightly modified
> version of Stefan's original XSL file - all I did was enclose all the node
> names with double quotes.
> 
> Let me know if you want this contributed to Ant's CVS.  This would even make
> a handy custom Ant task, to wrap calling dot.exe - although I'll get by with
> <xslt> and <exec> for now.
>
Many thanks to Erik and Nascif for all modifications. And yes, it would
be great to have this in CVS.
Anyway, at the moment I am fine with calling it via xslt and exec too. I
use it on the server where I do nightly checkout, build,
javadocgeneration, cvs stats and so on.

Stefan
> 
> Very nice, Stefan.
> 
> Thanks,
>     Erik
> 
> ----- Original Message -----
> From: "Erik Hatcher" <jakarta-ant@ehatchersolutions.com>
> To: "Ant Users List" <ant-user@jakarta.apache.org>
> Sent: Wednesday, June 05, 2002 7:58 PM
> Subject: Re: xsl script to generate graphical representation of build.xml
> 
> 
> > This looks pretty slick.  I tried it out and got this while running 'dot'
> >
> > graph parser: syntax error near line 18
> > context:    >>>  do- <<< common [label="do-common\n"];
> >
> > Looks like it doesn't like dashes in target names.  Is there a way to have
> > them escaped in the .dot files?  Would you modify it so that it could work
> > in such cases?  It still generated a .png, but it looked incomplete.
> >
> > Many thanks for this contribution.  Would you mind this being committed to
> > Ant's CVS for inclusion into Ant 1.6?  If so, let me know.
> >
> >     Erik
> >
> > ----- Original Message -----
> > From: "Stefan Kost" <s.kost@webmacher.de>
> > To: "Ant Users List" <ant-user@jakarta.apache.org>
> > Cc: <ant-dev@jakarta.apache.org>
> > Sent: Wednesday, June 05, 2002 4:50 AM
> > Subject: xsl script to generate graphical representation of build.xml
> >
> >
> > > hi,
> > >
> > > attached you find a xsl script, which generates a .dot out of a
> > > build.xml file. The dot file can be rendered using the dot command (from
> > > the graphviz package, see http://www.graphviz.org/) to lots of formats
> > > like ps or png.
> > > Minimal instructions are in the xsl file.
> > >
> > > Stefan
> > > --
> > >
> > >  < W E B M A C H E R >
> > > EDV+INTERNETSERVICE GMBH
> > >
> > > POST: August Bebel Str. 69
> > >       04275 Leipzig
> > >
> > > FON:  +49 341 30 34 833
> > > FAX:  +49 341 30 34 840
> > > WEB:  www.webmacher.de
> > >
> >
> >
> > --------------------------------------------------------------------------
> --
> > ----
> >
> >
> > > --
> > > 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>
> >
> >
> ----
> 

> <?xml version="1.0"?>
> <!-- ant2dot.xsl 0.1 (C) by Stefan Kost <ensonic@sonicpulse.de> (05.July.2002)
-->
> <!--
> to compile do
>   setenv LANG=POSIX   (needed for CVS version of xalan/xerces)
>   java -cp ~/lib/xalan.jar:~/lib/xerces.jar org.apache.xalan.xslt.Process -XSL ant2dot.xsl
-IN build.xml -OUT build.dot
>   dot -Tps build.dot -obuild.ps
>   dot -Tpng build.dot -obuild.png
> -->
> <xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
> 
> 	<xsl:output method="text"/>
> 
> 	<xsl:template match="/project">
> digraph project {
> 	node [shape=box,fontname="Arial",fontsize="10"];
> 	edge [fontname="Arial",fontsize="8"];
> 	rankdir=LR;
> 	<xsl:apply-templates/>
> }
> 	</xsl:template>
> 
> 	<xsl:template match="/project/target">
> 		"<xsl:value-of select="@name"/>" [label="<xsl:value-of select="@name"/>\n<xsl:value-of
select="@description"/>"];
> 		<xsl:variable name="target" select="@name"/>
> 		<xsl:variable name="depends" select="@depends"/>
> 		<xsl:if test="$depends!=''">
> 			<xsl:call-template name="split-depends">
> 				<xsl:with-param name="depends" select="$depends"/>
> 				<xsl:with-param name="target" select="$target"/>
> 			</xsl:call-template>
> 		</xsl:if>
> 	</xsl:template>
> 	
> 	<xsl:template name="split-depends">
> 		<xsl:param name="depends"/>
> 		<xsl:param name="target"/>
> 		<xsl:choose>
> 			<xsl:when test="contains($depends,',')">
> 				<xsl:variable name="dependsCur" select="normalize-space(substring-before($depends,
','))"/>
> 				<xsl:variable name="dependsNext" select="normalize-space(substring-after($depends,
','))"/>
> 				"<xsl:value-of select="$dependsCur"/>" -&gt; "<xsl:value-of select="$target"/>";
> 				<xsl:call-template name="split-depends">
> 					<xsl:with-param name="depends" select="$dependsNext"/>
> 					<xsl:with-param name="target" select="$target"/>
> 				</xsl:call-template>
> 			</xsl:when>
> 			<xsl:otherwise>
> 				"<xsl:value-of select="$depends"/>" -&gt; "<xsl:value-of select="$target"/>";
> 			</xsl:otherwise>
> 		</xsl:choose>
> 	</xsl:template>
> 	
> </xsl:transform>
> 
> 
> 
> ----
> 

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

 < W E B M A C H E R > 
EDV+INTERNETSERVICE GMBH

POST: August Bebel Str. 69
      04275 Leipzig

FON:  +49 341 30 34 833
FAX:  +49 341 30 34 840
WEB:  www.webmacher.de


--
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