jcp:preprocess
Full name:
com.igormaznitsa:jcp:7.2.1:preprocess
Description:
Mojo to preprocess either standard maven project source roots or custom source roots and place prepsocessed result into defined target folder.
Attributes:
- Requires a Maven project to be executed.
- The goal is thread-safe and supports parallel builds.
- Binds by default to the lifecycle phase:
generate-sources.
Optional Parameters
| Name | Type | Since | Description |
|---|---|---|---|
<actionPreprocessorExtension> |
String |
7.1.2 |
Name of a class to be used as action preprocessor extension. The class must have default constructor. Empty string will be recognized as missing class name. See also: com.igormaznitsa.jcp.extension.PreprocessorExtension User Property: jcp.action.preprocessor.extensionAlias: actionPreprocessorExtension |
<allowBlocks> |
boolean |
7.2.0. |
Allows merge preprocessed text lines as single text block for external processing. Default: falseAlias: allowBlocks |
<allowWhitespaces> |
boolean |
- |
Turn on support of white spaces in preprocessor directives between '//' and the '#'. Default: falseAlias: allowWhitespaces |
<baseDir> |
File |
7.0.0 |
Set base directory which will be used for relative source paths. Default: ${project.basedir}Alias: baseDir |
<careForLastEol> |
boolean |
7.0.0 |
Carefully reproduce last EOL in result files. Default: falseAlias: careForLastEol |
<clearTarget> |
boolean |
7.0.0 |
Clear target folder if it exists. Default: falseAlias: clearTarget |
<configFiles> |
List<String> |
7.0.0 |
List of external files containing variable definitions. Alias: configFiles |
<dontOverwriteSameContent> |
boolean |
7.0.0 |
Turn on check of content body compare with existing result file to prevent overwriting, if content is the same then preprocessor will not be writing new result content. Default: falseAlias: dontOverwriteSameContent |
<dryRun> |
boolean |
7.0.0. |
Dry run, making preprocessing but without output Default: falseAlias: dryRun |
<eol> |
String |
7.0.0 |
End of line string to be used in reprocessed results. It supports java escaping chars. Default: ${line.separator}User Property: jcp.line.separatorAlias: eol |
<excludeExtensions> |
List<String> |
7.0.0 |
List of file extensions to be excluded from preprocessing. By default excluded xml. Alias: excludeExtensions |
<excludeFolders> |
List<String> |
7.0.0 |
List of patterns of folder paths to be excluded from preprocessing, It uses ANT path pattern format. Alias: excludeFolders |
<extensions> |
List<String> |
7.0.0 |
List of file extensions to be included into preprocessing. By default java,txt,htm,html Alias: extensions |
<ignoreMissingSources> |
boolean |
6.1.1 |
Flag to ignore missing source folders, if false then mojo fail for any missing source folder, if true then missing folder will be ignored. Default: falseAlias: ignoreMissingSources |
<keepAttributes> |
boolean |
7.0.0 |
Keep attributes for preprocessing file and copy them to result one. Default: falseAlias: keepAttributes |
<keepComments> |
String |
7.0.0 |
Keep comments in result files. Default: trueAlias: keepComments |
<keepLines> |
boolean |
- |
Keep preprocessing directives in result files as commented ones, it is useful to not break line numeration in result files. Default: trueAlias: keepLines |
<preserveIndents> |
boolean |
- |
Preserve indents in lines marked by '//$' and '//$$' directives. Directives will be replaced by white spaces chars. Default: falseAlias: preserveIndents |
<replaceSources> |
boolean |
7.0.0 |
Replace source root folders in maven project after preprocessing for following processing. Default: trueAlias: replaceSources |
<skip> |
boolean |
6.1.1 |
Skip preprocessing. Also can be defined by property 'jcp.preprocess.skip' Default: falseUser Property: jcp.preprocess.skipAlias: skip |
<sourceEncoding> |
String |
7.0.0 |
Encoding for text read operations. Default: ${project.build.sourceEncoding}Alias: sourceEncoding |
<sources> |
List<String> |
7.0.0 |
Source root folders for preprocessing, if it is empty then project provided folders will be used. Alias: sources |
<target> |
File |
7.0.0 |
Target folder to place preprocessing result in regular source processing phase. Default: ${project.build.directory}${file.separator}generated-sources${file.separator}preprocessedAlias: target |
<targetEncoding> |
String |
7.0.0 |
Encoding for text write operations. Default: ${project.build.sourceEncoding}Alias: targetEncoding |
<targetTest> |
File |
7.0.0 |
Target folder to place preprocessing result in test source processing phase. Default: ${project.build.directory}${file.separator}generated-test-sources${file.separator}preprocessedAlias: targetTest |
<unknownVarAsFalse> |
boolean |
- |
Recognize a unknown variable as containing boolean false flag. Default: falseAlias: unknownVarAsFalse |
<useTestSources> |
boolean |
5.3.4 |
Turn on test sources root use. Default: falseAlias: useTestSources |
<vars> |
Map<String,String> |
7.0.0 |
List of variables to be registered in preprocessor as global ones. Alias: vars |
<verbose> |
boolean |
- |
Verbose mode. Default: falseAlias: verbose |
Parameter Details
<actionPreprocessorExtension>
Name of a class to be used as action preprocessor extension. The class must have default constructor. Empty string will be recognized as missing class name.
See also: com.igormaznitsa.jcp.extension.PreprocessorExtension
See also: com.igormaznitsa.jcp.extension.PreprocessorExtension
- Type:
java.lang.String - Since:
7.1.2 - Required:
No - User Property:
jcp.action.preprocessor.extension - Alias:
actionPreprocessorExtension
<allowBlocks>
Allows merge preprocessed text lines as single text block for external processing.
- Type:
boolean - Since:
7.2.0. - Required:
No - Default:
false - Alias:
allowBlocks
<allowWhitespaces>
Turn on support of white spaces in preprocessor directives between '//' and the '#'.
- Type:
boolean - Required:
No - Default:
false - Alias:
allowWhitespaces
<baseDir>
Set base directory which will be used for relative source paths.
- Type:
java.io.File - Since:
7.0.0 - Required:
No - Default:
${project.basedir} - Alias:
baseDir
<careForLastEol>
Carefully reproduce last EOL in result files.
- Type:
boolean - Since:
7.0.0 - Required:
No - Default:
false - Alias:
careForLastEol
<clearTarget>
Clear target folder if it exists.
- Type:
boolean - Since:
7.0.0 - Required:
No - Default:
false - Alias:
clearTarget
<configFiles>
List of external files containing variable definitions.
- Type:
java.util.List<java.lang.String> - Since:
7.0.0 - Required:
No - Alias:
configFiles
<dontOverwriteSameContent>
Turn on check of content body compare with existing result file to prevent overwriting, if content is the same then preprocessor will not be writing new result content.
- Type:
boolean - Since:
7.0.0 - Required:
No - Default:
false - Alias:
dontOverwriteSameContent
<dryRun>
Dry run, making preprocessing but without output
- Type:
boolean - Since:
7.0.0. - Required:
No - Default:
false - Alias:
dryRun
<eol>
End of line string to be used in reprocessed results. It supports java escaping chars.
- Type:
java.lang.String - Since:
7.0.0 - Required:
No - User Property:
jcp.line.separator - Default:
${line.separator} - Alias:
eol
<excludeExtensions>
List of file extensions to be excluded from preprocessing. By default excluded xml.
- Type:
java.util.List<java.lang.String> - Since:
7.0.0 - Required:
No - Alias:
excludeExtensions
<excludeFolders>
List of patterns of folder paths to be excluded from preprocessing, It uses ANT path pattern format.
- Type:
java.util.List<java.lang.String> - Since:
7.0.0 - Required:
No - Alias:
excludeFolders
<extensions>
List of file extensions to be included into preprocessing. By default java,txt,htm,html
- Type:
java.util.List<java.lang.String> - Since:
7.0.0 - Required:
No - Alias:
extensions
<ignoreMissingSources>
Flag to ignore missing source folders, if false then mojo fail for any missing source folder, if true then missing folder will be ignored.
- Type:
boolean - Since:
6.1.1 - Required:
No - Default:
false - Alias:
ignoreMissingSources
<keepAttributes>
Keep attributes for preprocessing file and copy them to result one.
- Type:
boolean - Since:
7.0.0 - Required:
No - Default:
false - Alias:
keepAttributes
<keepComments>
Keep comments in result files.
- Type:
java.lang.String - Since:
7.0.0 - Required:
No - Default:
true - Alias:
keepComments
<keepLines>
Keep preprocessing directives in result files as commented ones, it is useful to not break line numeration in result files.
- Type:
boolean - Required:
No - Default:
true - Alias:
keepLines
<preserveIndents>
Preserve indents in lines marked by '//$' and '//$$' directives. Directives will be replaced by white spaces chars.
- Type:
boolean - Required:
No - Default:
false - Alias:
preserveIndents
<replaceSources>
Replace source root folders in maven project after preprocessing for following processing.
- Type:
boolean - Since:
7.0.0 - Required:
No - Default:
true - Alias:
replaceSources
<skip>
Skip preprocessing. Also can be defined by property 'jcp.preprocess.skip'
- Type:
boolean - Since:
6.1.1 - Required:
No - User Property:
jcp.preprocess.skip - Default:
false - Alias:
skip
<sourceEncoding>
Encoding for text read operations.
- Type:
java.lang.String - Since:
7.0.0 - Required:
No - Default:
${project.build.sourceEncoding} - Alias:
sourceEncoding
<sources>
Source root folders for preprocessing, if it is empty then project provided folders will be used.
- Type:
java.util.List<java.lang.String> - Since:
7.0.0 - Required:
No - Alias:
sources
<target>
Target folder to place preprocessing result in regular source processing phase.
- Type:
java.io.File - Since:
7.0.0 - Required:
No - Default:
${project.build.directory}${file.separator}generated-sources${file.separator}preprocessed - Alias:
target
<targetEncoding>
Encoding for text write operations.
- Type:
java.lang.String - Since:
7.0.0 - Required:
No - Default:
${project.build.sourceEncoding} - Alias:
targetEncoding
<targetTest>
Target folder to place preprocessing result in test source processing phase.
- Type:
java.io.File - Since:
7.0.0 - Required:
No - Default:
${project.build.directory}${file.separator}generated-test-sources${file.separator}preprocessed - Alias:
targetTest
<unknownVarAsFalse>
Recognize a unknown variable as containing boolean false flag.
- Type:
boolean - Required:
No - Default:
false - Alias:
unknownVarAsFalse
<useTestSources>
Turn on test sources root use.
- Type:
boolean - Since:
5.3.4 - Required:
No - Default:
false - Alias:
useTestSources
<vars>
List of variables to be registered in preprocessor as global ones.
- Type:
java.util.Map<java.lang.String, java.lang.String> - Since:
7.0.0 - Required:
No - Alias:
vars
<verbose>
Verbose mode.
- Type:
boolean - Required:
No - Default:
false - Alias:
verbose
