Package org.fusesource.hawtjni.maven
Class PackageJarMojo
java.lang.Object
org.apache.maven.plugin.AbstractMojo
org.fusesource.hawtjni.maven.PackageJarMojo
- All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled
,org.apache.maven.plugin.Mojo
@Mojo(name="package-jar",
defaultPhase=PREPARE_PACKAGE)
public class PackageJarMojo
extends org.apache.maven.plugin.AbstractMojo
This goal allows allows you to package the JNI library created by build goal
in a JAR which the HawtJNI runtime can unpack when the library needs to be
loaded.
This platform specific jar is attached with a classifier which matches the
current platform.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate org.codehaus.plexus.archiver.manager.ArchiverManager
private boolean
Should a classifier of the native jar be set to match the platform?private File
The output directory where the built JNI library will placed.private String
The base name of the library, used to determine generated file names.The osgi platforms that the library match for.private String
The platform identifier of this build.protected org.apache.maven.project.MavenProject
The maven project.private org.apache.maven.project.MavenProjectHelper
Fields inherited from interface org.apache.maven.plugin.Mojo
ROLE
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
execute()
getNativeCodeValue
(org.fusesource.hawtjni.runtime.Library library) 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. -
name
The base name of the library, used to determine generated file names. -
archiverManager
@Component private org.codehaus.plexus.archiver.manager.ArchiverManager archiverManager -
projectHelper
@Component private org.apache.maven.project.MavenProjectHelper projectHelper -
libDirectory
@Parameter(defaultValue="${project.build.directory}/generated-sources/hawtjni/lib") private File libDirectoryThe output directory where the built JNI library will placed. This directory will be added to as a test resource path so that unit tests can verify the built JNI library. The library will placed under the META-INF/native/${platform} directory that the HawtJNI Library uses to find JNI libraries as classpath resources. -
platform
The platform identifier of this build. If not specified, it will be automatically detected. -
classified
@Parameter(defaultValue="true") private boolean classifiedShould a classifier of the native jar be set to match the platform? -
osgiPlatforms
The osgi platforms that the library match for. Example value: osname=MacOS;processor=x86-64
-
-
Constructor Details
-
PackageJarMojo
public PackageJarMojo()
-
-
Method Details
-
execute
public void execute() throws org.apache.maven.plugin.MojoExecutionException- Throws:
org.apache.maven.plugin.MojoExecutionException
-
getNativeCodeValue
-
getOsgiOSName
-
getOsgiProcessor
-