call.execute(); markTriggered(event);
MessageImpl impl = IvyContext.getContext().getMessageImpl(); try { IvyContext.getContext().setMessageImpl(null); call.execute(); markTriggered(event); } finally { IvyContext.getContext().setMessageImpl(impl); }
	public void progress(IvyEvent event) {		Project project = (Project)IvyContext.getContext().get(IvyTask.ANT_PROJECT_CONTEXT_KEY);		if (project == null) {			Message.info("ant call trigger can only be used from an ant build. Ignoring.");			return;		}		if (_onlyonce && isTriggered(event)) {			Message.verbose("call already triggered for this event, skipping: "+event);		} else {			CallTarget call = new CallTarget();			call.setProject(project);			call.setTaskName("antcall");			Map attributes = event.getAttributes();			String target = IvyPatternHelper.substituteTokens(getTarget(), attributes);			call.setTarget(target);						for (Iterator iter = attributes.keySet().iterator(); iter.hasNext();) {				String key = (String) iter.next();				String value = (String) attributes.get(key);				Property p = call.createParam();				p.setName(_prefix == null?key:_prefix+key);				p.setValue(value == null?"":value);			}			Message.verbose("triggering ant call: target="+target+" for "+event);			call.execute();			markTriggered(event);			Message.debug("triggered ant call finished: target="+target+" for "+event);		}	}