Re: <ant><depend id="..."/></ant> not working as expected
Mark Thomas <[email protected]> Fri, 15 May 2026 11:01:58 +0100
| Newsgroups | gmane.comp.jakarta.gump |
|---|---|
| Message-ID | <[email protected]> |
On 15/05/2026 09:52, Stefan Bodewig wrote: > Hi > > while I was adding a new Antlib component of my own I also looked into > the failing Tomcat test builds in Gump. > > Those builds have several <depend> tags with an id for the same project > nested into <ant>. > > <ant> > <depend property="bouncycastle-provider.jar" project="bouncy-castle" id="bc-provider" /> > <depend property="bouncycastle-pkix.jar" project="bouncy-castle" id="bc-pkix" /> > <depend property="bouncycastle-util.jar" project="bouncy-castle" id="bc-util" /> > </ant> > > Obviously the expectation is this will be equivalent to > > <depend project="bouncy-castle" ids="bc-provider bc-pkix bc-util"/> > > at the project level (plus three <property> elements). > > From reading the docs (I certainly didn't remember the implementation > anymore :-) I can understand why one would expect that. > > The current code has never been meant to be used with multiple > dependencies to the same project, I'm afraid. The first nested <depend> > will add <depend project="bouncy-castle" ids="bc-provider"/> to the > project and the next two will not do anything as the project already > depends on "bouncy-castle" (line 161 in builder.py). The method name > project.hasFullDependencyOnNamedProject is misleading. > > The workaround is to add an explicit <depend> at the project level, > which I did for the tomcat 11.x builds (partially to verify my > analysis). I'm fine with the workaround. Mark > > A proper fix probably involves checking whether the project-level > dependency either doesn't contain any ids or includes the current > one. Implementing that may take a bit of time (I'm willing to give it a > try). > > Stefan > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] >