Fork me on GitHub

native:compile

Full name:

org.codehaus.mojo:native-maven-plugin:1.0.0:compile

Description:

Compile source files into native object files

Attributes:

  • Requires a Maven project to be executed.
  • The goal is not marked as thread-safe and thus does not support parallel builds.
  • Binds by default to the lifecycle phase: compile.

Required Parameters

Name Type Since Description
<compilerOutputDirectory> File 1.0-alpha-4 Compiler output files ( .o, .obj, etc) location
Default: ${project.build.directory}/objs
<compilerProvider> String 1.0-alpha-2 Compiler Provider Type
Default: generic
<workingDirectory> File - user directory when external tools( ie compiler/linker ) are invoked
Default: ${basedir}

Optional Parameters

Name Type Since Description
<compilerEndOptions> List<String> 1.0-alpha-2 Compiler options
<compilerExecutable> String 1.0-alpha-2 Use this field to override provider specific compiler executable
<compilerMiddleOptions> List<String> 1.0-alpha-2 Compiler options
<compilerStartOptions> List<String> 1.0-alpha-2 Compiler options
<dependencyIncludeDirectory> File - Directory to unpack .inczip dependency files to be included as system include path
Default: ${project.build.directory}/native/include
<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.
<javahOS> String 1.0-alpha-2 Javah OS name. ${jdkIncludePath} and ${jdkIncludePath}/${javaOS} are added to system include path when this field is set
<jdkIncludePath> File 1.0-alpha-2 JDK native include directory
Default: ${java.home}/../include
<numberOfConcurrentCompilation> int 1.0-alpha-4 Number of parallel compilation threads
Default: 1
<objectFileExtension> String 1.0-alpha-2 Use this field to override object file extension. The default extensions are .obj and .o on Windows and Unix respectively
<skip> boolean 1.0-M2 Set to true to skip the execution of native plugin mojos.
Default: false
User Property: native.skip
<sources> NativeSources[] 1.0-alpha-2 Array of NativeSources containing include directories and source files.

Parameter Details

<compilerEndOptions>

Compiler options
  • Type: java.util.List<java.lang.String>
  • Since: 1.0-alpha-2
  • Required: No

<compilerExecutable>

Use this field to override provider specific compiler executable
  • Type: java.lang.String
  • Since: 1.0-alpha-2
  • Required: No

<compilerMiddleOptions>

Compiler options
  • Type: java.util.List<java.lang.String>
  • Since: 1.0-alpha-2
  • Required: No

<compilerOutputDirectory>

Compiler output files ( .o, .obj, etc) location
  • Type: java.io.File
  • Since: 1.0-alpha-4
  • Required: Yes
  • Default: ${project.build.directory}/objs

<compilerProvider>

Compiler Provider Type
  • Type: java.lang.String
  • Since: 1.0-alpha-2
  • Required: Yes
  • Default: generic

<compilerStartOptions>

Compiler options
  • Type: java.util.List<java.lang.String>
  • Since: 1.0-alpha-2
  • Required: No

<dependencyIncludeDirectory>

Directory to unpack .inczip dependency files to be included as system include path
  • Type: java.io.File
  • Required: No
  • Default: ${project.build.directory}/native/include

<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

<javahOS>

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

<jdkIncludePath>

JDK native include directory
  • Type: java.io.File
  • Since: 1.0-alpha-2
  • Required: No
  • Default: ${java.home}/../include

<numberOfConcurrentCompilation>

Number of parallel compilation threads
  • Type: int
  • Since: 1.0-alpha-4
  • Required: No
  • Default: 1

<objectFileExtension>

Use this field to override object file extension. The default extensions are .obj and .o on Windows and Unix respectively
  • Type: java.lang.String
  • Since: 1.0-alpha-2
  • Required: No

<skip>

Set to true to skip the execution of native plugin mojos.
  • Type: boolean
  • Since: 1.0-M2
  • Required: No
  • User Property: native.skip
  • Default: false

<sources>

Array of NativeSources containing include directories and source files.
  • Type: org.codehaus.mojo.natives.NativeSources[]
  • Since: 1.0-alpha-2
  • Required: No

<workingDirectory>

user directory when external tools( ie compiler/linker ) are invoked
  • Type: java.io.File
  • Required: Yes
  • Default: ${basedir}