package com.lassekoskela.maven;
import org.apache.maven.AbstractMavenLifecycleParticipant;
import org.apache.maven.MavenExecutionException;
import org.apache.maven.execution.MavenSession;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.annotations.Requirement;
import org.codehaus.plexus.logging.Logger;
import com.lassekoskela.maven.timeline.BuildTimelineListener;
@Component(role = AbstractMavenLifecycleParticipant.class, hint = "buildtimeline")
public class BuildTimelineExtension extends MavenExtension {
static final String ACTIVATION_PROPERTY_KEY = "maven-build-utils.activate-timeline";
static final String ACTIVATION_PROFILE_KEY = "maven-build-utils.activationTimelineProfiles";
@Requirement
Logger logger;
@Override
public void afterProjectsRead(MavenSession session)
throws MavenExecutionException {
if (shouldBeActive(session, ACTIVATION_PROPERTY_KEY, ACTIVATION_PROFILE_KEY)) {
registerExecutionListener(session, new BuildTimelineListener(logger));
}
}
}