in src/main/java/org/apache/maven/plugins/jmod/JModCreateMojo.java [283:340]
public void execute()
throws MojoExecutionException, MojoFailureException
{
String jModExecutable;
try
{
jModExecutable = getJModExecutable();
}
catch ( IOException e )
{
throw new MojoFailureException( "Unable to find jmod command: " + e.getMessage(), e );
}
File jModExecuteableFile = new File( jModExecutable );
javaHome = jModExecuteableFile.getParentFile().getParentFile();
File jmodsFolderJDK = new File( javaHome, JMODS );
getLog().debug( "Parent: " + javaHome.getAbsolutePath() );
getLog().debug( "jmodsFolder: " + jmodsFolderJDK.getAbsolutePath() );
preparePaths();
failIfParametersAreNotInTheirValidValueRanges();
getLog().info( "Toolchain in maven-jmod-plugin: jmod [ " + jModExecutable + " ]" );
// We need to put the resulting x.jmod files into jmods folder otherwise is
// seemed to be not working.
// Check why?
File modsFolder = new File( outputDirectory, "jmods" );
File resultingJModFile = new File( modsFolder, outputFileName + ".jmod" );
deleteOutputIfAlreadyExists( resultingJModFile );
// create the jmods folder...
modsFolder.mkdirs();
Commandline cmd;
try
{
cmd = createJModCreateCommandLine( resultingJModFile );
}
catch ( IOException e )
{
throw new MojoExecutionException( e.getMessage() );
}
cmd.setExecutable( jModExecutable );
executeCommand( cmd, outputDirectory );
if ( projectHasAlreadySetAnArtifact() )
{
throw new MojoExecutionException( "You have to use a classifier "
+ "to attach supplemental artifacts to the project instead of replacing them." );
}
getProject().getArtifact().setFile( resultingJModFile );
}