// Copyright FreeHEP, 2005-2007.
package org.freehep.maven.nar;
import org.apache.maven.plugin.logging.Log;
import org.apache.tools.ant.BuildEvent;
import org.apache.tools.ant.BuildListener;
import org.apache.tools.ant.Project;
/**
* Logger to connect the Ant logging to the Maven logging.
*
* @author <a href="Mark.Donszelmann@slac.stanford.edu">Mark Donszelmann</a>
* @version $Id: NarLogger.java 13105 2007-07-23 17:42:54Z duns $
*/
public class NarLogger implements BuildListener {
private Log log;
public NarLogger(Log log) {
this.log = log;
}
public void buildStarted(BuildEvent event) {
}
public void buildFinished(BuildEvent event) {
}
public void targetStarted(BuildEvent event) {
}
public void targetFinished(BuildEvent event) {
}
public void taskStarted(BuildEvent event) {
}
public void taskFinished(BuildEvent event) {
}
public void messageLogged(BuildEvent event) {
String msg = event.getMessage();
switch (event.getPriority()) {
case Project.MSG_ERR:
if (msg.indexOf("ar: creating archive") >= 0) {
log.debug(msg);
} else if (msg.indexOf("warning") >= 0) {
log.warn(msg);
} else {
log.error(msg);
}
break;
case Project.MSG_WARN:
log.warn(msg);
break;
case Project.MSG_INFO:
if ((msg.indexOf("files were compiled") >= 0) || (msg.indexOf("Linking...") >= 0)) {
log.info(msg);
} else if (msg.indexOf("error") >= 0) {
log.error(msg);
} else if (msg.indexOf("warning") >= 0) {
log.warn(msg);
} else {
log.debug(msg);
}
break;
case Project.MSG_VERBOSE:
log.debug(msg);
break;
default:
case Project.MSG_DEBUG:
log.debug(msg);
break;
}
}
}