Ich versuche, eine Maven-Erweiterung zu schreiben, um die Dauer jeder Build-Sitzung zu berechnen. Hier meine Erweiterung ist:session.getCurrentProject() gibt null zurück - Maven-Erweiterungen
@Parameter(defaultValue = "${project}", readonly = true, required = true)
private MavenProject project;
@Component(role = AbstractMavenLifecycleParticipant.class)
public class BuildTimeLogger extends AbstractMavenLifecycleParticipant {
public void afterSessionStart(MavenSession session) throws MavenExecutionException {
System.out.println("${project}: "+project);
System.out.println("Top level project:"+session.getTopLevelProject());
System.out.println("session.getcurrentproject():"+session.getCurrentProject()); }
}
Ich bin mir nicht sicher, warum alle oben genannten Druckanweisungen null
drucken. Benutze ich das Session-Objekt richtig? Mein Verständnis ist, dass Maven alle Sitzungsdetails des Projekts, das gebaut wird, senden soll. Ich habe das an verschiedenen Projekten versucht, scheint aber nicht für mich zu funktionieren.
nicht sicher, was hier falsch ist, aber Sie möchten überprüfen [this] (https://issues.apache.org/jira/browse/MNG-4639?focusedCommentId = 14421259 & page = com.atlassian.jira.plugin.system.issuetabpanels: comment-tabpanel # comment-14421259) –
Was ist mit https://github.com/khmarbaise/maven-buildtime-profiler und LifeCycleParticipant ist nicht der beste Weg zu lösen das ist ein EventSpy ist ein besserer Ansatz ... Außerdem kann der LifeCycleParticipant nur mit Maven 3.2.5+ fehlerfrei arbeiten ... – khmarbaise