if (value == null) {
throw new BuildException("no value provided for ivy listmodules task");
}
Ivy ivy = getIvyInstance();
IvySettings settings = ivy.getSettings();
ModuleRevisionId[] mrids = ivy.listModules(ModuleRevisionId.newInstance(organisation,
module, branch, revision), settings.getMatcher(matcher));
for (int i = 0; i < mrids.length; i++) {
String name = IvyPatternHelper.substitute(settings.substitute(property), mrids[i]);
String value = IvyPatternHelper.substitute(settings.substitute(this.value), mrids[i]);
getProject().setProperty(name, value);