public class NativeLinkMojo extends AbstractNativeMojo
| Modifier and Type | Field and Description |
|---|---|
private org.apache.maven.artifact.factory.ArtifactFactory |
artifactFactory
Internal
|
private boolean |
attach
Attach the linker's outputs to maven project be installed/deployed.
|
private boolean |
checkStaleLinkage
Enable this option to speed up linkage for large project with no dependencies changes
|
private java.lang.String |
classifier
Option to install primary artifact as a classifier, useful to install/deploy debug artifacts
|
private java.lang.String |
compilerProvider
Override this property if permitted by compilerProvider
|
private LinkerConfiguration |
config
For unit test only
|
private java.io.File |
externalLibDirectory
Dependent libraries with version + classifier removed are copied to this directory to be linked to the build
artifact
|
private java.util.List |
linkerEndOptions
Additional linker command options
|
private java.lang.String |
linkerExecutable
Override this property if permitted by linkerProvider.
|
private java.lang.String |
linkerFinalName
The name of the generated file
|
private java.util.List |
linkerMiddleOptions
Additional linker command options
|
protected java.io.File |
linkerOutputDirectory
Where to place the final packaging
|
private java.lang.String |
linkerProvider
Default value is ${compilerProvider}
|
private java.lang.String |
linkerSecondaryOutputExtensions
Comma separated extension type to be installed/deployed.
|
private java.util.List |
linkerStartOptions
Additional linker command options
|
private java.util.List |
linkingOrderLibs
Option to reorder dependency list, each item has the format of ${groupId}:${artifactId}
|
private LinkerManager |
manager
Internal
|
private boolean |
usingLinkerResponseFile
For project with lots of object files on windows, turn this flag to resolve Windows commandline length limit
|
dependencyIncludeDirectory, EMPTY_FILE_LIST, envFactoryManager, INCZIP_FOUND, INCZIP_TYPE, LINKER_INPUT_LIST_NAME, LINKER_OUTPUT_PATH, project, workingDirectory| Constructor and Description |
|---|
NativeLinkMojo() |
| Modifier and Type | Method and Description |
|---|---|
private void |
attachPrimaryArtifact() |
private void |
attachSecondaryArtifacts() |
private LinkerConfiguration |
createLinkerConfiguration() |
void |
execute() |
private java.util.List |
getDependenciesFileOrderList()
convert dependencyLinkingOrders to a file list
|
private java.io.File |
getDependencyFile(org.apache.maven.artifact.Artifact artifact,
boolean doCopy) |
protected LinkerConfiguration |
getLgetLinkerConfiguration() |
private java.util.List |
getLibFileNames() |
private Linker |
getLinker() |
private org.apache.maven.artifact.Artifact |
lookupDependencyUsingGroupArtifactIdPair(java.lang.String groupArtifactIdPair)
Look up library in dependency list using groupId:artifactId key Note: we can not use project.artifactMap due the
introduction of inczip dependency where 2 dependency with the same artifactId and groupId, but differs by
extension type make the map not suitable for lookup
|
private java.util.List |
reorderLibDependencies(java.util.List libs) |
getAllCompilersOutputFileList, getEnvFactory, getProject, removeEmptyOptions, saveCompilerOutputFilePathsprivate java.lang.String compilerProvider
private java.lang.String linkerProvider
private java.lang.String linkerExecutable
private java.util.List linkerStartOptions
private java.util.List linkerMiddleOptions
private java.util.List linkerEndOptions
private java.util.List linkingOrderLibs
private java.lang.String linkerSecondaryOutputExtensions
protected java.io.File linkerOutputDirectory
private java.lang.String linkerFinalName
private LinkerManager manager
private org.apache.maven.artifact.factory.ArtifactFactory artifactFactory
private java.io.File externalLibDirectory
private java.lang.String classifier
private boolean attach
private boolean usingLinkerResponseFile
private boolean checkStaleLinkage
private LinkerConfiguration config
public void execute()
throws org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoExecutionExceptionprivate LinkerConfiguration createLinkerConfiguration() throws org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoExecutionExceptionprivate Linker getLinker() throws org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoExecutionExceptionprivate void attachPrimaryArtifact()
private void attachSecondaryArtifacts()
private java.util.List getLibFileNames()
throws org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoExecutionExceptionprivate java.util.List getDependenciesFileOrderList()
throws org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoExecutionExceptionprivate org.apache.maven.artifact.Artifact lookupDependencyUsingGroupArtifactIdPair(java.lang.String groupArtifactIdPair)
throws org.apache.maven.plugin.MojoExecutionException
groupArtifactIdPair - org.apache.maven.plugin.MojoExecutionExceptionprivate java.util.List reorderLibDependencies(java.util.List libs)
throws org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoExecutionExceptionprivate java.io.File getDependencyFile(org.apache.maven.artifact.Artifact artifact,
boolean doCopy)
throws org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoExecutionExceptionprotected LinkerConfiguration getLgetLinkerConfiguration()