expanders:expansionResource

Full name:

net.democritus.maven.plugins:expanders-maven-plugin:2024.7.0:expansionResource

Description:

Generate ExpansionResource manifest.

Attributes:

  • Requires a Maven project to be executed.
  • Requires dependency resolution of artifacts in scope: compile.
  • The goal is not marked as thread-safe and thus does not support parallel builds.
  • Since version: 2020.1.0.
  • Binds by default to the lifecycle phase: process-classes.

Required Parameters

Name Type Since Description
<expansionSettings> File 2019.5.3 Expansion settings used for expansion.
Default: ${project.basedir}/conf/expansionSettings.xml
User Property: expansion.settings
<mavenBuildDir> File 2019.5.3

Alternative location where nsx-prime should be installed.

nsf command will be available in ${mavenBuildDir}/repositories/nsx/prime/nsf


Default: ${project.build.directory}
<rootDirectory> File 2020.1.0 Root directory under which resources should be located.
The rootDirectory is typically the parent of resources directory.
Default: ${project.build.outputDirectory}
<targetDirectory> File 2020.1.0 Directory to which expansionResource.xml should be generated.
If overridden, the targetDirectory must be added as a build resource.


 <build>
   <resource>
     <directory>custom-target-directory</directory>
     <filtering>false</filtering>
   </resource>
 </build>

Default: ${project.build.outputDirectory}

Optional Parameters

Name Type Since Description
<clean> Boolean 2019.5.3 Remove previous expansion before expanding, or harvest files before harvesting.
Default: false
User Property: expansion.clean
<debugAddress> String 2020.18.0 Set a debug address (hostname:port) to debug expansion/harvest
User Property: expansion.debug.address
<descriptionFile> File 2020.16.0 File containing the description of the expansion resource
Default: ${project.basedir}/DESCRIPTION.md
<details> ExpansionResourceDetails 2024.3.0 Set additional information for the expansionResource.xml manifest.
<exclusions> List<File> 2022.3.0 Excluded directories
<forceModel> boolean 2023.8.0 Force expansion, ignoring issues in the model such as expired options. This feature is provided to support expansion of an earlier project version, it should not be used in day-to-day use. Requires prime-core 2023.11.0, or 2023.4.0.1 (backport patch) to work.
Default: false
User Property: expansion.model.force
<includeClassPathDependencies> Boolean 2022.1.0 Add Class-Path dependencies to the manifest, so that the dependencies can be added when needed at expand time. Requires at least prime-core 2022.4.0
Default: false
User Property: expansion.resource.classpath
<includeTransitiveClassPathDependencies> Boolean 2024.7.0 Include transitive Class-Path dependencies. Default is true.
Default: true
User Property: expansion.resource.classpath.transitive
<nsfArgs> List<String> 2020.8.0

Experimental. Additional arguments passed directly to nsf/NsxPrimeRunner. Example:

<nsfArgs>
  <arg>--expander</arg>
  <arg>DataExpander</arg>
</nsfArgs>
<preserveExpansionSettingsVersions> boolean 2023.7.0 Use the versions for prime-core and metamodel-runtime defined in the expansionSettings.xml file instead of using those provided by the expanders-maven-plugin.
Default: true
User Property: expansion.versions.preserve

Parameter Details

<clean>

Remove previous expansion before expanding, or harvest files before harvesting.
  • Type: java.lang.Boolean
  • Since: 2019.5.3
  • Required: No
  • User Property: expansion.clean
  • Default: false

<debugAddress>

Set a debug address (hostname:port) to debug expansion/harvest
  • Type: java.lang.String
  • Since: 2020.18.0
  • Required: No
  • User Property: expansion.debug.address

<descriptionFile>

File containing the description of the expansion resource
  • Type: java.io.File
  • Since: 2020.16.0
  • Required: No
  • Default: ${project.basedir}/DESCRIPTION.md

<details>

Set additional information for the expansionResource.xml manifest.
  • Type: net.democritus.maven.ExpansionResourceDetails
  • Since: 2024.3.0
  • Required: No

<exclusions>

Excluded directories
  • Type: java.util.List<java.io.File>
  • Since: 2022.3.0
  • Required: No

<expansionSettings>

Expansion settings used for expansion.
  • Type: java.io.File
  • Since: 2019.5.3
  • Required: Yes
  • User Property: expansion.settings
  • Default: ${project.basedir}/conf/expansionSettings.xml

<forceModel>

Force expansion, ignoring issues in the model such as expired options. This feature is provided to support expansion of an earlier project version, it should not be used in day-to-day use. Requires prime-core 2023.11.0, or 2023.4.0.1 (backport patch) to work.
  • Type: boolean
  • Since: 2023.8.0
  • Required: No
  • User Property: expansion.model.force
  • Default: false

<includeClassPathDependencies>

Add Class-Path dependencies to the manifest, so that the dependencies can be added when needed at expand time. Requires at least prime-core 2022.4.0
  • Type: java.lang.Boolean
  • Since: 2022.1.0
  • Required: No
  • User Property: expansion.resource.classpath
  • Default: false

<includeTransitiveClassPathDependencies>

Include transitive Class-Path dependencies. Default is true.
  • Type: java.lang.Boolean
  • Since: 2024.7.0
  • Required: No
  • User Property: expansion.resource.classpath.transitive
  • Default: true

<mavenBuildDir>

Alternative location where nsx-prime should be installed.

nsf command will be available in ${mavenBuildDir}/repositories/nsx/prime/nsf

  • Type: java.io.File
  • Since: 2019.5.3
  • Required: Yes
  • Default: ${project.build.directory}

<nsfArgs>

Experimental. Additional arguments passed directly to nsf/NsxPrimeRunner. Example:

<nsfArgs>
  <arg>--expander</arg>
  <arg>DataExpander</arg>
</nsfArgs>
  • Type: java.util.List<java.lang.String>
  • Since: 2020.8.0
  • Required: No

<preserveExpansionSettingsVersions>

Use the versions for prime-core and metamodel-runtime defined in the expansionSettings.xml file instead of using those provided by the expanders-maven-plugin.
  • Type: boolean
  • Since: 2023.7.0
  • Required: No
  • User Property: expansion.versions.preserve
  • Default: true

<rootDirectory>

Root directory under which resources should be located.
The rootDirectory is typically the parent of resources directory.
  • Type: java.io.File
  • Since: 2020.1.0
  • Required: Yes
  • Default: ${project.build.outputDirectory}

<targetDirectory>

Directory to which expansionResource.xml should be generated.
If overridden, the targetDirectory must be added as a build resource.


 <build>
   <resource>
     <directory>custom-target-directory</directory>
     <filtering>false</filtering>
   </resource>
 </build>
  • Type: java.io.File
  • Since: 2020.1.0
  • Required: Yes
  • Default: ${project.build.outputDirectory}