On Friday 16 July 2010 18:07:57 Matt Benson wrote: > On Jul 16, 2010, at 8:25 AM, Nicolas Lalevée wrote: > > Hi, > > > > I did some other experiment with the groovy frontend to ant > > recently. And I > > would like to be able to make a groovy build file import an xml > > build file > > and vice versa. > > > > As far as I can tell, in order to do this, a simple change would be > > needed in > > ImportTask. Rather than doing this in importResource: > > > > helper.parse(getProject(), importedResource); > > > > we would do something like: > > > > ProjectHelper subHelper = > > ProjectHelperRepository.getInstance().getProjectHelperForBuildFile( > > importedResource); > > > > // push current stacks into the sub helper > > subHelper.getImportStack().addAll(helper.getImportStack()); > > subHelper.getExtensionStack().addAll(helper.getExtensionStack()); > > getProject().addReference(ProjectHelper.PROJECTHELPER_REFERENCE, > > subHelper); > > > > subHelper.parse(getProject(), importedResource); > > > > // push back the stacks from the sub helper to the main one > > getProject().addReference(ProjectHelper.PROJECTHELPER_REFERENCE, > > helper); > > helper.getImportStack().clear(); > > helper.getImportStack().addAll(subHelper.getImportStack()); > > helper.getExtensionStack().clear(); > > helper.getExtensionStack().addAll(subHelper.getExtensionStack()); > > > > > > For the little tests I have done with the groovy frontend, it seems > > to work > > quite well. > > > > Actually it seems so simple that I am wondering if I might have > > missed some > > side effect. Did I ? > > I suppose it's possible you missed something, but it seems okay. If > it were me, I might work out a way to make the subHelper send its > imports/extensions directly back to the top-level ProjectHelper > rather than so much clearing and replacing, but I'll admit to being > somewhat paranoid.
I think I got paranoid too but the other way: I didn't want to change the API of ProjectHelper that might be implemented around the world and bring backward compatibility issues. Thanks for the review, I will commit that probably with some additionnal unit tests. Nicolas > > -Matt > > > At least the unit tests showed me that I did nothing that wrong. > > > > Nicolas > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org > > For additional commands, e-mail: dev-h...@ant.apache.org > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org > For additional commands, e-mail: dev-h...@ant.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org For additional commands, e-mail: dev-h...@ant.apache.org