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.ArchiverManagerprivate booleanShould a classifier of the native jar be set to match the platform?private FileThe output directory where the built JNI library will placed.private StringThe base name of the library, used to determine generated file names.The osgi platforms that the library match for.private StringThe platform identifier of this build.protected org.apache.maven.project.MavenProjectThe maven project.private org.apache.maven.project.MavenProjectHelperFields inherited from interface org.apache.maven.plugin.Mojo
ROLE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidexecute()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
-