ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chris Bailey" <ch...@codeintensity.com>
Subject RE: xsl script to generate graphical representation of build.xml
Date Thu, 06 Jun 2002 23:55:38 GMT
I should also add, it'd be cool if someone enhanced this so that targets
that call other targets in the same file (i.e. via <antcall>) are graphed.

-----Original Message-----
From: Chris Bailey [mailto:chris@codeintensity.com]
Sent: Thursday, June 06, 2002 4:50 PM
To: Ant Users List
Subject: RE: xsl script to generate graphical representation of
build.xml


FYI, I set this up on my Linux box, and needed to change the font specified
in ant2dot.xsl.  I changed it from "Arial" to "verdana", but you may need to
fiddle around depending on what fonts you have.  I wasn't able to specify a
font name that had dashes in it (which may just be due to my lack of knowing
how to make that work in the XSL file).

-----Original Message-----
From: Erik Hatcher [mailto:jakarta-ant@ehatchersolutions.com]
Sent: Thursday, June 06, 2002 2:10 PM
To: ant-user@jakarta.apache.org
Subject: Re: xsl script to generate graphical representation of
build.xml


Very cool, thanks Nascif.

I've whipped up a simple build file to automate this:

<project name="diagram" default="main">

  <target name="build-dot">
    <xslt in="build.xml"
          style="${ant.home}/etc/ant2dot.xsl"
          out="dotfile.dot"
    />
  </target>

  <target name="diagram" depends="build-dot">
    <exec executable="c:\tools\graphviz\bin\dot.exe">
      <arg value="-Tpng"/>
      <arg file="dotfile.dot"/>
      <arg value="-obuild.png"/>
    </exec>
  </target>

  <target name="main" depends="diagram"/>
</project>

Of course hard-coded paths and such need to be factored out to properties,
but thats not high on my to-do list!  :)  I call it like this from any
directory:

    ant -f <path to this file>/diagram.xml -Dbasedir=.

and it diagrams the build.xml in my current directory.

I, as you can tell, put the XSL file in ANT_HOME/etc.  Do folks want this
file in Ant's codebase and distribution? Any objections?  Stefan?

    Erik



----- Original Message -----
From: "Nascif Abousalh-Neto" <nascif@nortelnetworks.com>
To: "Erik Hatcher" <jakarta-ant@ehatchersolutions.com>; "Ant Users List"
<ant-user@jakarta.apache.org>
Cc: <s.kost@webmacher.de>
Sent: Thursday, June 06, 2002 4:10 PM
Subject: RE: xsl script to generate graphical representation of build.xml


> That is really cool! I tried Erik's version and found some small problems:
>  - It was not supressing text inside tags, like you would have in embedded
> scripts and the project description. The XSL default is to print text
> elements, and that was breaking dot.
>  - The arrow orientation was counter-intuitive, so I inverted then. IMHO
it
> makes more sense if the dependent points to its depency, specially when a
a
> node depends on many others (like an "all" target).
>
> The attached .xsl file solves both problems. Also attached some examples.
>
> Enjoy,
> Nascif
>
>
> > -----Original Message-----
> > From: Erik Hatcher [mailto:jakarta-ant@ehatchersolutions.com]
> > Sent: Wednesday, June 05, 2002 8:27 PM
> > To: Ant Users List
> > Subject: Re: xsl script to generate graphical representation of
> > build.xml
> >
> >
> > 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.
> >
> > 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>
> >
> >
>
>


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



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