jade-native:compile

Compile source files into native object files @author Dan T. Tran @author Fred Simon @version $Id: NativeCompileMojo.java 2436 2006-09-29 13:54:03Z dantran $

Mojo Attributes:

  • Requires a Maven 2.0 project to execute.
  • Requires dependency resolution of artifacts in scope: runtime
  • Automatically executes within the lifecycle phase: compile

Required Parameters

Name Type Description
compilerProvider String Compiler Provider Type Default value is generic.

Optional Parameters

Name Type Description
projectHelper MavenProjectHelper project-helper instance, used to make addition of resources simpler
artifactResolver ArtifactResolver Used to look up Artifacts in the local or remote repository.
artifactFactory ArtifactFactory Used to look up Artifacts in the local or remote repository.
localRepository ArtifactRepository The local repository
pluginArtifacts Artifact> The plugin dependency artifacts
maven2AntManager Maven2AntManager The manager to link maven project with an Ant project.
nameProvider ProjectNameProvider No description.
envFactoryName String Specifies a fully qualified class name implementing the org.codehaus.mojo.natives.EnvFactory interface. The class creates a set environment variables to be used with the command line.
versionNameNoSnapshot boolean Flag to tell if the "-SNAPSHOT" in library name should be removed. True by default Default value is true.
skipTest boolean Set this to 'true' to bypass unit tests entirely. Its use is NOT RECOMMENDED, but quite convenient on occasion.
sharedOptions String A flag to use the shared options during compilation and link. If left null, the automatic behavior is based on the packaging type. It means all library modules (.a, .so, .dll) will return true. If set to true the plugin will always inlcude the shared options.
includePackagingTypes String> List of packaging types you want the plugin to work on. If a module (project POM) has a packaging that is not listed here, the plugin will do nothing (skip all phases). This is very useful for RPM pack, static analysis and other tools.
excludePackagingTypes String> List of packaging types you DON'T want the plugin to work on. If a module (project POM) has a packaging that is listed here, the plugin will do nothing (skip all phases). This is very useful for RPM pack, static analysis and other tools.
groupDefinitions GroupDefinition> Definition of group to name mapping.
objectFileExtension String Use this field to override object file extension. The default extenstions are .obj and .o on Windows and Unix respectively
compilerExecutable String Use this field to override provider specific compiler executable
compilerSharedOptions String> Compiler options to produce shared libraries. Activated when shared flag is on.
compilerDebugOptions String> Compiler options to compile in debug mode.
compilerStartOptions String> Compiler Start options to produce native object file
compilerMiddleOptions String> Compiler Middle options to produce native object file
compilerEndOptions String> Compiler End options to produce native object file
javahOS String Javah OS name. ${jdkIncludePath} and ${jdkIncludePath}/${javaOS} are added to system include path when this field is set
jdkIncludePath File JDK native include directory Default value is ${java.home}/../include.
sources NativeSources> Array of NativeSources containing include directories and source files
deployInclude boolean Flag enabling the deployment and retrieval of include zip files
includesPattern String The pattern for creating the zip file containing the ".h" files. The default is "**/*.h" Default value is **/*.h.
includesExtension String The file extension containing the .h files. Default value is zip.
includesRootDir File The root directory where the XXX-include.zip files will be extracted Default value is ${project.build.directory}/includes.
debugOptions boolean List of options that are inserted when compiling with debug information. It should be declared the following way: ...
nbParallelCompilation int The maximum amount of paralell threads to activated when doing compilation
compileSystemProperties String> Additional environments values used before execution of the compile Command.

Parameter Details

projectHelper project-helper instance, used to make addition of resources simpler
  • Type: org.apache.maven.project.MavenProjectHelper
  • Required: No

artifactResolver Used to look up Artifacts in the local or remote repository.
  • Type: org.apache.maven.artifact.resolver.ArtifactResolver
  • Required: No

artifactFactory Used to look up Artifacts in the local or remote repository.
  • Type: org.apache.maven.artifact.factory.ArtifactFactory
  • Required: No

localRepository The local repository
  • Type: org.apache.maven.artifact.repository.ArtifactRepository
  • Required: No
  • Expression: ${localRepository}

pluginArtifacts The plugin dependency artifacts
  • Type: java.util.List<org.apache.maven.artifact.Artifact>
  • Required: No
  • Expression: ${plugin.artifacts}

maven2AntManager The manager to link maven project with an Ant project.
  • Type: org.jfrog.jade.plugins.common.ant.Maven2AntManager
  • Required: No

nameProvider No Description.
  • Type: org.jfrog.jade.plugins.common.naming.ProjectNameProvider
  • Required: No

envFactoryName Specifies a fully qualified class name implementing the org.codehaus.mojo.natives.EnvFactory interface. The class creates a set environment variables to be used with the command line.
  • Type: java.lang.String
  • Required: No

versionNameNoSnapshot Flag to tell if the "-SNAPSHOT" in library name should be removed. True by default
  • Type: boolean
  • Required: No
  • Default: true

compilerProvider Compiler Provider Type
  • Type: java.lang.String
  • Required: Yes
  • Default: generic

skipTest Set this to 'true' to bypass unit tests entirely. Its use is NOT RECOMMENDED, but quite convenient on occasion.
  • Type: boolean
  • Required: No
  • Expression: ${maven.test.skip}

sharedOptions A flag to use the shared options during compilation and link. If left null, the automatic behavior is based on the packaging type. It means all library modules (.a, .so, .dll) will return true. If set to true the plugin will always inlcude the shared options.
  • Type: java.lang.String
  • Required: No

includePackagingTypes List of packaging types you want the plugin to work on. If a module (project POM) has a packaging that is not listed here, the plugin will do nothing (skip all phases). This is very useful for RPM pack, static analysis and other tools.
  • Type: java.util.List<java.lang.String>
  • Required: No

excludePackagingTypes List of packaging types you DON'T want the plugin to work on. If a module (project POM) has a packaging that is listed here, the plugin will do nothing (skip all phases). This is very useful for RPM pack, static analysis and other tools.
  • Type: java.util.List<java.lang.String>
  • Required: No

groupDefinitions Definition of group to name mapping.
  • Type: java.util.Set<org.jfrog.jade.plugins.common.naming.GroupDefinition>
  • Required: No

objectFileExtension Use this field to override object file extension. The default extenstions are .obj and .o on Windows and Unix respectively
  • Type: java.lang.String
  • Required: No

compilerExecutable Use this field to override provider specific compiler executable
  • Type: java.lang.String
  • Required: No

compilerSharedOptions Compiler options to produce shared libraries. Activated when shared flag is on.
  • Type: java.util.List<java.lang.String>
  • Required: No

compilerDebugOptions Compiler options to compile in debug mode.
  • Type: java.util.List<java.lang.String>
  • Required: No

compilerStartOptions Compiler Start options to produce native object file
  • Type: java.util.List<java.lang.String>
  • Required: No

compilerMiddleOptions Compiler Middle options to produce native object file
  • Type: java.util.List<java.lang.String>
  • Required: No

compilerEndOptions Compiler End options to produce native object file
  • Type: java.util.List<java.lang.String>
  • Required: No

javahOS Javah OS name. ${jdkIncludePath} and ${jdkIncludePath}/${javaOS} are added to system include path when this field is set
  • Type: java.lang.String
  • Required: No

jdkIncludePath JDK native include directory
  • Type: java.io.File
  • Required: No
  • Default: ${java.home}/../include

sources Array of NativeSources containing include directories and source files
  • Type: java.util.List<org.codehaus.mojo.natives.NativeSources>
  • Required: No

deployInclude Flag enabling the deployment and retrieval of include zip files
  • Type: boolean
  • Required: No

includesPattern The pattern for creating the zip file containing the ".h" files. The default is "**/*.h"
  • Type: java.lang.String
  • Required: No
  • Default: **/*.h

includesExtension The file extension containing the .h files.
  • Type: java.lang.String
  • Required: No
  • Default: zip

includesRootDir The root directory where the XXX-include.zip files will be extracted
  • Type: java.io.File
  • Required: No
  • Expression: ${includesRootDir}
  • Default: ${project.build.directory}/includes

debugOptions List of options that are inserted when compiling with debug information. It should be declared the following way: ...
  • Type: boolean
  • Required: No

nbParallelCompilation The maximum amount of paralell threads to activated when doing compilation
  • Type: int
  • Required: No

compileSystemProperties Additional environments values used before execution of the compile Command.
  • Type: java.util.Map<java.lang.String,java.lang.String>
  • Required: No