Fork me on GitHub

directory-content:transformMetadata

Full name:

biz.gabrys.maven.plugins:directory-content-maven-plugin:1.2.1:transformMetadata

Description:

Transforms files metadata to documents using XSLT technology. Each file metadata used to transformation process has specified structure:
<file>
   <fullPath>full file path</fullPath>
   <fullName>name with extension</fullName>
   <name>name without extension</name>
   <!-- extension node is optionally -->
   <extension>extension</extension>
   <directory>parent directory relative to ${directory.content.sourceDirectory}</directory>
   <size>size in bytes</size>
</file>

Examples:

<file>
   <fullPath>static/js/script.js</fullPath>
   <fullName>script.js</fullName>
   <name>script</name>
   <extension>js</extension>
   <directory>static/js</directory>
   <size>131072</size>
</file>
<file>
   <fullPath>static/js/file-without-extension</fullPath>
   <fullName>file-without-extension</fullName>
   <name>file-without-extension</name>
   <directory>static/js</directory>
   <size>28672</size>
</file>

Attributes:

  • Requires a Maven project to be executed.
  • The goal is thread-safe and supports parallel builds.
  • Since version: 1.0.
  • Binds by default to the lifecycle phase: generate-sources.

Required Parameters

Name Type Since Description
includes String[] 1.0 List of files to include. Specified as fileset patterns which are relative to the source directory. See available fileset patterns formats.
outputFileFormat String 1.0 Destination files naming format. {fileName} is equal to source file name without extension.
User property is: directory.content.outputFileFormat.
xsltFile File 1.0 The XSLT document used to transformation.
User property is: directory.content.xsltFile.

Optional Parameters

Name Type Since Description
encoding String 1.0 Source and output files encoding.
Default value is: ${project.build.sourceEncoding}.
User property is: directory.content.encoding.
excludes String[] 1.0 List of files to exclude. Specified as fileset patterns which are relative to the source directory. See available fileset patterns formats.
Default value is: [].
filesetPatternFormat String 1.0 Defines inclusion and exclusion fileset patterns format. Available options:
  • ant - Ant patterns
  • regex - regular expressions (use '/' as path separator)

Default value is: ant.
User property is: directory.content.filesetPatternFormat.
force boolean 1.0 Forces to always process files. By default file is only processed when modified or the destination file does not exist.
Default value is: false.
User property is: directory.content.force.
outputDirectory File 1.0 The directory for transformed files.
Default value is: ${project.build.directory}.
User property is: directory.content.outputDirectory.
separator String 1.0 The separator used in full files paths.
Default value is: / on UNIX systems or \ on Microsoft Windows systems.
User property is: directory.content.separator.
skip boolean 1.0 Defines whether to skip the plugin execution.
Default value is: false.
User property is: directory.content.skip.
sourceDirectory File 1.0 The directory with source files.
Default value is: ${project.build.sourceDirectory}.
User property is: directory.content.sourceDirectory.
verbose boolean 1.0 Defines whether the plugin runs in verbose mode.
Notice: always true in debug mode.
Default value is: false.
User property is: directory.content.verbose.

Parameter Details

encoding:

Source and output files encoding.
  • Type: java.lang.String
  • Since: 1.0
  • Required: No
  • User Property: directory.content.encoding
  • Default: ${project.build.sourceEncoding}

excludes:

List of files to exclude. Specified as fileset patterns which are relative to the source directory. See available fileset patterns formats.
Default value is: [].
  • Type: java.lang.String[]
  • Since: 1.0
  • Required: No

filesetPatternFormat:

Defines inclusion and exclusion fileset patterns format. Available options:
  • ant - Ant patterns
  • regex - regular expressions (use '/' as path separator)
  • Type: java.lang.String
  • Since: 1.0
  • Required: No
  • User Property: directory.content.filesetPatternFormat
  • Default: ant

force:

Forces to always process files. By default file is only processed when modified or the destination file does not exist.
  • Type: boolean
  • Since: 1.0
  • Required: No
  • User Property: directory.content.force
  • Default: false

includes:

List of files to include. Specified as fileset patterns which are relative to the source directory. See available fileset patterns formats.
  • Type: java.lang.String[]
  • Since: 1.0
  • Required: Yes

outputDirectory:

The directory for transformed files.
  • Type: java.io.File
  • Since: 1.0
  • Required: No
  • User Property: directory.content.outputDirectory
  • Default: ${project.build.directory}

outputFileFormat:

Destination files naming format. {fileName} is equal to source file name without extension.
  • Type: java.lang.String
  • Since: 1.0
  • Required: Yes
  • User Property: directory.content.outputFileFormat

separator:

The separator used in full files paths.
Default value is: / on UNIX systems or \ on Microsoft Windows systems.
  • Type: java.lang.String
  • Since: 1.0
  • Required: No
  • User Property: directory.content.separator

skip:

Defines whether to skip the plugin execution.
  • Type: boolean
  • Since: 1.0
  • Required: No
  • User Property: directory.content.skip
  • Default: false

sourceDirectory:

The directory with source files.
  • Type: java.io.File
  • Since: 1.0
  • Required: No
  • User Property: directory.content.sourceDirectory
  • Default: ${project.build.sourceDirectory}

verbose:

Defines whether the plugin runs in verbose mode.
Notice: always true in debug mode.
  • Type: boolean
  • Since: 1.0
  • Required: No
  • User Property: directory.content.verbose
  • Default: false

xsltFile:

The XSLT document used to transformation.
  • Type: java.io.File
  • Since: 1.0
  • Required: Yes
  • User Property: directory.content.xsltFile