Package org.fusesource.hawtjni.maven
Class GenerateMojo
java.lang.Object
org.apache.maven.plugin.AbstractMojo
org.fusesource.hawtjni.maven.GenerateMojo
- All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled,org.apache.maven.plugin.Mojo
@Mojo(name="generate",
defaultPhase=PROCESS_CLASSES)
public class GenerateMojo
extends org.apache.maven.plugin.AbstractMojo
This goal generates the native source code and a
autoconf/msbuild based build system needed to
build a JNI library for any HawtJNI annotated
classes in your maven project.
-
Field Summary
FieldsModifier and TypeFieldDescriptionExtra arguments you want to pass to the autogen.sh command.private booleanSet this value to false to disable the callback support in HawtJNI.private FileThe directory where the java classes files are located.private CLIprivate StringThe copyright header template that will be added to the generated source files.private FileThe list of additional files to be included in the package will be placed.private StringThe text encoding of the files.private booleanShould we force executing the autogen.sh file.private FileThe directory where the generated native source files are located.private StringThe base name of the library, used to determine generated file names.private FileThe directory where the native source files are located.private FileThe directory where the generated build package is located..Restrict looking for JNI classes to the specified package.protected org.apache.maven.project.MavenProjectThe maven project.private booleanShould we skip executing the autogen.sh file.private Fileprivate booleanShould we display all the native build output?private StringThe build tool to use on Windows systems.private booleanSet this value to true to include the import of a custom properties file in your vcxproj (not applicable to vs2008).private StringThe platform toolset version used in your vcxproj (not applicable to vs2008).private StringThe name of the msbuild/vcbuild project to use.private StringThe target platform version used in your vcxproj (not applicable to vs2008).private StringThe tools version used in the header of your vcxproj (not applicable to vs2008).Fields inherited from interface org.apache.maven.plugin.Mojo
ROLE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate voidprivate voidcopyTemplateResource(String file, boolean filter) private voidcopyTemplateResource(String file, String output, boolean filter) voidexecute()private org.codehaus.plexus.util.FileUtils.FilterWrapper[]filters(boolean filter) private voidprivate voidMethods inherited from class org.apache.maven.plugin.AbstractMojo
getLog, getPluginContext, setLog, setPluginContext
-
Field Details
-
project
@Parameter(defaultValue="${project}", readonly=true) protected org.apache.maven.project.MavenProject projectThe maven project. -
nativeSourceDirectory
The directory where the native source files are located. -
generatedNativeSourceDirectory
@Parameter(defaultValue="${project.build.directory}/generated-sources/hawtjni/native-src") private File generatedNativeSourceDirectoryThe directory where the generated native source files are located. -
name
The base name of the library, used to determine generated file names. -
copyright
The copyright header template that will be added to the generated source files. Use the '%END_YEAR%' token to have it replaced with the current year. -
packages
Restrict looking for JNI classes to the specified package. -
classesDirectory
The directory where the java classes files are located. -
packageDirectory
@Parameter(defaultValue="${project.build.directory}/generated-sources/hawtjni/native-package") private File packageDirectoryThe directory where the generated build package is located.. -
customPackageDirectory
The list of additional files to be included in the package will be placed. -
encoding
The text encoding of the files. -
skipAutogen
@Parameter(defaultValue="${skip-autogen}") private boolean skipAutogenShould we skip executing the autogen.sh file. -
forceAutogen
@Parameter(defaultValue="${force-autogen}") private boolean forceAutogenShould we force executing the autogen.sh file. -
verbose
@Parameter(defaultValue="${hawtjni-verbose}") private boolean verboseShould we display all the native build output? -
autogenArgs
Extra arguments you want to pass to the autogen.sh command. -
callbacks
@Parameter(defaultValue="true") private boolean callbacksSet this value to false to disable the callback support in HawtJNI. Disabling callback support can substantially reduce the size of the generated native library. -
windowsBuildTool
The build tool to use on Windows systems. Set to 'msbuild', 'vcbuild', or 'detect' or 'none' -
windowsProjectName
The name of the msbuild/vcbuild project to use. Defaults to 'vs2010' for 'msbuild' and 'vs2008' for 'vcbuild'. -
windowsCustomProps
@Parameter(defaultValue="false") private boolean windowsCustomPropsSet this value to true to include the import of a custom properties file in your vcxproj (not applicable to vs2008). This greatly simplifies the configurability of your project. -
windowsToolsVersion
The tools version used in the header of your vcxproj (not applicable to vs2008). -
windowsTargetPlatformVersion
The target platform version used in your vcxproj (not applicable to vs2008). Not supplied by default. -
windowsPlatformToolset
The platform toolset version used in your vcxproj (not applicable to vs2008). Not supplied by default. -
targetSrcDir
-
cli
-
-
Constructor Details
-
GenerateMojo
public GenerateMojo()
-
-
Method Details
-
execute
public void execute() throws org.apache.maven.plugin.MojoExecutionException- Throws:
org.apache.maven.plugin.MojoExecutionException
-
copyNativeSourceFiles
private void copyNativeSourceFiles() throws org.apache.maven.plugin.MojoExecutionException- Throws:
org.apache.maven.plugin.MojoExecutionException
-
generateNativeSourceFiles
private void generateNativeSourceFiles() throws org.apache.maven.plugin.MojoExecutionException- Throws:
org.apache.maven.plugin.MojoExecutionException
-
generateBuildSystem
private void generateBuildSystem() throws org.apache.maven.plugin.MojoExecutionException- Throws:
org.apache.maven.plugin.MojoExecutionException
-
getClasspath
- Throws:
org.apache.maven.plugin.MojoExecutionException
-
copyTemplateResource
private void copyTemplateResource(String file, boolean filter) throws org.apache.maven.plugin.MojoExecutionException - Throws:
org.apache.maven.plugin.MojoExecutionException
-
copyTemplateResource
private void copyTemplateResource(String file, String output, boolean filter) throws org.apache.maven.plugin.MojoExecutionException - Throws:
org.apache.maven.plugin.MojoExecutionException
-
filters
private org.codehaus.plexus.util.FileUtils.FilterWrapper[] filters(boolean filter) throws IOException - Throws:
IOException
-