documentation update
This commit is contained in:
parent
2aec8de78a
commit
903cdcee6b
184
README.md
Normal file
184
README.md
Normal file
@ -0,0 +1,184 @@
|
||||
|
||||
# Regular Expression Maven Plugin
|
||||
|
||||
This is a maven plugin that provides various regular expression based goals to Maven.
|
||||
|
||||
## Usage
|
||||
|
||||
```xml
|
||||
<project>
|
||||
...
|
||||
<build>
|
||||
...
|
||||
<plugins>
|
||||
...
|
||||
<plugin>
|
||||
<groupId>com.inteligr8</groupId>
|
||||
<artifactId>regex-maven-plugin</artifactId>
|
||||
<version>...</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>sample-regex-test</id>
|
||||
<phase>validate</phase>
|
||||
<goals><goal>replace-property</goal></goals>
|
||||
<configuration>
|
||||
<property>a.property.to.eval</property>
|
||||
<regexes>
|
||||
<regex>
|
||||
<pattern>\.txt<pattern>
|
||||
<replacement></replacement>
|
||||
</regex>
|
||||
</regexes>
|
||||
<newProperty>a.new.property.to.set</newProperty>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
...
|
||||
</plugins>
|
||||
...
|
||||
</build>
|
||||
...
|
||||
</project>
|
||||
```
|
||||
|
||||
## Goals
|
||||
|
||||
| Goal | Description |
|
||||
| -------------------- | ----------- |
|
||||
| `replace-file` | Apply a regular expression pattern against the contents of a file, replacing matches with the specified text. The existing file is changed. |
|
||||
| `replace-properties` | Apply a regular expression pattern against a set of property values, replacing matches with the specified text, and storing in new properties. |
|
||||
| `replace-property` | Apply a regular expression pattern against a property value, replacing matches with the specified text, and storing in a new property. |
|
||||
| `replace-text` | Apply a regular expression pattern against text, replacing matches with the specified text, and storing in a new property. |
|
||||
| `match-file` | Evaluate a regular expression pattern against the contents of a file, storing the result in a boolean property. |
|
||||
| `match-filename` | Evaluate a regular expression pattern against the name of a file, storing the result in a boolean property. |
|
||||
| `match-properties` | Evaluate a regular expression pattern against a set of property values, storing the result in boolean properties. |
|
||||
| `match-property` | Evaluate a regular expression pattern against a property value, storing the result in a boolean property. |
|
||||
| `match-text` | Evaluate a regular expression pattern against text, storing the result in a boolean property. |
|
||||
| `copy-file` | A convenience goal that copies all files/folders specified in a source path to a target path. |
|
||||
| `move-file` | A convenience goal that moves all files/folders specified in a source path to a target path. |
|
||||
|
||||
### Goal: `replace-file`
|
||||
|
||||
| Configuration Property | Data Type | Required | Default | Description |
|
||||
| ---------------------- |:-----------:|:--------:| ------- | ----------- |
|
||||
| `chunkSize` | `int` | | `1024` | The streaming buffer/chunk size in bytes, while evaluating the regular expressions. Adjust for classic speed/memory trade-off. Be aware that files are processed line-by-line, unless `allowMultiLineMatch` is set to `true`. |
|
||||
| `filesets` | `FileSet[]` | Yes | | Executes against these files. |
|
||||
| `regexes` | `Regex[]` | Yes | | Applies these regular expressions and replacement text against those files. |
|
||||
| `allowMultiLineMatch` | `boolean` | | `false` | A value of `true` allows for multi-line matching. This takes substantially more memory/time to process. |
|
||||
| `charset` | `string` | | `utf-8` | |
|
||||
| `skip` | `boolean` | | `false` | |
|
||||
|
||||
### Goal: `replace-properties`
|
||||
|
||||
| Configuration Property | Data Type | Required | Default | Description |
|
||||
| ---------------------- |:----------:|:--------:| -------- | ----------- |
|
||||
| `properties` | `String[]` | Yes | | Executes against these properties. |
|
||||
| `newPropertySuffix` | `String` | | `-regex` | All evaluated properties will be copied to new properties with the same property name plus this suffix. |
|
||||
| `regexes` | `Regex[]` | Yes | | Applies these regular expressions and replacement text against those files. |
|
||||
| `allowMultiLineMatch` | `boolean` | | `false` | A value of `true` allows for multi-line matching. This takes substantially more memory/time to process. |
|
||||
| `charset` | `string` | | `utf-8` | |
|
||||
| `skip` | `boolean` | | `false` | |
|
||||
|
||||
### Goal: `replace-property`
|
||||
|
||||
| Configuration Property | Data Type | Required | Default | Description |
|
||||
| ---------------------- |:----------:|:--------:| ------- | ----------- |
|
||||
| `property` | `String` | Yes | | Executes against this property. |
|
||||
| `newProperty` | `String` | | | The evaluated property will be copied to this property name. If not specified, it will be the same name as the `property` with a `-regex` suffix. |
|
||||
| `regexes` | `Regex[]` | Yes | | Applies these regular expressions and replacement text against those files. |
|
||||
| `allowMultiLineMatch` | `boolean` | | `false` | A value of `true` allows for multi-line matching. This takes substantially more memory/time to process. |
|
||||
| `charset` | `string` | | `utf-8` | |
|
||||
| `skip` | `boolean` | | `false` | |
|
||||
|
||||
### Goal: `replace-text`
|
||||
|
||||
| Configuration Property | Data Type | Required | Default | Description |
|
||||
| ---------------------- |:----------:|:--------:| ------- | ----------- |
|
||||
| `text` | `String` | Yes | | Execute against this text. |
|
||||
| `newProperty` | `String` | Yes | | The evaluated text will be copied to this property name. |
|
||||
| `regexes` | `Regex[]` | Yes | | Applies these regular expressions and replacement text against those files. |
|
||||
| `allowMultiLineMatch` | `boolean` | | `false` | A value of `true` allows for multi-line matching. This takes substantially more memory/time to process. |
|
||||
| `charset` | `string` | | `utf-8` | |
|
||||
| `skip` | `boolean` | | `false` | |
|
||||
|
||||
### Goal: `match-file`
|
||||
|
||||
| Configuration Property | Data Type | Required | Default | Description |
|
||||
| ---------------------- |:-----------:|:--------:| ------- | ----------- |
|
||||
| `chunkSize` | `int` | | `1024` | The streaming buffer/chunk size in bytes, while evaluating the regular expressions. Adjust for classic speed/memory trade-off. Be aware that files are processed line-by-line, unless `allowMultiLineMatch` is set to `true`. |
|
||||
| `filesets` | `FileSet[]` | Yes | | Executes against these files. |
|
||||
| `newProperty` | `String` | Yes | | If a single regular expression matches the contents in a single file, then this property will be set to `true`; `false` otherwise. |
|
||||
| `patterns` | `String[]` | Yes | | Evaluates these regular expressions against those files. |
|
||||
| `allowPartialMatch` | `boolean` | | `true` | A value of `true` allows for partial matching, rather than exact line-by-line matching. |
|
||||
| `negate` | `boolean` | | `false` | A value of `true` will reverse the `true`/`false` on the resultant property value. |
|
||||
| `allowMultiLineMatch` | `boolean` | | `false` | A value of `true` allows for multi-line matching. This takes substantially more memory/time to process. |
|
||||
| `charset` | `string` | | `utf-8` | |
|
||||
| `skip` | `boolean` | | `false` | |
|
||||
|
||||
### Goal: `match-filename`
|
||||
|
||||
| Configuration Property | Data Type | Required | Default | Description |
|
||||
| ---------------------- |:-----------:|:--------:| ------- | ----------- |
|
||||
| `sourceDirectory` | `File` | Yes | | Executes against this file. |
|
||||
| `newProperty` | `String` | Yes | | If a single regular expression matches the name of the file, then this property will be set to `true`; `false` otherwise. |
|
||||
| `patterns` | `String[]` | Yes | | Evaluates these regular expressions the file. |
|
||||
| `allowPartialMatch` | `boolean` | | `true` | A value of `true` allows for partial matching, rather than exact filename matching. |
|
||||
| `negate` | `boolean` | | `false` | A value of `true` will reverse the `true`/`false` on the resultant property value. |
|
||||
| `charset` | `string` | | `utf-8` | |
|
||||
| `skip` | `boolean` | | `false` | |
|
||||
|
||||
### Goal: `match-properties`
|
||||
|
||||
| Configuration Property | Data Type | Required | Default | Description |
|
||||
| ---------------------- |:----------:|:--------:| -------- | ----------- |
|
||||
| `properties` | `String[]` | Yes | | Executes against these properties. |
|
||||
| `newPropertySuffix` | `String` | | `-regex` | All evaluated properties will be copied to new properties with the same property name plus this suffix. |
|
||||
| `patterns` | `String[]` | Yes | | Evaluates these regular expressions against those properties' values. |
|
||||
| `allowPartialMatch` | `boolean` | | `true` | A value of `true` allows for partial matching, rather than exact matching. |
|
||||
| `negate` | `boolean` | | `false` | A value of `true` will reverse the `true`/`false` on the resultant property value. |
|
||||
| `allowMultiLineMatch` | `boolean` | | `false` | A value of `true` allows for multi-line matching. Very rare for property evaluation. |
|
||||
| `charset` | `string` | | `utf-8` | |
|
||||
| `skip` | `boolean` | | `false` | |
|
||||
|
||||
### Goal: `match-property`
|
||||
|
||||
| Configuration Property | Data Type | Required | Default | Description |
|
||||
| ---------------------- |:----------:|:--------:| ------- | ----------- |
|
||||
| `property` | `String` | Yes | | Executes against this property. |
|
||||
| `newProperty` | `String` | | | The evaluated property will be copied to this property name. If not specified, it will be the same name as the `property` with a `-regex` suffix. |
|
||||
| `patterns` | `String[]` | Yes | | Evaluates these regular expressions against the property value. |
|
||||
| `allowPartialMatch` | `boolean` | | `true` | A value of `true` allows for partial matching, rather than exact matching. |
|
||||
| `negate` | `boolean` | | `false` | A value of `true` will reverse the `true`/`false` on the resultant property value. |
|
||||
| `allowMultiLineMatch` | `boolean` | | `false` | A value of `true` allows for multi-line matching. Very rare for property evaluation. |
|
||||
| `charset` | `string` | | `utf-8` | |
|
||||
| `skip` | `boolean` | | `false` | |
|
||||
|
||||
### Goal: `match-text`
|
||||
|
||||
| Configuration Property | Data Type | Required | Default | Description |
|
||||
| ---------------------- |:----------:|:--------:| ------- | ----------- |
|
||||
| `text` | `String` | Yes | | Execute against this text. |
|
||||
| `newProperty` | `String` | Yes | | The evaluated text will be copied to this property name. |
|
||||
| `patterns` | `String[]` | Yes | | Evaluates these regular expressions against the property value. |
|
||||
| `allowPartialMatch` | `boolean` | | `true` | A value of `true` allows for partial matching, rather than exact matching. |
|
||||
| `negate` | `boolean` | | `false` | A value of `true` will reverse the `true`/`false` on the resultant property value. |
|
||||
| `allowMultiLineMatch` | `boolean` | | `false` | A value of `true` allows for multi-line matching. Very rare for property evaluation. |
|
||||
| `charset` | `string` | | `utf-8` | |
|
||||
| `skip` | `boolean` | | `false` | |
|
||||
|
||||
### Goal: `copy-file`
|
||||
|
||||
| Configuration Property | Data Type | Required | Default | Description |
|
||||
| ---------------------- |:----------:|:--------:| --------- | ----------- |
|
||||
| `sourceDirectory` | `File` | | ${basedir} | Copy all files from this directory. |
|
||||
| `targetDirectory` | `File` | | ${basedir} | Copy all files to this directory. |
|
||||
| `overwrite` | `boolean` | | `true` | |
|
||||
|
||||
### Goal: `move-file`
|
||||
|
||||
| Configuration Property | Data Type | Required | Default | Description |
|
||||
| ---------------------- |:----------:|:--------:| --------- | ----------- |
|
||||
| `sourceDirectory` | `File` | | ${basedir} | Move all files from this directory. |
|
||||
| `targetDirectory` | `File` | | ${basedir} | Move all files to this directory. |
|
||||
| `overwrite` | `boolean` | | `true` | |
|
85
pom.xml
85
pom.xml
@ -10,9 +10,20 @@
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
<packaging>maven-plugin</packaging>
|
||||
|
||||
<name>A Maven plugin for regex operations</name>
|
||||
<name>Regular Expression Maven Plugin</name>
|
||||
<description>A Maven plugin for regular expression operations</description>
|
||||
<url>https://bitbucket.org/inteligr8/regex-maven-plugin</url>
|
||||
|
||||
<licenses>
|
||||
<license>
|
||||
<name>GNU GENERAL PUBLIC LICENSE, Version 3, 29 June 2007</name>
|
||||
<url>https://www.gnu.org/licenses/lgpl-3.0.txt</url>
|
||||
</license>
|
||||
</licenses>
|
||||
|
||||
<scm>
|
||||
<connection>scm:git:https://bitbucket.org/inteligr8/regex-maven-plugin.git</connection>
|
||||
<developerConnection>scm:git:git@bitbucket.org:inteligr8/regex-maven-plugin.git</developerConnection>
|
||||
<url>https://bitbucket.org/inteligr8/regex-maven-plugin</url>
|
||||
</scm>
|
||||
<organization>
|
||||
@ -142,19 +153,6 @@
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-javadoc-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>javadoc</id>
|
||||
<phase>package</phase>
|
||||
<goals><goal>jar</goal></goals>
|
||||
<configuration>
|
||||
<show>public</show>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
@ -189,14 +187,57 @@
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>ossrh-release</id>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-source-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>source</id>
|
||||
<phase>package</phase>
|
||||
<goals><goal>jar-no-fork</goal></goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-javadoc-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>javadoc</id>
|
||||
<phase>package</phase>
|
||||
<goals><goal>jar</goal></goals>
|
||||
<configuration>
|
||||
<show>public</show>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-gpg-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>sign</id>
|
||||
<phase>verify</phase>
|
||||
<goals><goal>sign</goal></goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.sonatype.plugins</groupId>
|
||||
<artifactId>nexus-staging-maven-plugin</artifactId>
|
||||
<version>1.6.13</version>
|
||||
<extensions>true</extensions>
|
||||
<configuration>
|
||||
<serverId>ossrh</serverId>
|
||||
<nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
|
||||
<autoReleaseAfterClose>true</autoReleaseAfterClose>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
</profiles>
|
||||
|
||||
<distributionManagement>
|
||||
<repository>
|
||||
<id>inteligr8-releases</id>
|
||||
<name>Inteligr8 Releases</name>
|
||||
<url>http://repos.inteligr8.com/nexus/repository/inteligr8-public</url>
|
||||
</repository>
|
||||
</distributionManagement>
|
||||
|
||||
</project>
|
||||
|
@ -28,7 +28,7 @@ public class ReplaceTextMojo extends AbstractReplaceMojo {
|
||||
@Parameter( property = "text", required = true )
|
||||
protected String text;
|
||||
|
||||
@Parameter( property = "newProperty", required = false )
|
||||
@Parameter( property = "newProperty", required = true )
|
||||
protected String newProperty;
|
||||
|
||||
@Override
|
||||
|
Loading…
x
Reference in New Issue
Block a user