inline:inline
Full name:
org.basepom.maven:inline-maven-plugin:1.0.1:inline
Description:
Inlines one or more dependencies of the project, relocated the
classes and writes a new artifact.
Attributes:
- Requires a Maven project to be executed.
- Requires dependency resolution of artifacts in scope:
compile+runtime
. - The goal is thread-safe and supports parallel builds.
- Binds by default to the lifecycle phase:
package
.
Required Parameters
Name | Type | Since | Description |
---|---|---|---|
<prefix> |
String |
- |
Defines the package prefix for all relocated classes. This prefix
must be a valid package name. All relocated classes are put under
this prefix. User property is: inline.prefix . |
Optional Parameters
Name | Type | Since | Description |
---|---|---|---|
<additionalProcessors> |
List |
- |
Adds external jar processors. These must be on the dependency path
for the plugin. See the "Additional Processors" documentation. |
<excludes> |
List |
- |
Exclude dependencies from inclusion. A dependency is given as
groupId:artifactId . Any transitive dependency that has
been pulled in can be excluded here. The wildcard character '*' is
supported for group id and artifact id. |
<failOnDuplicate> |
boolean |
- |
Fail if any duplicate exists after processing the contents. Default value is: true .User property is: inline.failOnDuplicate . |
<failOnNoMatch> |
boolean |
- |
Fail if an inline dependency is defined but the corresponding
dependency is not actually found. Default value is: true .User property is: inline.failOnNoMatch . |
<hideClasses> |
boolean |
- |
Hide inlined classes from IDE autocompletion. Default value is: true .User property is: inline.hide-classes . |
<includes> |
List |
- |
Include dependencies. A dependency is given as
groupId:artifactId . The wildcard character '*' is
supported for group id and artifact id. |
<inlineDependencies> |
List |
- |
Direct dependencies to inline. Each dependency here must be listed
in the project POM. |
<inlinedArtifactAttached> |
boolean |
- |
If true, attach the inlined artifact, if false replace the original
artifact. Default value is: false .User property is: inline.attachArtifact . |
<inlinedClassifierName> |
String |
- |
The name of the classifier used in case the inlined artifact is
attached. Default value is: inlined . |
<outputDirectory> |
File |
- |
The destination directory for the inlined artifact. Default value is: ${project.build.directory} . |
<outputJarFile> |
File |
- |
The path to the output file for the inlined artifact. When this
parameter is set, the created archive will neither replace the
project's main artifact nor will it be attached. Hence, this
parameter causes the parameters
inlinedArtifactAttached ,
inlinedClassifierName to be ignored when used. |
<outputPomFile> |
File |
- |
The path to the output file for the new POM file. When this
parameter is set, the created pom file will not replace the
project's pom file. |
<pomFile> |
File |
- |
The POM file to use. Default value is: ${project.file} .User property is: inline.pomFile . |
<quiet> |
boolean |
- |
Silence all non-output and non-error messages. Default value is: false .User property is: inline.quiet . |
<replacePomFile> |
boolean |
- |
If true, replace the POM file with a new version that has all
inlined dependencies removed. It is possible to write a POM file
that works to build the jar with inlined dependencies and then use
the same POM file for the resulting artifact (by having all
dependencies marked as provided and ensure that those
dependencies do not have additional, transitive dependencies. This
tends to be error prone and it is recommended to have the plugin
rewrite the POM file.Default value is: true .User property is: inline.replacePomFile . |
<skip> |
boolean |
- |
Skip the execution. Default value is: false .User property is: inline.skip . |
Parameter Details
<additionalProcessors>
Adds external jar processors. These must be on the dependency path
for the plugin. See the "Additional Processors" documentation.
- Type:
java.util.List
- Required:
No
<excludes>
Exclude dependencies from inclusion. A dependency is given as
groupId:artifactId
. Any transitive dependency that has
been pulled in can be excluded here. The wildcard character '*' is
supported for group id and artifact id.- Type:
java.util.List
- Required:
No
<failOnDuplicate>
Fail if any duplicate exists after processing the contents.
- Type:
boolean
- Required:
No
- User Property:
inline.failOnDuplicate
- Default:
true
<failOnNoMatch>
Fail if an inline dependency is defined but the corresponding
dependency is not actually found.
- Type:
boolean
- Required:
No
- User Property:
inline.failOnNoMatch
- Default:
true
<hideClasses>
Hide inlined classes from IDE autocompletion.
- Type:
boolean
- Required:
No
- User Property:
inline.hide-classes
- Default:
true
<includes>
Include dependencies. A dependency is given as
groupId:artifactId
. The wildcard character '*' is
supported for group id and artifact id.- Type:
java.util.List
- Required:
No
<inlineDependencies>
Direct dependencies to inline. Each dependency here must be listed
in the project POM.
- Type:
java.util.List
- Required:
No
<inlinedArtifactAttached>
If true, attach the inlined artifact, if false replace the original
artifact.
- Type:
boolean
- Required:
No
- User Property:
inline.attachArtifact
- Default:
false
<inlinedClassifierName>
The name of the classifier used in case the inlined artifact is
attached.
- Type:
java.lang.String
- Required:
No
- Default:
inlined
<outputDirectory>
The destination directory for the inlined artifact.
- Type:
java.io.File
- Required:
No
- Default:
${project.build.directory}
<outputJarFile>
The path to the output file for the inlined artifact. When this
parameter is set, the created archive will neither replace the
project's main artifact nor will it be attached. Hence, this
parameter causes the parameters
inlinedArtifactAttached
,
inlinedClassifierName
to be ignored when used.- Type:
java.io.File
- Required:
No
<outputPomFile>
The path to the output file for the new POM file. When this
parameter is set, the created pom file will not replace the
project's pom file.
- Type:
java.io.File
- Required:
No
<pomFile>
The POM file to use.
- Type:
java.io.File
- Required:
No
- User Property:
inline.pomFile
- Default:
${project.file}
<prefix>
Defines the package prefix for all relocated classes. This prefix
must be a valid package name. All relocated classes are put under
this prefix.
- Type:
java.lang.String
- Required:
Yes
- User Property:
inline.prefix
<quiet>
Silence all non-output and non-error messages.
- Type:
boolean
- Required:
No
- User Property:
inline.quiet
- Default:
false
<replacePomFile>
If true, replace the POM file with a new version that has all
inlined dependencies removed. It is possible to write a POM file
that works to build the jar with inlined dependencies and then use
the same POM file for the resulting artifact (by having all
dependencies marked as
provided
and ensure that those
dependencies do not have additional, transitive dependencies. This
tends to be error prone and it is recommended to have the plugin
rewrite the POM file.- Type:
boolean
- Required:
No
- User Property:
inline.replacePomFile
- Default:
true
<skip>
Skip the execution.
- Type:
boolean
- Required:
No
- User Property:
inline.skip
- Default:
false