001 package org.apache.maven; 002 003 import org.apache.maven.plugin.MojoFailureException; 004 005 /** 006 * Exception which occurs when a normal (i.e. non-aggregator) mojo fails to 007 * execute. In this case, the mojo failed while executing against a particular 008 * project instance, so we can wrap the {@link MojoFailureException} with context 009 * information including projectId and the {@link MojoBinding} that caused the 010 * failure. 011 * 012 * @author jdcasey 013 * 014 */ 015 public class ProjectBuildFailureException 016 extends BuildFailureException 017 { 018 019 private final String projectId; 020 021 public ProjectBuildFailureException( String projectId, MojoFailureException cause ) 022 { 023 super( "Build for project: " + projectId + " failed during execution of mojo.", cause ); 024 025 this.projectId = projectId; 026 } 027 028 public MojoFailureException getMojoFailureException() 029 { 030 return (MojoFailureException) getCause(); 031 } 032 033 public String getProjectId() 034 { 035 return projectId; 036 } 037 }