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 boolean
Set this value to false to disable the callback support in HawtJNI.private File
The directory where the java classes files are located.private CLI
private String
The copyright header template that will be added to the generated source files.private File
The list of additional files to be included in the package will be placed.private String
The text encoding of the files.private boolean
Should we force executing the autogen.sh file.private File
The directory where the generated native source files are located.private String
The base name of the library, used to determine generated file names.private File
The directory where the native source files are located.private File
The directory where the generated build package is located..Restrict looking for JNI classes to the specified package.protected org.apache.maven.project.MavenProject
The maven project.private boolean
Should we skip executing the autogen.sh file.private File
private boolean
Should we display all the native build output?private String
The build tool to use on Windows systems.private boolean
Set this value to true to include the import of a custom properties file in your vcxproj (not applicable to vs2008).private String
The platform toolset version used in your vcxproj (not applicable to vs2008).private String
The name of the msbuild/vcbuild project to use.private String
The target platform version used in your vcxproj (not applicable to vs2008).private String
The 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 void
private void
copyTemplateResource
(String file, boolean filter) private void
copyTemplateResource
(String file, String output, boolean filter) void
execute()
private org.codehaus.plexus.util.FileUtils.FilterWrapper[]
filters
(boolean filter) private void
private void
Methods 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
-