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