Scott Sanders wrote:
>
> Since we have yet to resolve this issue, I took your suggestion for the
> adding explicit dependencies, but came across a problem.
>
> gump/project/jakarta-ant.xml contains the jakarta-ant project, which
> contains the <cvs> tag, but depends on bootstrap-ant.  bootstrap-ant
> implicitly depends upon the <cvs> in jakarta-ant, so when you add an
> explicit <depend> during the merge, you get a circular dependency.
>
> So now what do we do?
>
> I have thought about this quite a bit and I still don't have any better
> solution than the -cvs projects.
>
> I can't think of other implicit dependencies, so why do we have them on
> the <cvs> tag?
>
> Any ideas?

A while back I  changes xml-stylebook in a way that I had hoped would get
around your specific issue...but I guess this didn't completely resolve it.
:-(

It seems to me that the transformation that you are describing can be
automated, and therefore could be put into a stylesheet.  In pseudo-xsl:

   match="project[cvs]" =>

     <project name="{@defined-in}-cvs">
        <xsl:copy-of select="cvs">
     </project>
     <project name="{@name}">
        <xsl:copy-of select="not(self::cvs)">
        <depend project="{@defined-in}-cvs">
     </project>

   match="project[not(cvs)]" =>

     <project name="{@name}">
        <depend project="{@defined-in}-cvs">
     </project>

Such a stylesheet could keep people who develop project definitions unaware
of the implementation details of antgump.  If done on the output of
sortdep.xsl, it could even be done transparently, and relatively immune to
the various changes I have done / am contemplating to the combining and
subsetting of profiles and projects.

Does this work for you?

- Sam Ruby


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to