You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@creadur.apache.org by cl...@apache.org on 2025/12/28 16:38:02 UTC

(creadur-rat) branch feature/restructure updated (52f01b5d -> f68895c3)

This is an automated email from the ASF dual-hosted git repository.

claude pushed a change to branch feature/restructure
in repository https://gitbox.apache.org/repos/asf/creadur-rat.git


    from 52f01b5d updated Maven test code
     new 408464e3 Migrated Ant build to apache-rat-ant-parent and sub modules.
     new f68895c3 Ant UI compiles -- no tests

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../apache-rat-tasks}/pom.xml                      |  23 +-
 .../apache-rat-tasks}/run-antunit.xml              |   0
 .../apache-rat-tasks}/spotbugs-ignore.xml          |   0
 .../src/main/java/org/apache/rat/ant/.gitignore    |   1 +
 .../java/org/apache/rat/ant/AbstractAntReport.java | 290 ++++++++
 .../main/java/org/apache/rat/ant/AntReport.java    | 799 +++++++++++++++++++++
 .../rat/ant}/ResourceCollectionContainer.java      |   2 +-
 .../java/org/apache/rat/ant}/package-info.java     |   4 +-
 .../main/resources/org/apache/rat/ant/antlib.xml   |   9 +-
 .../resources/org/apache/rat/anttasks/antlib.xml   |   0
 .../src/site/apt/examples/basic.apt.vm             |   0
 .../src/site/apt/examples/report.apt               |   0
 .../src/site/resources/css/site.css                |   0
 .../apache-rat-tasks}/src/site/site.xml            |   0
 .../src/templates/apt/ant_options.apt.vm           |   0
 .../src/templates/apt/index.apt.vm.vm              |   0
 .../rat/anttasks/AbstractRatAntTaskTest.java       |   0
 .../apache/rat/anttasks/GeneratedReportTest.java   |   2 +-
 .../java/org/apache/rat/anttasks/HelpTest.java     |   0
 .../org/apache/rat/anttasks/ReportOptionTest.java  |   0
 .../java/org/apache/rat/anttasks/ReportTest.java   |   0
 .../src/test/java/org/example/Matcher.java         |   0
 .../src/test/java/org/example/MatcherBuilder.java  |   0
 .../src/test/resources/OptionTools/One.xml         |   0
 .../src/test/resources/OptionTools/Two.xml         |   0
 .../src/test/resources/antunit/build.xml           |   0
 .../src/test/resources/antunit/customLicense.xml   |   0
 .../src/test/resources/antunit/index.apt           |   0
 .../antunit/report-bad-configurations.xml          |   0
 .../src/test/resources/antunit/report-junit.xml    |   0
 .../resources/antunit/report-normal-operation.xml  |   0
 .../src/test/resources/antunit/report-options.xml  |   0
 .../src/test/resources/helpTest/build.xml          |   0
 .../test/resources/org/example}/iso-8859-1.html    |   0
 .../pom.xml                                        |  40 +-
 .../spotbugs-ignore.xml                            |   0
 .../tools/pom.xml                                  |  21 +-
 .../tools}/spotbugs-ignore.xml                     |   0
 .../main/java/org/apache/rat/ant}/AntOption.java   | 224 +++---
 .../java/org/apache/rat/ant/ArgMethodMapping.java  |  59 ++
 .../java/org/apache/rat/ant/CodeGenerator.java     | 203 ++++++
 .../java/org/apache/rat/ant}/package-info.java     |   4 +-
 .../apache/rat/ant/CodeGenerator/AbstractAnt.vm    |  44 ++
 .../rat/ant/CodeGenerator/AntElementClass.vm       |  13 +-
 .../apache/rat/ant/CodeGenerator/AntTypeClass.vm   |  11 +-
 .../rat/ant/CodeGenerator/AttributeMethod.vm       |   7 +-
 .../apache/rat/ant/CodeGenerator/ElementMethod.vm  |  24 +-
 .../rat/ant/CodeGenerator/defaultTypeTemplate.vm   |   7 +
 .../rat/ant/CodeGenerator/fileSetTemplate.vm       |  11 +
 .../rat/ant/CodeGenerator/textValueTemplate.vm     |   7 +
 apache-rat-core/pom.xml                            |  44 +-
 .../org/apache/rat/ui/AbstractCodeGenerator.java   | 151 ++++
 .../java/org/apache/rat/ui/AbstractOption.java     |  10 +-
 .../impl/pom.xml                                   |   2 +-
 .../src/it/CustomLicense/.rat/customConfig.xml     |   0
 .../impl/src/it/CustomLicense/invoker.properties   |   0
 .../impl/src/it/CustomLicense/pom.xml              |   0
 .../main/java/nl/basjes/something/Something.java   |   0
 .../impl/src/it/RAT-107/.idea/dummy                |   0
 .../impl/src/it/RAT-107/covertura.ser              |   0
 .../impl/src/it/RAT-107/pom.xml                    |   0
 .../impl/src/it/RAT-107/release.properties         |   0
 .../impl/src/it/RAT-107/submodule/.idea/dummy      |   0
 .../impl/src/it/RAT-107/submodule/covertura.ser    |   0
 .../impl/src/it/RAT-107/submodule/pom.xml          |   0
 .../src/it/RAT-107/submodule/release.properties    |   0
 .../impl/src/it/RAT-168/invoker.properties         |   0
 .../impl/src/it/RAT-168/pom.xml                    |   0
 .../impl/src/it/RAT-168/verify.groovy              |   0
 .../impl/src/it/RAT-268/invoker.properties         |   0
 .../impl/src/it/RAT-268/module1/pom.xml            |   0
 .../impl/src/it/RAT-268/module1/src.apt            |   0
 .../impl/src/it/RAT-268/module2/module2.pom        |   0
 .../impl/src/it/RAT-268/module2/src.apt            |   0
 .../impl/src/it/RAT-268/module3/pom.xml            |   0
 .../impl/src/it/RAT-268/module3/src.apt            |   0
 .../impl/src/it/RAT-268/pom.xml                    |   0
 .../impl/src/it/RAT-314/.mvn/maven.config          |   0
 .../impl/src/it/RAT-314/.mvn/recursive/foo.xml     |   0
 .../impl/src/it/RAT-314/invoker.properties         |   0
 .../impl/src/it/RAT-314/pom.xml                    |   0
 .../impl/src/it/RAT-314/verify.groovy              |   0
 .../impl/src/it/RAT-469-default/invoker.properties |   0
 .../impl/src/it/RAT-469-default/pom.xml            |   0
 .../impl/src/it/RAT-469-default/verify.groovy      |   0
 .../impl/src/it/RAT-469/invoker.properties         |   0
 .../impl/src/it/RAT-469/pom.xml                    |   0
 .../impl/src/it/RAT-469/verify.groovy              |   0
 .../impl/src/it/it1/invoker.properties             |   0
 .../impl/src/it/it1/pom.xml                        |   0
 .../impl/src/it/it1/src.apt                        |   0
 .../impl/src/it/it1/verify.groovy                  |   0
 .../impl/src/it/settings.xml                       |   0
 .../org/apache/rat/mp/rat-report.properties        |   0
 .../java/org/apache/rat/maven/AbstractRatMojo.java |   0
 .../org/apache/rat/maven/RatCheckException.java    |   0
 .../java/org/apache/rat/maven/RatCheckMojo.java    |   0
 .../java/org/apache/rat/maven/RatReportMojo.java   |   0
 .../java/org/apache/rat/maven/package-info.java    |   0
 .../impl/src/main/java/org/apache/rat/mp/All.java  |   0
 .../impl/src/main/java/org/apache/rat/mp/Any.java  |   0
 .../src/main/java/org/apache/rat/mp/Copyright.java |   0
 .../java/org/apache/rat/mp/EnclosingMatcher.java   |   0
 .../src/main/java/org/apache/rat/mp/Family.java    |   0
 .../apache/rat/mp/HeaderMatcherSpecification.java  |   0
 .../src/main/java/org/apache/rat/mp/License.java   |   0
 .../impl/src/main/java/org/apache/rat/mp/Not.java  |   0
 .../src/main/java/org/apache/rat/mp/Regex.java     |   0
 .../impl/src/main/java/org/apache/rat/mp/Spdx.java |   0
 .../impl/src/main/java/org/apache/rat/mp/Text.java |   0
 .../META-INF/m2e/lifecycle-mapping-metadata.xml    |   0
 .../resources/org/apache/rat/mp/package-info.java  |   0
 .../impl/src/site/apt/examples/basic.apt.vm        |   0
 .../src/site/apt/examples/custom-license.apt.vm    |   0
 .../impl/src/site/apt/examples/index.apt           |   0
 .../impl/src/site/apt/examples/site.apt.vm         |   0
 .../impl/src/site/apt/examples/verify.apt.vm       |   0
 .../impl/src/site/apt/index.apt.vm                 |   0
 .../impl/src/site/apt/mvn_options.apt              |   0
 .../impl/src/site/fml/faq.fml                      |   0
 .../impl}/src/site/resources/css/site.css          |   0
 .../impl/src/site/site.xml                         |   0
 .../impl/src/templates/apt/index.apt.vm.vm         |   0
 .../impl/src/templates/apt/mvn_options.apt.vm      |   0
 .../src/test/filtered-resources/optionTest/pom.tpl |   0
 .../org/apache/rat/maven/RatCheckMojoTest.java     |   0
 .../java/org/apache/rat/maven/SettingsStub.java    |   0
 .../apache/rat/mp/BetterAbstractMojoTestCase.java  |   0
 .../test/java/org/apache/rat/mp/MavenOption.java   |   0
 .../java/org/apache/rat/mp/OptionMojoTest.java     |   0
 .../java/org/apache/rat/mp/RatTestHelpers.java     |   0
 .../impl}/src/test/resources/OptionTools/One.xml   |   0
 .../impl}/src/test/resources/OptionTools/Two.xml   |   0
 .../rat/maven/stubs/config/noDefaults/pom.xml      |  20 +-
 .../rat/maven/stubs/config/withDefaults/pom.xml    |  19 +-
 .../rat/maven/stubs/config_DefaultTest/pom.xml     |  15 +-
 .../maven/stubs/configuration-no-defaults/pom.xml  |  16 +-
 .../maven/stubs/counter-max/Unapproved1/pom.xml    |  18 +-
 .../org/apache/rat/maven/stubs/counter-min/pom.xml |  18 +-
 .../rat/maven/stubs/counterMax_DefaultTest/pom.xml |  15 +-
 .../rat/maven/stubs/counterMin_DefaultTest/pom.xml |  15 +-
 .../apache/rat/maven/stubs/dry-run/stdRun/pom.xml  |  16 +-
 .../rat/maven/stubs/dryRun_DefaultTest/pom.xml     |  15 +-
 .../rat/maven/stubs/edit-copyright/dryRun/pom.xml  |  18 +-
 .../maven/stubs/edit-copyright/editLicense/pom.xml |  17 +-
 .../stubs/edit-copyright/editOverwrite/pom.xml     |  18 +-
 .../stubs/edit-copyright/noEditLicense/pom.xml     |  16 +-
 .../apache/rat/maven/stubs/edit-license/pom.xml    |  16 +-
 .../stubs/edit-overwrite/noEditLicense/pom.xml     |  16 +-
 .../apache/rat/maven/stubs/edit-overwrite/pom.xml  |  17 +-
 .../rat/maven/stubs/help-licenses/stdOut/pom.xml   |  16 +-
 .../rat/maven/stubs/input-exclude-file/pom.xml     |  16 +-
 .../stubs/input-exclude-parsed-scm/GIT/pom.xml     |  18 +-
 .../rat/maven/stubs/input-exclude-size/pom.xml     |  16 +-
 .../rat/maven/stubs/input-exclude-std/pom.xml      |  18 +-
 .../input-exclude/includeStdValidation/pom.xml     |  19 +-
 .../maven/stubs/input-exclude/inputInclude/pom.xml |  20 +-
 .../stubs/input-exclude/inputIncludeFile/pom.xml   |  20 +-
 .../apache/rat/maven/stubs/input-exclude/pom.xml   |  20 +-
 .../rat/maven/stubs/input-include-file/pom.xml     |  21 +-
 .../stubs/input-include-std/hidden_dir/pom.xml     |  22 +-
 .../stubs/input-include-std/hidden_file/pom.xml    |  22 +-
 .../rat/maven/stubs/input-include-std/misc/pom.xml |  22 +-
 .../apache/rat/maven/stubs/input-include/pom.xml   |  24 +-
 .../apache/rat/maven/stubs/input-source/pom.xml    |  18 +-
 .../stubs/inputExcludeFile_DefaultTest/pom.xml     |  15 +-
 .../inputExcludeParsedScm_DefaultTest/pom.xml      |  15 +-
 .../stubs/inputExcludeSize_DefaultTest/pom.xml     |  15 +-
 .../stubs/inputExcludeStd_DefaultTest/pom.xml      |  15 +-
 .../maven/stubs/inputExclude_DefaultTest/pom.xml   |  15 +-
 .../stubs/inputIncludeFile_DefaultTest/pom.xml     |  15 +-
 .../maven/stubs/inputInclude_DefaultTest/pom.xml   |  15 +-
 .../maven/stubs/inputSource_DefaultTest/pom.xml    |  15 +-
 .../withLicenseDef/pom.xml                         |  19 +-
 .../withoutLicenseDef/pom.xml                      |  16 +-
 .../withLicenseDef/pom.xml                         |  19 +-
 .../withoutLicenseDef/pom.xml                      |  16 +-
 .../stubs/license-families-denied-file/pom.xml     |  16 +-
 .../maven/stubs/license-families-denied/pom.xml    |  16 +-
 .../pom.xml                                        |  15 +-
 .../licenseFamiliesApproved_DefaultTest/pom.xml    |  15 +-
 .../licenseFamiliesDeniedFile_DefaultTest/pom.xml  |  15 +-
 .../licenseFamiliesDenied_DefaultTest/pom.xml      |  15 +-
 .../licenses-approved-file/withLicenseDef/pom.xml  |  19 +-
 .../withoutLicenseDef/pom.xml                      |  16 +-
 .../stubs/licenses-approved/withLicenseDef/pom.xml |  19 +-
 .../licenses-approved/withoutLicenseDef/pom.xml    |  16 +-
 .../stubs/licenses-denied-file/ILLUMOS/pom.xml     |  16 +-
 .../maven/stubs/licenses-denied/ILLUMOS/pom.xml    |  16 +-
 .../stubs/licensesApprovedFile_DefaultTest/pom.xml |  15 +-
 .../stubs/licensesApproved_DefaultTest/pom.xml     |  15 +-
 .../rat/maven/stubs/output-archive/absence/pom.xml |  16 +-
 .../stubs/output-archive/notification/pom.xml      |  16 +-
 .../maven/stubs/output-archive/presence/pom.xml    |  16 +-
 .../rat/maven/stubs/output-families/all/pom.xml    |  16 +-
 .../maven/stubs/output-families/approved/pom.xml   |  16 +-
 .../rat/maven/stubs/output-families/none/pom.xml   |  16 +-
 .../org/apache/rat/maven/stubs/output-file/pom.xml |  16 +-
 .../rat/maven/stubs/output-licenses/ALL/pom.xml    |  16 +-
 .../maven/stubs/output-licenses/APPROVED/pom.xml   |  16 +-
 .../rat/maven/stubs/output-licenses/NONE/pom.xml   |  16 +-
 .../maven/stubs/output-standard/absence/pom.xml    |  16 +-
 .../stubs/output-standard/notification/pom.xml     |  16 +-
 .../maven/stubs/output-standard/presence/pom.xml   |  16 +-
 .../stubs/output-style/fileStyleSheet/pom.xml      |  17 +-
 .../stubs/output-style/missing_headers/pom.xml     |  17 +-
 .../rat/maven/stubs/output-style/plain/pom.xml     |  17 +-
 .../stubs/output-style/unapproved_licenses/pom.xml |  17 +-
 .../rat/maven/stubs/output-style/xhtml5/pom.xml    |  17 +-
 .../rat/maven/stubs/output-style/xml/pom.xml       |  17 +-
 .../src/test/resources/unit/RAT-107/.idea/dummy    |   0
 .../src/test/resources/unit/RAT-107/cobertura.ser  |   0
 .../impl/src/test/resources/unit/RAT-107/pom.xml   |   0
 .../test/resources/unit/RAT-107/release.properties |   0
 .../resources/unit/RAT-107/submodule/.idea/dummy   |   0
 .../resources/unit/RAT-107/submodule/cobertura.ser |   0
 .../test/resources/unit/RAT-107/submodule/pom.xml  |   0
 .../unit/RAT-107/submodule/release.properties      |   0
 .../src/test/resources/unit/RAT-335/README.txt     |   0
 .../src/test/resources/unit/RAT-335/dir1/dir1.md   |   0
 .../src/test/resources/unit/RAT-335/dir2/dir2.txt  |   0
 .../src/test/resources/unit/RAT-335/dir3/file3.log |   0
 .../impl/src/test/resources/unit/RAT-335/pom.xml   |   0
 .../impl/src/test/resources/unit/RAT-343/pom.xml   |   0
 .../impl/src/test/resources/unit/RAT-362/bar.md    |   0
 .../impl/src/test/resources/unit/RAT-362/pom.xml   |   0
 .../impl/src/test/resources/unit/it1/.bzrignore    |   0
 .../impl/src/test/resources/unit/it1/pom.xml       |   0
 .../impl/src/test/resources/unit/it2/pom.xml       |   0
 .../impl/src/test/resources/unit/it2/src.txt       |   0
 .../impl/src/test/resources/unit/it3/pom.xml       |   0
 .../impl/src/test/resources/unit/it3/src.apt       |   0
 .../src/test/resources/unit/it4}/iso-8859-1.html   |   0
 .../impl/src/test/resources/unit/it4/pom.xml       |   0
 .../test/resources/unit/it5/.rat/customConfig.xml  |   0
 .../impl/src/test/resources/unit/it5/pom.xml       |   0
 .../main/java/nl/basjes/something/Something.java   |   0
 .../pom.xml                                        |   2 +-
 .../spotbugs-ignore.xml                            |   0
 .../tools/pom.xml                                  |   2 +-
 .../tools}/spotbugs-ignore.xml                     |   0
 .../java/org/apache/rat/maven/CodeGenerator.java   |   0
 .../java/org/apache/rat/maven/MavenOption.java     |  17 +-
 .../java/org/apache/rat/maven/TestGenerator.java   |   0
 .../java/org/apache/rat/maven/package-info.java    |   0
 .../org/apache/rat/maven/AbstractMaven.vm          |   0
 .../org/apache/rat/maven/AbstractMavenFunc.vm      |   0
 .../resources/org/apache/rat/maven/TestJava.vm     |   0
 .../resources/org/apache/rat/maven/TestMethod.vm   |   0
 .../main/resources/org/apache/rat/maven/TestPom.vm |   0
 .../resources/org/apache/rat/maven/TestStub.vm     |   0
 apache-rat-tasks/.gitignore                        |   4 -
 .../src/main/java/org/apache/rat/anttasks/All.java |  44 --
 .../src/main/java/org/apache/rat/anttasks/Any.java |  43 --
 .../java/org/apache/rat/anttasks/Copyright.java    |  52 --
 .../main/java/org/apache/rat/anttasks/Family.java  |  45 --
 .../main/java/org/apache/rat/anttasks/Help.java    | 232 ------
 .../main/java/org/apache/rat/anttasks/License.java |  75 --
 .../src/main/java/org/apache/rat/anttasks/Not.java |  44 --
 .../main/java/org/apache/rat/anttasks/Regex.java   |  48 --
 .../main/java/org/apache/rat/anttasks/Report.java  | 600 ----------------
 .../main/java/org/apache/rat/anttasks/Spdx.java    |  47 --
 .../main/java/org/apache/rat/anttasks/Text.java    |  46 --
 .../java/org/apache/rat/anttasks/package-info.java |  24 -
 pom.xml                                            |  33 +-
 265 files changed, 2477 insertions(+), 2194 deletions(-)
 rename {apache-rat-tasks => apache-rat-ant-parent/apache-rat-tasks}/pom.xml (95%)
 rename {apache-rat-tasks => apache-rat-ant-parent/apache-rat-tasks}/run-antunit.xml (100%)
 rename {apache-rat-plugin-parent => apache-rat-ant-parent/apache-rat-tasks}/spotbugs-ignore.xml (100%)
 create mode 100644 apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/ant/.gitignore
 create mode 100644 apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/ant/AbstractAntReport.java
 create mode 100644 apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/ant/AntReport.java
 rename {apache-rat-tasks/src/main/java/org/apache/rat/anttasks => apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/ant}/ResourceCollectionContainer.java (98%)
 copy {apache-rat-cli/src/main/java/org/apache/rat/cli => apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/ant}/package-info.java (93%)
 copy apache-rat-core/src/test/resources/exampleData/Xml.xml => apache-rat-ant-parent/apache-rat-tasks/src/main/resources/org/apache/rat/ant/antlib.xml (76%)
 rename {apache-rat-tasks => apache-rat-ant-parent/apache-rat-tasks}/src/main/resources/org/apache/rat/anttasks/antlib.xml (100%)
 rename {apache-rat-tasks => apache-rat-ant-parent/apache-rat-tasks}/src/site/apt/examples/basic.apt.vm (100%)
 rename {apache-rat-tasks => apache-rat-ant-parent/apache-rat-tasks}/src/site/apt/examples/report.apt (100%)
 rename {apache-rat-plugin-parent/impl => apache-rat-ant-parent/apache-rat-tasks}/src/site/resources/css/site.css (100%)
 rename {apache-rat-tasks => apache-rat-ant-parent/apache-rat-tasks}/src/site/site.xml (100%)
 rename {apache-rat-tasks => apache-rat-ant-parent/apache-rat-tasks}/src/templates/apt/ant_options.apt.vm (100%)
 rename {apache-rat-tasks => apache-rat-ant-parent/apache-rat-tasks}/src/templates/apt/index.apt.vm.vm (100%)
 rename {apache-rat-tasks => apache-rat-ant-parent/apache-rat-tasks}/src/test/java/org/apache/rat/anttasks/AbstractRatAntTaskTest.java (100%)
 rename {apache-rat-tasks => apache-rat-ant-parent/apache-rat-tasks}/src/test/java/org/apache/rat/anttasks/GeneratedReportTest.java (99%)
 rename {apache-rat-tasks => apache-rat-ant-parent/apache-rat-tasks}/src/test/java/org/apache/rat/anttasks/HelpTest.java (100%)
 rename {apache-rat-tasks => apache-rat-ant-parent/apache-rat-tasks}/src/test/java/org/apache/rat/anttasks/ReportOptionTest.java (100%)
 rename {apache-rat-tasks => apache-rat-ant-parent/apache-rat-tasks}/src/test/java/org/apache/rat/anttasks/ReportTest.java (100%)
 rename {apache-rat-tasks => apache-rat-ant-parent/apache-rat-tasks}/src/test/java/org/example/Matcher.java (100%)
 rename {apache-rat-tasks => apache-rat-ant-parent/apache-rat-tasks}/src/test/java/org/example/MatcherBuilder.java (100%)
 rename {apache-rat-plugin-parent/impl => apache-rat-ant-parent/apache-rat-tasks}/src/test/resources/OptionTools/One.xml (100%)
 rename {apache-rat-plugin-parent/impl => apache-rat-ant-parent/apache-rat-tasks}/src/test/resources/OptionTools/Two.xml (100%)
 rename {apache-rat-tasks => apache-rat-ant-parent/apache-rat-tasks}/src/test/resources/antunit/build.xml (100%)
 rename {apache-rat-tasks => apache-rat-ant-parent/apache-rat-tasks}/src/test/resources/antunit/customLicense.xml (100%)
 rename {apache-rat-tasks => apache-rat-ant-parent/apache-rat-tasks}/src/test/resources/antunit/index.apt (100%)
 rename {apache-rat-tasks => apache-rat-ant-parent/apache-rat-tasks}/src/test/resources/antunit/report-bad-configurations.xml (100%)
 rename {apache-rat-tasks => apache-rat-ant-parent/apache-rat-tasks}/src/test/resources/antunit/report-junit.xml (100%)
 rename {apache-rat-tasks => apache-rat-ant-parent/apache-rat-tasks}/src/test/resources/antunit/report-normal-operation.xml (100%)
 rename {apache-rat-tasks => apache-rat-ant-parent/apache-rat-tasks}/src/test/resources/antunit/report-options.xml (100%)
 rename {apache-rat-tasks => apache-rat-ant-parent/apache-rat-tasks}/src/test/resources/helpTest/build.xml (100%)
 rename {apache-rat-plugin-parent/impl/src/test/resources/unit/it4 => apache-rat-ant-parent/apache-rat-tasks/src/test/resources/org/example}/iso-8859-1.html (100%)
 copy {apache-rat-plugin-parent => apache-rat-ant-parent}/pom.xml (61%)
 rename {apache-rat-plugin-parent/tools => apache-rat-ant-parent}/spotbugs-ignore.xml (100%)
 copy {apache-rat-plugin-parent => apache-rat-ant-parent}/tools/pom.xml (92%)
 rename {apache-rat-tasks => apache-rat-ant-parent/tools}/spotbugs-ignore.xml (100%)
 copy {apache-rat-tools/src/main/java/org/apache/rat/documentation/options => apache-rat-ant-parent/tools/src/main/java/org/apache/rat/ant}/AntOption.java (71%)
 create mode 100644 apache-rat-ant-parent/tools/src/main/java/org/apache/rat/ant/ArgMethodMapping.java
 create mode 100644 apache-rat-ant-parent/tools/src/main/java/org/apache/rat/ant/CodeGenerator.java
 copy {apache-rat-cli/src/main/java/org/apache/rat/cli => apache-rat-ant-parent/tools/src/main/java/org/apache/rat/ant}/package-info.java (93%)
 create mode 100644 apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/AbstractAnt.vm
 copy apache-rat-cli/src/main/java/org/apache/rat/cli/package-info.java => apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/AntElementClass.vm (86%)
 copy apache-rat-cli/src/main/java/org/apache/rat/cli/package-info.java => apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/AntTypeClass.vm (91%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/AbstractMavenFunc.vm => apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/AttributeMethod.vm (86%)
 copy apache-rat-core/src/main/java/org/apache/rat/ui/spi/UIProvider.java => apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/ElementMethod.vm (74%)
 create mode 100644 apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/defaultTypeTemplate.vm
 create mode 100644 apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/fileSetTemplate.vm
 create mode 100644 apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/textValueTemplate.vm
 create mode 100644 apache-rat-core/src/main/java/org/apache/rat/ui/AbstractCodeGenerator.java
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/pom.xml (99%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/it/CustomLicense/.rat/customConfig.xml (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/it/CustomLicense/invoker.properties (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/it/CustomLicense/pom.xml (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/it/CustomLicense/src/main/java/nl/basjes/something/Something.java (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/it/RAT-107/.idea/dummy (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/it/RAT-107/covertura.ser (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/it/RAT-107/pom.xml (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/it/RAT-107/release.properties (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/it/RAT-107/submodule/.idea/dummy (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/it/RAT-107/submodule/covertura.ser (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/it/RAT-107/submodule/pom.xml (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/it/RAT-107/submodule/release.properties (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/it/RAT-168/invoker.properties (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/it/RAT-168/pom.xml (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/it/RAT-168/verify.groovy (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/it/RAT-268/invoker.properties (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/it/RAT-268/module1/pom.xml (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/it/RAT-268/module1/src.apt (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/it/RAT-268/module2/module2.pom (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/it/RAT-268/module2/src.apt (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/it/RAT-268/module3/pom.xml (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/it/RAT-268/module3/src.apt (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/it/RAT-268/pom.xml (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/it/RAT-314/.mvn/maven.config (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/it/RAT-314/.mvn/recursive/foo.xml (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/it/RAT-314/invoker.properties (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/it/RAT-314/pom.xml (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/it/RAT-314/verify.groovy (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/it/RAT-469-default/invoker.properties (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/it/RAT-469-default/pom.xml (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/it/RAT-469-default/verify.groovy (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/it/RAT-469/invoker.properties (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/it/RAT-469/pom.xml (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/it/RAT-469/verify.groovy (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/it/it1/invoker.properties (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/it/it1/pom.xml (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/it/it1/src.apt (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/it/it1/verify.groovy (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/it/settings.xml (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/main/filtered-resources/org/apache/rat/mp/rat-report.properties (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/main/java/org/apache/rat/maven/AbstractRatMojo.java (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/main/java/org/apache/rat/maven/RatCheckException.java (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/main/java/org/apache/rat/maven/RatCheckMojo.java (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/main/java/org/apache/rat/maven/RatReportMojo.java (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/main/java/org/apache/rat/maven/package-info.java (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/main/java/org/apache/rat/mp/All.java (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/main/java/org/apache/rat/mp/Any.java (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/main/java/org/apache/rat/mp/Copyright.java (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/main/java/org/apache/rat/mp/EnclosingMatcher.java (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/main/java/org/apache/rat/mp/Family.java (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/main/java/org/apache/rat/mp/HeaderMatcherSpecification.java (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/main/java/org/apache/rat/mp/License.java (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/main/java/org/apache/rat/mp/Not.java (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/main/java/org/apache/rat/mp/Regex.java (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/main/java/org/apache/rat/mp/Spdx.java (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/main/java/org/apache/rat/mp/Text.java (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/main/resources/META-INF/m2e/lifecycle-mapping-metadata.xml (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/main/resources/org/apache/rat/mp/package-info.java (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/site/apt/examples/basic.apt.vm (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/site/apt/examples/custom-license.apt.vm (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/site/apt/examples/index.apt (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/site/apt/examples/site.apt.vm (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/site/apt/examples/verify.apt.vm (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/site/apt/index.apt.vm (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/site/apt/mvn_options.apt (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/site/fml/faq.fml (100%)
 rename {apache-rat-tasks => apache-rat-maven-parent/impl}/src/site/resources/css/site.css (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/site/site.xml (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/templates/apt/index.apt.vm.vm (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/templates/apt/mvn_options.apt.vm (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/test/filtered-resources/optionTest/pom.tpl (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/test/java/org/apache/rat/maven/RatCheckMojoTest.java (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/test/java/org/apache/rat/maven/SettingsStub.java (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/test/java/org/apache/rat/mp/BetterAbstractMojoTestCase.java (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/test/java/org/apache/rat/mp/MavenOption.java (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/test/java/org/apache/rat/mp/OptionMojoTest.java (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/test/java/org/apache/rat/mp/RatTestHelpers.java (100%)
 rename {apache-rat-tasks => apache-rat-maven-parent/impl}/src/test/resources/OptionTools/One.xml (100%)
 rename {apache-rat-tasks => apache-rat-maven-parent/impl}/src/test/resources/OptionTools/Two.xml (100%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/config/noDefaults/pom.xml (76%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/config/withDefaults/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/config_DefaultTest/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/configuration-no-defaults/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/counter-max/Unapproved1/pom.xml (76%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/counter-min/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/counterMax_DefaultTest/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/counterMin_DefaultTest/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/dry-run/stdRun/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/dryRun_DefaultTest/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/edit-copyright/dryRun/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/edit-copyright/editLicense/pom.xml (76%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/edit-copyright/editOverwrite/pom.xml (76%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/edit-copyright/noEditLicense/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/edit-license/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/edit-overwrite/noEditLicense/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/edit-overwrite/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/help-licenses/stdOut/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-exclude-file/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-exclude-parsed-scm/GIT/pom.xml (75%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-exclude-size/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-exclude-std/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-exclude/includeStdValidation/pom.xml (74%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-exclude/inputInclude/pom.xml (73%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-exclude/inputIncludeFile/pom.xml (73%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-exclude/pom.xml (75%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-include-file/pom.xml (72%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-include-std/hidden_dir/pom.xml (72%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-include-std/hidden_file/pom.xml (71%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-include-std/misc/pom.xml (73%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-include/pom.xml (72%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-source/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/inputExcludeFile_DefaultTest/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/inputExcludeParsedScm_DefaultTest/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/inputExcludeSize_DefaultTest/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/inputExcludeStd_DefaultTest/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/inputExclude_DefaultTest/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/inputIncludeFile_DefaultTest/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/inputInclude_DefaultTest/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/inputSource_DefaultTest/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/license-families-approved-file/withLicenseDef/pom.xml (71%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/license-families-approved-file/withoutLicenseDef/pom.xml (72%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/license-families-approved/withLicenseDef/pom.xml (73%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/license-families-approved/withoutLicenseDef/pom.xml (74%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/license-families-denied-file/pom.xml (75%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/license-families-denied/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licenseFamiliesApprovedFile_DefaultTest/pom.xml (76%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licenseFamiliesApproved_DefaultTest/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licenseFamiliesDeniedFile_DefaultTest/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licenseFamiliesDenied_DefaultTest/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licenses-approved-file/withLicenseDef/pom.xml (73%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licenses-approved-file/withoutLicenseDef/pom.xml (74%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licenses-approved/withLicenseDef/pom.xml (74%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licenses-approved/withoutLicenseDef/pom.xml (76%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licenses-denied-file/ILLUMOS/pom.xml (76%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licenses-denied/ILLUMOS/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licensesApprovedFile_DefaultTest/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licensesApproved_DefaultTest/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-archive/absence/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-archive/notification/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-archive/presence/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-families/all/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-families/approved/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-families/none/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-file/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-licenses/ALL/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-licenses/APPROVED/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-licenses/NONE/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-standard/absence/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-standard/notification/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-standard/presence/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-style/fileStyleSheet/pom.xml (75%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-style/missing_headers/pom.xml (75%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-style/plain/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-style/unapproved_licenses/pom.xml (75%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-style/xhtml5/pom.xml (77%)
 copy apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm => apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-style/xml/pom.xml (77%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/test/resources/unit/RAT-107/.idea/dummy (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/test/resources/unit/RAT-107/cobertura.ser (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/test/resources/unit/RAT-107/pom.xml (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/test/resources/unit/RAT-107/release.properties (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/test/resources/unit/RAT-107/submodule/.idea/dummy (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/test/resources/unit/RAT-107/submodule/cobertura.ser (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/test/resources/unit/RAT-107/submodule/pom.xml (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/test/resources/unit/RAT-107/submodule/release.properties (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/test/resources/unit/RAT-335/README.txt (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/test/resources/unit/RAT-335/dir1/dir1.md (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/test/resources/unit/RAT-335/dir2/dir2.txt (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/test/resources/unit/RAT-335/dir3/file3.log (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/test/resources/unit/RAT-335/pom.xml (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/test/resources/unit/RAT-343/pom.xml (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/test/resources/unit/RAT-362/bar.md (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/test/resources/unit/RAT-362/pom.xml (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/test/resources/unit/it1/.bzrignore (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/test/resources/unit/it1/pom.xml (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/test/resources/unit/it2/pom.xml (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/test/resources/unit/it2/src.txt (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/test/resources/unit/it3/pom.xml (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/test/resources/unit/it3/src.apt (100%)
 rename {apache-rat-tasks/src/test/resources/org/example => apache-rat-maven-parent/impl/src/test/resources/unit/it4}/iso-8859-1.html (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/test/resources/unit/it4/pom.xml (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/test/resources/unit/it5/.rat/customConfig.xml (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/test/resources/unit/it5/pom.xml (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/impl/src/test/resources/unit/it5/src/main/java/nl/basjes/something/Something.java (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/pom.xml (98%)
 copy {apache-rat-cli => apache-rat-maven-parent}/spotbugs-ignore.xml (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/tools/pom.xml (99%)
 copy {apache-rat-cli => apache-rat-maven-parent/tools}/spotbugs-ignore.xml (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/tools/src/main/java/org/apache/rat/maven/CodeGenerator.java (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/tools/src/main/java/org/apache/rat/maven/MavenOption.java (95%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/tools/src/main/java/org/apache/rat/maven/TestGenerator.java (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/tools/src/main/java/org/apache/rat/maven/package-info.java (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/tools/src/main/resources/org/apache/rat/maven/AbstractMaven.vm (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/tools/src/main/resources/org/apache/rat/maven/AbstractMavenFunc.vm (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/tools/src/main/resources/org/apache/rat/maven/TestJava.vm (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/tools/src/main/resources/org/apache/rat/maven/TestMethod.vm (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/tools/src/main/resources/org/apache/rat/maven/TestPom.vm (100%)
 rename {apache-rat-plugin-parent => apache-rat-maven-parent}/tools/src/main/resources/org/apache/rat/maven/TestStub.vm (100%)
 delete mode 100644 apache-rat-tasks/.gitignore
 delete mode 100644 apache-rat-tasks/src/main/java/org/apache/rat/anttasks/All.java
 delete mode 100644 apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Any.java
 delete mode 100644 apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Copyright.java
 delete mode 100644 apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Family.java
 delete mode 100644 apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Help.java
 delete mode 100644 apache-rat-tasks/src/main/java/org/apache/rat/anttasks/License.java
 delete mode 100644 apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Not.java
 delete mode 100644 apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Regex.java
 delete mode 100644 apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Report.java
 delete mode 100644 apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Spdx.java
 delete mode 100644 apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Text.java
 delete mode 100644 apache-rat-tasks/src/main/java/org/apache/rat/anttasks/package-info.java


(creadur-rat) 02/02: Ant UI compiles -- no tests

Posted by cl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

claude pushed a commit to branch feature/restructure
in repository https://gitbox.apache.org/repos/asf/creadur-rat.git

commit f68895c324408aabe6fd062ea39578ded3bad323
Author: Claude Warren <cl...@xenei.com>
AuthorDate: Sun Dec 28 16:37:43 2025 +0000

    Ant UI compiles -- no tests
---
 apache-rat-ant-parent/apache-rat-tasks/pom.xml     |   9 +-
 .../src/main/java/org/apache/rat/ant/.gitignore    |   1 +
 .../java/org/apache/rat/ant/AbstractAntReport.java |  32 +-
 .../main/java/org/apache/rat/ant/AntReport.java    | 179 +++---
 .../Family.java => ant/package-info.java}          |  27 +-
 .../src/main/java/org/apache/rat/anttasks/All.java |  44 --
 .../src/main/java/org/apache/rat/anttasks/Any.java |  43 --
 .../java/org/apache/rat/anttasks/Copyright.java    |  52 --
 .../main/java/org/apache/rat/anttasks/Help.java    | 232 --------
 .../main/java/org/apache/rat/anttasks/License.java |  75 ---
 .../src/main/java/org/apache/rat/anttasks/Not.java |  44 --
 .../main/java/org/apache/rat/anttasks/Regex.java   |  48 --
 .../main/java/org/apache/rat/anttasks/Report.java  | 601 ---------------------
 .../main/java/org/apache/rat/anttasks/Spdx.java    |  47 --
 .../main/java/org/apache/rat/anttasks/Text.java    |  46 --
 .../java/org/apache/rat/anttasks/package-info.java |  24 -
 .../apache/rat/ant/CodeGenerator/AbstractAnt.vm    |   1 +
 .../rat/ant/CodeGenerator/AntElementClass.vm       |   2 +-
 .../rat/ant/CodeGenerator/defaultTypeTemplate.vm   |   2 +-
 .../rat/ant/CodeGenerator/fileSetTemplate.vm       |   2 +-
 .../rat/ant/CodeGenerator/textValueTemplate.vm     |   2 +-
 21 files changed, 125 insertions(+), 1388 deletions(-)

diff --git a/apache-rat-ant-parent/apache-rat-tasks/pom.xml b/apache-rat-ant-parent/apache-rat-tasks/pom.xml
index 05eceaa3..7345174f 100644
--- a/apache-rat-ant-parent/apache-rat-tasks/pom.xml
+++ b/apache-rat-ant-parent/apache-rat-tasks/pom.xml
@@ -139,18 +139,17 @@
         <artifactId>exec-maven-plugin</artifactId>
         <executions>
           <execution>
-            <id>Create BaseAntTask</id>
+            <id>Create AntReport</id>
             <goals>
               <goal>java</goal>
             </goals>
             <phase>generate-sources</phase>
             <configuration>
               <classpathScope>test</classpathScope>
-              <mainClass>org.apache.rat.tools.AntGenerator</mainClass>
+              <mainClass>org.apache.rat.ant.CodeGenerator</mainClass>
               <arguments>
-                <argument>org.apache.rat.anttasks</argument>
-                <argument>BaseAntTask</argument>
-                <argument>${project.build.sourceDirectory}</argument>
+                <argument>-p</argument>
+                <argument>${build.sourceDirectory}</argument>
               </arguments>
             </configuration>
           </execution>
diff --git a/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/ant/.gitignore b/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/ant/.gitignore
new file mode 100644
index 00000000..4032758b
--- /dev/null
+++ b/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/ant/.gitignore
@@ -0,0 +1 @@
+AntReport.java
diff --git a/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/ant/AbstractAntReport.java b/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/ant/AbstractAntReport.java
index e0edf2b3..5c243396 100644
--- a/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/ant/AbstractAntReport.java
+++ b/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/ant/AbstractAntReport.java
@@ -1,11 +1,29 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*   http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied.  See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*/
 package org.apache.rat.ant;
 
 import java.io.File;
 import java.io.IOException;
-import java.io.OutputStream;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.stream.Collectors;
+
 import org.apache.commons.cli.Option;
 import org.apache.commons.cli.ParseException;
 import org.apache.commons.io.output.CloseShieldOutputStream;
@@ -13,7 +31,6 @@ import org.apache.rat.ConfigurationException;
 import org.apache.rat.OptionCollection;
 import org.apache.rat.ReportConfiguration;
 import org.apache.rat.Reporter;
-import org.apache.rat.anttasks.BaseAntTask;
 import org.apache.rat.commandline.Arg;
 import org.apache.rat.commandline.ArgumentContext;
 import org.apache.rat.commandline.StyleSheets;
@@ -26,18 +43,14 @@ import org.apache.rat.utils.Log;
 import org.apache.tools.ant.BuildException;
 import org.apache.tools.ant.Project;
 import org.apache.tools.ant.Task;
-import org.apache.tools.ant.taskdefs.Javadoc;
 import org.apache.tools.ant.taskdefs.LogOutputStream;
 import org.apache.tools.ant.types.ResourceCollection;
 import org.apache.tools.ant.types.resources.Union;
 
 public abstract class AbstractAntReport extends Task {
-
+    /** The argument tracker for this report */
     protected final ArgumentTracker argumentTracker;
-
-    /**
-     * will hold any nested resource collection
-     */
+    /** will hold any nested resource collection */
     private Union nestedResources;
 
     protected AbstractAntReport() {
@@ -155,6 +168,7 @@ public abstract class AbstractAntReport extends Task {
      * Base class for all none text command line types.
      */
     protected static class TxtValue {
+        /** The value for this object */
         private String value;
         protected TxtValue() { }
 
@@ -163,7 +177,7 @@ public abstract class AbstractAntReport extends Task {
             return value;
         }
 
-        public void addText(String text) {
+        public void addText(final String text) {
             value = text.trim();
         }
     }
diff --git a/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/ant/AntReport.java b/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/ant/AntReport.java
index 284cc8e0..d6fa6e6b 100644
--- a/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/ant/AntReport.java
+++ b/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/ant/AntReport.java
@@ -27,6 +27,7 @@ import org.apache.tools.ant.types.resources.FileResource;
 * Generated class to provide Ant support for standard RAT command line options.
 * DO NOT EDIT - GENERATED FILE
 */
+@SuppressWarnings("checkstyle:LineLength")
 public final class AntReport extends AbstractAntReport {
 
     /**
@@ -120,12 +121,12 @@ public final class AntReport extends AbstractAntReport {
      * Handles Config processing.
      */
     public class Config {
-        Config() {}
+        Config() { }
         /**
          * Adds a configured FileSet to the config.
          * @param fileSet The fileSet to add to config.
          */
-        public void addConfiguredFileSet(FileSet fileSet) {
+        public void addConfiguredFileSet(final FileSet fileSet) {
             for (Resource resource : fileSet) {
                 if (resource.isFilesystemOnly()) {
                     argumentTracker.addArg("config", ((FileResource) resource).getFile().getAbsolutePath());
@@ -147,12 +148,12 @@ public final class AntReport extends AbstractAntReport {
      * Handles Licenses processing.
      */
     public class Licenses {
-        Licenses() {}
+        Licenses() { }
         /**
          * Adds a configured FileSet to the licenses.
          * @param fileSet The fileSet to add to licenses.
          */
-        public void addConfiguredFileSet(FileSet fileSet) {
+        public void addConfiguredFileSet(final FileSet fileSet) {
             for (Resource resource : fileSet) {
                 if (resource.isFilesystemOnly()) {
                     argumentTracker.addArg("licenses", ((FileResource) resource).getFile().getAbsolutePath());
@@ -198,19 +199,19 @@ public final class AntReport extends AbstractAntReport {
      * Handles LicensesApproved processing.
      */
     public class LicensesApproved {
-        LicensesApproved() {}
+        LicensesApproved() { }
         /**
          * Adds the licenseID {@link AbstractAntReport.Lst} to licenses-approved.
          * @param licenseID The Lst to add to licenses-approved.
          */
-        public void addConfiguredLst(Lst licenseID) {
+        public void addConfiguredLst(final Lst licenseID) {
             argumentTracker.addArg("licenses-approved", licenseID.toString());
         }
         /**
          * Adds a configured FileSet to the licenses-approved.
          * @param fileSet The fileSet to add to licenses-approved.
          */
-        public void addConfiguredFileSet(FileSet fileSet) {
+        public void addConfiguredFileSet(final FileSet fileSet) {
             for (Resource resource : fileSet) {
                 if (resource.isFilesystemOnly()) {
                     argumentTracker.addArg("licenses-approved", ((FileResource) resource).getFile().getAbsolutePath());
@@ -223,12 +224,12 @@ public final class AntReport extends AbstractAntReport {
      * Handles LicensesApprovedFile processing.
      */
     public class LicensesApprovedFile {
-        LicensesApprovedFile() {}
+        LicensesApprovedFile() { }
         /**
          * Adds a configured FileSet to the licenses-approved.
          * @param fileSet The fileSet to add to licenses-approved.
          */
-        public void addConfiguredFileSet(FileSet fileSet) {
+        public void addConfiguredFileSet(final FileSet fileSet) {
             for (Resource resource : fileSet) {
                 if (resource.isFilesystemOnly()) {
                     argumentTracker.addArg("licenses-approved", ((FileResource) resource).getFile().getAbsolutePath());
@@ -248,37 +249,37 @@ public final class AntReport extends AbstractAntReport {
      * Handles LicenseFamiliesApproved processing.
      */
     public class LicenseFamiliesApproved {
-        LicenseFamiliesApproved() {}
-        /**
-         * Adds the familyID {@link AbstractAntReport.Lst} to license-families-approved.
-         * @param familyID The Lst to add to license-families-approved.
-         */
-        public void addConfiguredLst(Lst familyID) {
-            argumentTracker.addArg("license-families-approved", familyID.toString());
-        }
+        LicenseFamiliesApproved() { }
         /**
          * Adds a configured FileSet to the license-families-approved.
          * @param fileSet The fileSet to add to license-families-approved.
          */
-        public void addConfiguredFileSet(FileSet fileSet) {
+        public void addConfiguredFileSet(final FileSet fileSet) {
             for (Resource resource : fileSet) {
                 if (resource.isFilesystemOnly()) {
                     argumentTracker.addArg("license-families-approved", ((FileResource) resource).getFile().getAbsolutePath());
                 }
             }
         }
+        /**
+         * Adds the familyID {@link AbstractAntReport.Lst} to license-families-approved.
+         * @param familyID The Lst to add to license-families-approved.
+         */
+        public void addConfiguredLst(final Lst familyID) {
+            argumentTracker.addArg("license-families-approved", familyID.toString());
+        }
     }
 
     /**
      * Handles LicenseFamiliesApprovedFile processing.
      */
     public class LicenseFamiliesApprovedFile {
-        LicenseFamiliesApprovedFile() {}
+        LicenseFamiliesApprovedFile() { }
         /**
          * Adds a configured FileSet to the license-families-approved.
          * @param fileSet The fileSet to add to license-families-approved.
          */
-        public void addConfiguredFileSet(FileSet fileSet) {
+        public void addConfiguredFileSet(final FileSet fileSet) {
             for (Resource resource : fileSet) {
                 if (resource.isFilesystemOnly()) {
                     argumentTracker.addArg("license-families-approved", ((FileResource) resource).getFile().getAbsolutePath());
@@ -298,12 +299,12 @@ public final class AntReport extends AbstractAntReport {
      * Handles LicensesDenied processing.
      */
     public class LicensesDenied {
-        LicensesDenied() {}
+        LicensesDenied() { }
         /**
          * Adds a configured FileSet to the licenses-denied.
          * @param fileSet The fileSet to add to licenses-denied.
          */
-        public void addConfiguredFileSet(FileSet fileSet) {
+        public void addConfiguredFileSet(final FileSet fileSet) {
             for (Resource resource : fileSet) {
                 if (resource.isFilesystemOnly()) {
                     argumentTracker.addArg("licenses-denied", ((FileResource) resource).getFile().getAbsolutePath());
@@ -314,7 +315,7 @@ public final class AntReport extends AbstractAntReport {
          * Adds the licenseID {@link AbstractAntReport.Lst} to licenses-denied.
          * @param licenseID The Lst to add to licenses-denied.
          */
-        public void addConfiguredLst(Lst licenseID) {
+        public void addConfiguredLst(final Lst licenseID) {
             argumentTracker.addArg("licenses-denied", licenseID.toString());
         }
     }
@@ -323,12 +324,12 @@ public final class AntReport extends AbstractAntReport {
      * Handles LicensesDeniedFile processing.
      */
     public class LicensesDeniedFile {
-        LicensesDeniedFile() {}
+        LicensesDeniedFile() { }
         /**
          * Adds a configured FileSet to the licenses-denied.
          * @param fileSet The fileSet to add to licenses-denied.
          */
-        public void addConfiguredFileSet(FileSet fileSet) {
+        public void addConfiguredFileSet(final FileSet fileSet) {
             for (Resource resource : fileSet) {
                 if (resource.isFilesystemOnly()) {
                     argumentTracker.addArg("licenses-denied", ((FileResource) resource).getFile().getAbsolutePath());
@@ -348,19 +349,19 @@ public final class AntReport extends AbstractAntReport {
      * Handles LicenseFamiliesDenied processing.
      */
     public class LicenseFamiliesDenied {
-        LicenseFamiliesDenied() {}
+        LicenseFamiliesDenied() { }
         /**
          * Adds the familyID {@link AbstractAntReport.Lst} to license-families-denied.
          * @param familyID The Lst to add to license-families-denied.
          */
-        public void addConfiguredLst(Lst familyID) {
+        public void addConfiguredLst(final Lst familyID) {
             argumentTracker.addArg("license-families-denied", familyID.toString());
         }
         /**
          * Adds a configured FileSet to the license-families-denied.
          * @param fileSet The fileSet to add to license-families-denied.
          */
-        public void addConfiguredFileSet(FileSet fileSet) {
+        public void addConfiguredFileSet(final FileSet fileSet) {
             for (Resource resource : fileSet) {
                 if (resource.isFilesystemOnly()) {
                     argumentTracker.addArg("license-families-denied", ((FileResource) resource).getFile().getAbsolutePath());
@@ -373,12 +374,12 @@ public final class AntReport extends AbstractAntReport {
      * Handles LicenseFamiliesDeniedFile processing.
      */
     public class LicenseFamiliesDeniedFile {
-        LicenseFamiliesDeniedFile() {}
+        LicenseFamiliesDeniedFile() { }
         /**
          * Adds a configured FileSet to the license-families-denied.
          * @param fileSet The fileSet to add to license-families-denied.
          */
-        public void addConfiguredFileSet(FileSet fileSet) {
+        public void addConfiguredFileSet(final FileSet fileSet) {
             for (Resource resource : fileSet) {
                 if (resource.isFilesystemOnly()) {
                     argumentTracker.addArg("license-families-denied", ((FileResource) resource).getFile().getAbsolutePath());
@@ -398,12 +399,12 @@ public final class AntReport extends AbstractAntReport {
      * Handles CounterMax processing.
      */
     public class CounterMax {
-        CounterMax() {}
+        CounterMax() { }
         /**
          * Adds the counterPattern {@link AbstractAntReport.Cntr} to counter-max.
          * @param counterPattern The Cntr to add to counter-max.
          */
-        public void addConfiguredCntr(Cntr counterPattern) {
+        public void addConfiguredCntr(final Cntr counterPattern) {
             argumentTracker.addArg("counter-max", counterPattern.toString());
         }
     }
@@ -419,12 +420,12 @@ public final class AntReport extends AbstractAntReport {
      * Handles CounterMin processing.
      */
     public class CounterMin {
-        CounterMin() {}
+        CounterMin() { }
         /**
          * Adds the counterPattern {@link AbstractAntReport.Cntr} to counter-min.
          * @param counterPattern The Cntr to add to counter-min.
          */
-        public void addConfiguredCntr(Cntr counterPattern) {
+        public void addConfiguredCntr(final Cntr counterPattern) {
             argumentTracker.addArg("counter-min", counterPattern.toString());
         }
     }
@@ -442,12 +443,12 @@ public final class AntReport extends AbstractAntReport {
      * Handles Exclude processing.
      */
     public class Exclude {
-        Exclude() {}
+        Exclude() { }
         /**
          * Adds the expression {@link AbstractAntReport.Expr} to exclude.
          * @param expression The Expr to add to exclude.
          */
-        public void addConfiguredExpr(Expr expression) {
+        public void addConfiguredExpr(final Expr expression) {
             argumentTracker.addArg("exclude", expression.toString());
         }
     }
@@ -463,12 +464,19 @@ public final class AntReport extends AbstractAntReport {
      * Handles InputExclude processing.
      */
     public class InputExclude {
-        InputExclude() {}
+        InputExclude() { }
+        /**
+         * Adds the standardCollection {@link AbstractAntReport.Std} to input-exclude.
+         * @param standardCollection The Std to add to input-exclude.
+         */
+        public void addConfiguredStd(final Std standardCollection) {
+            argumentTracker.addArg("input-exclude", standardCollection.toString());
+        }
         /**
          * Adds a configured FileSet to the input-exclude.
          * @param fileSet The fileSet to add to input-exclude.
          */
-        public void addConfiguredFileSet(FileSet fileSet) {
+        public void addConfiguredFileSet(final FileSet fileSet) {
             for (Resource resource : fileSet) {
                 if (resource.isFilesystemOnly()) {
                     argumentTracker.addArg("input-exclude", ((FileResource) resource).getFile().getAbsolutePath());
@@ -479,42 +487,21 @@ public final class AntReport extends AbstractAntReport {
          * Adds the expression {@link AbstractAntReport.Expr} to input-exclude.
          * @param expression The Expr to add to input-exclude.
          */
-        public void addConfiguredExpr(Expr expression) {
+        public void addConfiguredExpr(final Expr expression) {
             argumentTracker.addArg("input-exclude", expression.toString());
         }
-        /**
-         * Adds the standardCollection {@link AbstractAntReport.Std} to input-exclude.
-         * @param standardCollection The Std to add to input-exclude.
-         */
-        public void addConfiguredStd(Std standardCollection) {
-            argumentTracker.addArg("input-exclude", standardCollection.toString());
-        }
-    }
-
-    /**
-     * Handles InputExcludeStd processing.
-     */
-    public class InputExcludeStd {
-        InputExcludeStd() {}
-        /**
-         * Adds the standardCollection {@link AbstractAntReport.Std} to input-exclude.
-         * @param standardCollection The Std to add to input-exclude.
-         */
-        public void addConfiguredStd(Std standardCollection) {
-            argumentTracker.addArg("input-exclude", standardCollection.toString());
-        }
     }
 
     /**
      * Handles InputExcludeFile processing.
      */
     public class InputExcludeFile {
-        InputExcludeFile() {}
+        InputExcludeFile() { }
         /**
          * Adds a configured FileSet to the input-exclude.
          * @param fileSet The fileSet to add to input-exclude.
          */
-        public void addConfiguredFileSet(FileSet fileSet) {
+        public void addConfiguredFileSet(final FileSet fileSet) {
             for (Resource resource : fileSet) {
                 if (resource.isFilesystemOnly()) {
                     argumentTracker.addArg("input-exclude", ((FileResource) resource).getFile().getAbsolutePath());
@@ -523,6 +510,20 @@ public final class AntReport extends AbstractAntReport {
         }
     }
 
+    /**
+     * Handles InputExcludeStd processing.
+     */
+    public class InputExcludeStd {
+        InputExcludeStd() { }
+        /**
+         * Adds the standardCollection {@link AbstractAntReport.Std} to input-exclude.
+         * @param standardCollection The Std to add to input-exclude.
+         */
+        public void addConfiguredStd(final Std standardCollection) {
+            argumentTracker.addArg("input-exclude", standardCollection.toString());
+        }
+    }
+
     /**
      * Reads <Expression> entries from a file. Entries will be excluded from processing. Argument should be a File. (See Argument Types for clarification)
      * @param excludeFile <Expression> entries from a file.
@@ -552,12 +553,19 @@ public final class AntReport extends AbstractAntReport {
      * Handles InputInclude processing.
      */
     public class InputInclude {
-        InputInclude() {}
+        InputInclude() { }
+        /**
+         * Adds the expression {@link AbstractAntReport.Expr} to input-include.
+         * @param expression The Expr to add to input-include.
+         */
+        public void addConfiguredExpr(final Expr expression) {
+            argumentTracker.addArg("input-include", expression.toString());
+        }
         /**
          * Adds a configured FileSet to the input-include.
          * @param fileSet The fileSet to add to input-include.
          */
-        public void addConfiguredFileSet(FileSet fileSet) {
+        public void addConfiguredFileSet(final FileSet fileSet) {
             for (Resource resource : fileSet) {
                 if (resource.isFilesystemOnly()) {
                     argumentTracker.addArg("input-include", ((FileResource) resource).getFile().getAbsolutePath());
@@ -565,17 +573,24 @@ public final class AntReport extends AbstractAntReport {
             }
         }
         /**
-         * Adds the expression {@link AbstractAntReport.Expr} to input-include.
-         * @param expression The Expr to add to input-include.
+         * Adds the standardCollection {@link AbstractAntReport.Std} to input-include.
+         * @param standardCollection The Std to add to input-include.
          */
-        public void addConfiguredExpr(Expr expression) {
-            argumentTracker.addArg("input-include", expression.toString());
+        public void addConfiguredStd(final Std standardCollection) {
+            argumentTracker.addArg("input-include", standardCollection.toString());
         }
+    }
+
+    /**
+     * Handles InputIncludeStd processing.
+     */
+    public class InputIncludeStd {
+        InputIncludeStd() { }
         /**
          * Adds the standardCollection {@link AbstractAntReport.Std} to input-include.
          * @param standardCollection The Std to add to input-include.
          */
-        public void addConfiguredStd(Std standardCollection) {
+        public void addConfiguredStd(final Std standardCollection) {
             argumentTracker.addArg("input-include", standardCollection.toString());
         }
     }
@@ -584,12 +599,12 @@ public final class AntReport extends AbstractAntReport {
      * Handles InputIncludeFile processing.
      */
     public class InputIncludeFile {
-        InputIncludeFile() {}
+        InputIncludeFile() { }
         /**
          * Adds a configured FileSet to the input-include.
          * @param fileSet The fileSet to add to input-include.
          */
-        public void addConfiguredFileSet(FileSet fileSet) {
+        public void addConfiguredFileSet(final FileSet fileSet) {
             for (Resource resource : fileSet) {
                 if (resource.isFilesystemOnly()) {
                     argumentTracker.addArg("input-include", ((FileResource) resource).getFile().getAbsolutePath());
@@ -598,20 +613,6 @@ public final class AntReport extends AbstractAntReport {
         }
     }
 
-    /**
-     * Handles InputIncludeStd processing.
-     */
-    public class InputIncludeStd {
-        InputIncludeStd() {}
-        /**
-         * Adds the standardCollection {@link AbstractAntReport.Std} to input-include.
-         * @param standardCollection The Std to add to input-include.
-         */
-        public void addConfiguredStd(Std standardCollection) {
-            argumentTracker.addArg("input-include", standardCollection.toString());
-        }
-    }
-
     /**
      * Includes files matching <Expression>. Will override excluded files. Arguments should be Expression. (See Argument Types for clarification)
      * @deprecated Deprecated for removal since 0.17: Use <inputInclude> instead.
@@ -625,12 +626,12 @@ public final class AntReport extends AbstractAntReport {
      * Handles Include processing.
      */
     public class Include {
-        Include() {}
+        Include() { }
         /**
          * Adds the expression {@link AbstractAntReport.Expr} to include.
          * @param expression The Expr to add to include.
          */
-        public void addConfiguredExpr(Expr expression) {
+        public void addConfiguredExpr(final Expr expression) {
             argumentTracker.addArg("include", expression.toString());
         }
     }
@@ -670,12 +671,12 @@ public final class AntReport extends AbstractAntReport {
      * Handles InputExcludeParsedScm processing.
      */
     public class InputExcludeParsedScm {
-        InputExcludeParsedScm() {}
+        InputExcludeParsedScm() { }
         /**
          * Adds the standardCollection {@link AbstractAntReport.Std} to input-exclude-parsed-scm.
          * @param standardCollection The Std to add to input-exclude-parsed-scm.
          */
-        public void addConfiguredStd(Std standardCollection) {
+        public void addConfiguredStd(final Std standardCollection) {
             argumentTracker.addArg("input-exclude-parsed-scm", standardCollection.toString());
         }
     }
diff --git a/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Family.java b/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/ant/package-info.java
similarity index 54%
rename from apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Family.java
rename to apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/ant/package-info.java
index 42fe8b51..8ad11428 100644
--- a/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Family.java
+++ b/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/ant/package-info.java
@@ -16,30 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.rat.anttasks;
-
-import org.apache.rat.DeprecationReporter;
-import org.apache.rat.license.ILicenseFamily;
-
 /**
- * Creates a License Family
- * @deprecated use configuration file.
+ * The Ant UI
  */
-@Deprecated
-@DeprecationReporter.Info(since = "0.17", forRemoval = true, use = "Configuration file and <config> element")// since 0.17
-public class Family {
-
-    private final ILicenseFamily.Builder builder = ILicenseFamily.builder();
-
-    public ILicenseFamily build() {
-        return builder.build();
-    }
-
-    public void setId(String id) {
-        builder.setLicenseFamilyCategory(id);
-    }
-
-    public void setName(String name) {
-        builder.setLicenseFamilyName(name);
-    }
-}
+package org.apache.rat.ant;
diff --git a/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/All.java b/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/All.java
deleted file mode 100644
index 46ce8fbe..00000000
--- a/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/All.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.rat.anttasks;
-
-import org.apache.rat.DeprecationReporter;
-import org.apache.rat.analysis.IHeaderMatcher;
-import org.apache.rat.analysis.IHeaderMatcher.Builder;
-import org.apache.rat.configuration.builders.AllBuilder;
-
-/**
- * Creates an All matcher.
- * @deprecated use configuration file.
- */
-@Deprecated // since 0.17
-@DeprecationReporter.Info(since = "0.17", forRemoval = true, use = "Configuration file and <configuration> element")// since 0.17
-public class All implements IHeaderMatcher.Builder {
-
-    private final AllBuilder builder = Builder.all();
-
-    @Override
-    public IHeaderMatcher build() {
-        return builder.build();
-    }
-    
-    public void add(IHeaderMatcher.Builder builder) {
-        this.builder.addEnclosed(builder);
-    }
-}
diff --git a/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Any.java b/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Any.java
deleted file mode 100644
index 86398f1d..00000000
--- a/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Any.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.rat.anttasks;
-
-import org.apache.rat.DeprecationReporter;
-import org.apache.rat.analysis.IHeaderMatcher;
-import org.apache.rat.configuration.builders.AnyBuilder;
-
-/**
- * Creates an Any matcher.
- * @deprecated use configuration file.
- */
-@Deprecated // since 0.17
-@DeprecationReporter.Info(since = "0.17", forRemoval = true, use = "Configuration file and <config> element")// since 0.17
-public class Any implements IHeaderMatcher.Builder {
-
-    private final AnyBuilder builder = new AnyBuilder();
-
-    @Override
-    public IHeaderMatcher build() {
-        return builder.build();
-    }
-    
-    public void add(IHeaderMatcher.Builder builder) {
-        this.builder.addEnclosed(builder);
-    }
-}
diff --git a/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Copyright.java b/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Copyright.java
deleted file mode 100644
index 719b20e3..00000000
--- a/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Copyright.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.rat.anttasks;
-
-import org.apache.rat.DeprecationReporter;
-import org.apache.rat.analysis.IHeaderMatcher;
-import org.apache.rat.configuration.builders.CopyrightBuilder;
-
-/**
- * Creates a Copyright matcher.
- * @deprecated use configuration file.
- */
-@Deprecated // since 0.17
-@DeprecationReporter.Info(since = "0.17", forRemoval = true, use = "Configuration file and <config> element")// since 0.17
-public class Copyright implements IHeaderMatcher.Builder {
-
-    private final CopyrightBuilder builder = new CopyrightBuilder();
-    
-    public void setStart(String start) {
-        builder.setStart(start);
-    }
-
-    public void setEnd(String end) {
-        builder.setEnd(end);
-    }
-
-    public void setOwner(String owner) {
-        builder.setOwner(owner);
-    }
-
-    @Override
-    public IHeaderMatcher build() {
-        return builder.build();
-    }
-    
-}
diff --git a/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Help.java b/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Help.java
deleted file mode 100644
index c33c32bc..00000000
--- a/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Help.java
+++ /dev/null
@@ -1,232 +0,0 @@
-/*
-* Licensed to the Apache Software Foundation (ASF) under one   *
-* or more contributor license agreements.  See the NOTICE file *
-* distributed with this work for additional information        *
-* regarding copyright ownership.  The ASF licenses this file   *
-* to you under the Apache License, Version 2.0 (the            *
-* "License"); you may not use this file except in compliance   *
-* with the License.  You may obtain a copy of the License at   *
-*                                                              *
-*   http://www.apache.org/licenses/LICENSE-2.0                 *
-*                                                              *
-* Unless required by applicable law or agreed to in writing,   *
-* software distributed under the License is distributed on an  *
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
-* KIND, either express or implied.  See the License for the    *
-* specific language governing permissions and limitations      *
-* under the License.                                           *
-*/
-package org.apache.rat.anttasks;
-
-import java.util.ArrayList;
-import java.util.Comparator;
-import java.util.Iterator;
-import java.util.List;
-import java.util.stream.Collectors;
-
-import org.apache.commons.cli.HelpFormatter;
-import org.apache.commons.cli.Option;
-import org.apache.commons.cli.Options;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.rat.commandline.Arg;
-import org.apache.rat.config.exclusion.StandardCollection;
-import org.apache.rat.help.AbstractHelp;
-import org.apache.rat.ui.AbstractOption;
-import org.apache.rat.documentation.options.AntOption;
-import org.apache.rat.utils.DefaultLog;
-import org.apache.rat.utils.Log;
-
-import static java.lang.String.format;
-
-/**
- * A basic Ant task that generates a report on all files specified by the nested
- * resource collection(s).
- *
- * <p>
- * IHeaderMatcher(s) can be specified as nested elements as well.
- * </p>
- *
- * <p>
- * The attribute <code>format</code> defines the output format and can take the
- * values
- * <ul>
- * <li>xml - RAT's native XML output.</li>
- * <li>styled - transforms the XML output using the given stylesheet. The
- * stylesheet attribute must be set as well if this attribute is used.</li>
- * <li>plain - plain text using RAT's built-in stylesheet. This is the
- * default.</li>
- * </ul>
- */
-public class Help extends BaseAntTask {
-
-    /**
-     * Constructor.
-     */
-    public Help() {
-        // replace the logger only if it has not already been set.
-        Log oldLog = DefaultLog.getInstance();
-        if (oldLog instanceof DefaultLog) {
-            DefaultLog.setInstance(new Logger());
-            DefaultLog.getInstance().setLevel(oldLog.getLevel());
-        }
-    }
-
-    /**
-     * Generates the help.
-     */
-    @Override
-    public void execute() {
-        org.apache.rat.help.Help helpObj = new org.apache.rat.help.Help(System.out) {
-            /**
-             * Print the usage to the specific PrintWriter.
-             * @param opts The defined options.
-             */
-            public void printUsage(final Options opts) {
-                String syntax = "ant {target executing task <rat:help/>}";
-                AntHelpFormatter helpFormatter = new AntHelpFormatter();
-                helpFormatter.setOptPrefix("<");
-
-                helpFormatter.printHelp(writer, helpFormatter.getWidth(), syntax, AbstractHelp.header("Available options"), opts,
-                        helpFormatter.getLeftPadding(), helpFormatter.getDescPadding(), header("Argument Types"));
-
-                String argumentPadding = printArgumentTypes();
-
-                writer.println(header("Standard Collections"));
-                for (StandardCollection sc : StandardCollection.values()) {
-                    writer.format("%n<%s>%n", sc.name());
-                    helpFormatter.printWrapped(writer, helpFormatter.getWidth(), helpFormatter.getLeftPadding() + HELP_PADDING + HELP_PADDING,
-                            argumentPadding + sc.desc());
-                    helpFormatter.printWrapped(writer, helpFormatter.getWidth(), helpFormatter.getLeftPadding() + HELP_PADDING + HELP_PADDING,
-                            argumentPadding + "File patterns: " + (sc.patterns().isEmpty() ? "<none>" : String.join(", ", sc.patterns())));
-                    helpFormatter.printWrapped(writer, helpFormatter.getWidth(), helpFormatter.getLeftPadding() + HELP_PADDING + HELP_PADDING,
-                            argumentPadding + "Provides a path matcher: " + sc.hasStaticDocumentNameMatcher());
-                    helpFormatter.printWrapped(writer, helpFormatter.getWidth(), helpFormatter.getLeftPadding() + HELP_PADDING + HELP_PADDING,
-                            argumentPadding + "Provides a file processor: " + sc.fileProcessorBuilder().hasNext());
-                }
-                writer.println("\nA path matcher will match specific information about the file.");
-                writer.println("\nA file processor will process the associated \"ignore\" file for include and exclude directives");
-
-                writer.println(header("Notes"));
-                int idx = 1;
-                for (String note : NOTES) {
-                    writer.format("%d. %s%n", idx++, note);
-                }
-                writer.flush();
-            }
-        };
-
-        helpObj.printUsage(Arg.getOptions());
-    }
-
-    @Override
-    public void log(final String msg, final int msgLevel) {
-        if (getProject() != null) {
-            getProject().log(msg, msgLevel);
-        } else {
-            DefaultLog.createDefault().log(Report.fromProjectLevel(msgLevel), msg);
-        }
-    }
-
-    @Override
-    public void log(final String msg, final Throwable t, final int msgLevel) {
-        if (getProject() == null) {
-            log(Log.formatLogEntry(msg, t), msgLevel);
-        } else {
-            getProject().log(this, msg, t, msgLevel);
-        }
-    }
-
-    /**
-     * A facade for the Logger provided by Ant.
-     */
-    private final class Logger implements Log {
-        @Override
-        public Level getLevel() {
-            return Level.DEBUG;
-        }
-
-        @Override
-        public void log(final Level level, final String message, final Throwable throwable) {
-            log(level, Log.formatLogEntry(message, throwable));
-        }
-
-        @Override
-        public void log(final Level level, final String msg) {
-            Help.this.log(msg, Report.toProjectLevel(level));
-        }
-    }
-
-    public static class AntHelpFormatter extends HelpFormatter {
-        public AntHelpFormatter() {
-            super();
-            setWidth(180);
-        }
-        @Override
-        public Comparator<Option> getOptionComparator() {
-            return Comparator.comparing(Option::getLongOpt);
-        }
-
-        @Override
-        protected StringBuffer renderOptions(final StringBuffer sb, final int width, final Options options, final int leftPad, final int descPad) {
-            final String dpad = createPadding(descPad);
-            // first create list containing only <lpad>-a,--aaa where
-            // -a is opt and --aaa is long opt; in parallel look for
-            // the longest opt string this list will then be used to
-            // sort options ascending
-            String optionTitle = " -- Option --";
-            String exampleTitle = " -- Example --";
-            String descriptionTitle = " -- Description --";
-            int max = optionTitle.length();
-            int maxExample = exampleTitle.length();
-            final List<AntOption> optList = options.getOptions().stream().filter(Option::hasLongOpt)
-                    .map(AntOption::new).collect(Collectors.toList());
-            if (getOptionComparator() != null) {
-                optList.sort(Comparator.comparing(AbstractOption::getName));
-            }
-            List<String> exampleList = new ArrayList<>();
-            for (final AntOption option : optList) {
-                String argName = StringUtils.defaultIfEmpty(option.getArgName(), "value");
-                String fmt = option.isAttribute() ? "<rat:report %s='%s'>" : "<%1$s>%2$s</%1$s>";
-                String example = format(fmt, option.getName(), argName);
-                exampleList.add(example);
-                max = Math.max(option.cleanupName().length(), max);
-                maxExample = Math.max(example.length(), maxExample);
-            }
-
-            sb.append(optionTitle).append(createPadding(max - optionTitle.length()))
-                    .append(dpad)
-                    .append(exampleTitle).append(createPadding(maxExample - exampleTitle.length()))
-                    .append(dpad)
-                    .append(descriptionTitle)
-                    .append(getNewLine());
-
-            int x = 0;
-            for (final Iterator<AntOption> it = optList.iterator(); it.hasNext();) {
-                final AntOption option = it.next();
-                String name = option.cleanupName();
-                String example = exampleList.get(x++);
-
-                final StringBuilder optBuf = new StringBuilder(name);
-                if (name.length() < max) {
-                    optBuf.append(createPadding(max - name.length()));
-                }
-                optBuf.append(dpad).append(example);
-                if (example.length() < maxExample) {
-                    optBuf.append(createPadding(maxExample - example.length()));
-                }
-                optBuf.append(dpad);
-                final int nextLineTabStop = max + maxExample + 2 * descPad;
-                if (option.isDeprecated()) {
-                    optBuf.append(option.getDeprecated());
-                } else if (option.getDescription() != null) {
-                    optBuf.append(option.getDescription());
-                }
-                renderWrappedText(sb, width, nextLineTabStop, optBuf.toString());
-                if (it.hasNext()) {
-                    sb.append(getNewLine());
-                }
-            }
-            return sb;
-        }
-    }
-}
diff --git a/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/License.java b/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/License.java
deleted file mode 100644
index 7b369623..00000000
--- a/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/License.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.rat.anttasks;
-
-import org.apache.rat.DeprecationReporter;
-import org.apache.rat.license.ILicense;
-import org.apache.rat.license.ILicenseFamily;
-
-import java.util.SortedSet;
-
-import org.apache.rat.analysis.IHeaderMatcher;
-
-/**
- * Creates a License definition.
- * @deprecated use configuration file.
- */
-@Deprecated // since 0.17
-@DeprecationReporter.Info(since = "0.17", forRemoval = true, use = "Configuration file and <config> element")// since 0.17
-public class License {
-
-    private final ILicense.Builder builder = ILicense.builder();
-    
-    ILicense.Builder asBuilder() {
-        return builder;
-    }
-
-    public ILicense build(SortedSet<ILicenseFamily> context) {
-        return builder.setLicenseFamilies(context).build();
-    }
-
-    public void setNotes(String notes) {
-        builder.setNote(notes);
-    }
-
-    public void addNotes(String notes) {
-        builder.setNote(notes);
-    }
-    
-
-    public void setFamily(String licenseFamilyCategory) {
-        builder.setFamily(licenseFamilyCategory);
-    }
-    
-    public void setId(String id) {
-        builder.setId(id);
-    }
-
-    public void setName(String name) {
-        builder.setName(name);
-    }
-
-    public void add(IHeaderMatcher.Builder builder) {
-        this.builder.setMatcher(builder);
-    }
-    
-    public void add(IHeaderMatcher matcher) {
-        this.builder.setMatcher(matcher);
-    }
-}
diff --git a/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Not.java b/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Not.java
deleted file mode 100644
index f82a0030..00000000
--- a/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Not.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.rat.anttasks;
-
-import org.apache.rat.DeprecationReporter;
-import org.apache.rat.analysis.IHeaderMatcher;
-import org.apache.rat.analysis.IHeaderMatcher.Builder;
-import org.apache.rat.configuration.builders.NotBuilder;
-
-/**
- * Creates a Not matcher.
- * @deprecated use configuration file.
- */
-@Deprecated // since 0.17
-@DeprecationReporter.Info(since = "0.17", forRemoval = true, use = "Configuration file and <config> element")// since 0.17
-public class Not implements IHeaderMatcher.Builder {
-
-    private final NotBuilder builder = Builder.not();
-
-    @Override
-    public IHeaderMatcher build() {
-        return builder.build();
-    }
-    
-    public void add(IHeaderMatcher.Builder builder) {
-        this.builder.addEnclosed(builder);
-    }
-}
diff --git a/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Regex.java b/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Regex.java
deleted file mode 100644
index becfcbb1..00000000
--- a/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Regex.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.rat.anttasks;
-
-import org.apache.rat.DeprecationReporter;
-import org.apache.rat.analysis.IHeaderMatcher;
-import org.apache.rat.analysis.matchers.SimpleRegexMatcher;
-import org.apache.rat.configuration.builders.RegexBuilder;
-
-/**
- * Creates a Regex matcher.
- * @deprecated use configuration file.
- */
-@Deprecated // since 0.17
-@DeprecationReporter.Info(since = "0.17", forRemoval = true, use = "Configuration file and <config> element")// since 0.17
-public class Regex implements IHeaderMatcher.Builder {
-
-    private final RegexBuilder builder = new RegexBuilder();
-
-    public void setExpr(String pattern) {
-        builder.setExpression(pattern);
-    }
-
-    public void addText(String pattern) {
-        builder.setExpression(pattern);
-    }
-
-    @Override
-    public SimpleRegexMatcher build() {
-        return builder.build();
-    }
-}
diff --git a/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Report.java b/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Report.java
deleted file mode 100644
index 75d7d83b..00000000
--- a/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Report.java
+++ /dev/null
@@ -1,601 +0,0 @@
-/*
-* Licensed to the Apache Software Foundation (ASF) under one   *
-* or more contributor license agreements.  See the NOTICE file *
-* distributed with this work for additional information        *
-* regarding copyright ownership.  The ASF licenses this file   *
-* to you under the Apache License, Version 2.0 (the            *
-* "License"); you may not use this file except in compliance   *
-* with the License.  You may obtain a copy of the License at   *
-*                                                              *
-*   http://www.apache.org/licenses/LICENSE-2.0                 *
-*                                                              *
-* Unless required by applicable law or agreed to in writing,   *
-* software distributed under the License is distributed on an  *
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
-* KIND, either express or implied.  See the License for the    *
-* specific language governing permissions and limitations      *
-* under the License.                                           *
-*/
-package org.apache.rat.anttasks;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.apache.commons.cli.Option;
-import org.apache.commons.io.filefilter.IOFileFilter;
-import org.apache.rat.ConfigurationException;
-import org.apache.rat.DeprecationReporter;
-import org.apache.rat.ImplementationException;
-import org.apache.rat.OptionCollection;
-import org.apache.rat.ReportConfiguration;
-import org.apache.rat.Reporter;
-import org.apache.rat.ant.ResourceCollectionContainer;
-import org.apache.rat.commandline.Arg;
-import org.apache.rat.commandline.StyleSheets;
-import org.apache.rat.document.DocumentName;
-import org.apache.rat.license.LicenseSetFactory;
-import org.apache.rat.utils.DefaultLog;
-import org.apache.rat.utils.Log;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.taskdefs.LogOutputStream;
-import org.apache.tools.ant.types.EnumeratedAttribute;
-import org.apache.tools.ant.types.Resource;
-import org.apache.tools.ant.types.ResourceCollection;
-import org.apache.tools.ant.types.resources.Union;
-
-/**
- * A basic Ant task that generates a report on all files specified by the nested
- * resource collection(s).
- *
- * <p>
- * IHeaderMatcher(s) can be specified as nested elements as well.
- * </p>
- *
- * <p>
- * The attribute <code>format</code> defines the output format and can take the
- * values
- * <ul>
- * <li>xml - RAT's native XML output.</li>
- * <li>styled - transforms the XML output using the given stylesheet. The
- * stylesheet attribute must be set as well if this attribute is used.</li>
- * <li>plain - plain text using RAT's built-in stylesheet. This is the
- * default.</li>
- * </ul>
- */
-public class Report extends BaseAntTask {
-    /**
-     * The list of licenses
-     */
-    @Deprecated
-    private final List<License> licenses = new ArrayList<>();
-    /**
-     * The list of license families
-     */
-    @Deprecated
-    private final List<Family> families = new ArrayList<>();
-    /**
-     * the options that are deprecated.  TODO remove this.
-     */
-    private final DeprecatedConfig deprecatedConfig = new DeprecatedConfig();
-    /**
-     * will hold any nested resource collection
-     */
-    private Union nestedResources;
-
-    /**
-     * Collection of objects that support Ant specific deprecated options
-     */
-    private static final class DeprecatedConfig {
-        /**
-         * The input file filter
-         */
-        private IOFileFilter inputFileFilter;
-        /**
-         * the set of approved license categories
-         */
-        private final Set<String> approvedLicenseCategories = new HashSet<>();
-        /**
-         * the set of removed (unapproved) license categories
-         */
-        private final Set<String> removedLicenseCategories = new HashSet<>();
-    }
-
-    /**
-     * Constructor.
-     */
-    public Report() {
-        super();
-        // replace the logger only if it has not already been set.
-        Log oldLog = DefaultLog.getInstance();
-        if (oldLog instanceof DefaultLog) {
-            DefaultLog.setInstance(new Logger());
-            DefaultLog.getInstance().setLevel(oldLog.getLevel());
-        }
-    }
-
-    /**
-     * Adds resources that will be checked.
-     *
-     * @param rc resource to check.
-     */
-    public void add(final ResourceCollection rc) {
-        if (nestedResources == null) {
-            nestedResources = new Union();
-        }
-        nestedResources.add(rc);
-    }
-
-    /**
-     * Adds an input file filter.
-     *
-     * @param inputFileFilter The input file filter to add.
-     */
-    @Deprecated
-    public void setInputFileFilter(final IOFileFilter inputFileFilter) {
-        DeprecationReporter.logDeprecated("element inputFileFilter", "0.17", true, "outputFile element");
-        deprecatedConfig.inputFileFilter = inputFileFilter;
-    }
-
-    /**
-     * Sets the report file.
-     *
-     * @param reportFile the report file.
-     * @deprecated use outputFile element
-     */
-    @Deprecated
-    public void setReportFile(final File reportFile) {
-        DeprecationReporter.logDeprecated("element reportFile", "0.17", true, "outputFile element");
-        addArg("output-file", reportFile.getAbsolutePath());
-    }
-
-    /**
-     * Adds an inline License definition to the system.
-     *
-     * @param license the license to add.
-     * @deprecated Create a custom configuration file and use the config option.
-     */
-    @Deprecated
-    public void addLicense(final License license) {
-        licenses.add(license);
-    }
-
-    /**
-     * Add an inline license family definition to the system.
-     *
-     * @param family the license family to add.
-     * @deprecated Create a custom configuration file and use the config option.
-     */
-    @Deprecated
-    public void addFamily(final Family family) {
-        families.add(family);
-    }
-
-    /**
-     * Adds a style sheet to the system.
-     *
-     * @param styleSheet The style sheet to use for formatting.
-     * @deprecated use {@link #setStylesheet(String)}
-     */
-    @Deprecated
-    public void addStylesheet(final Resource styleSheet) {
-        DeprecationReporter.logDeprecated("element stylesheet", "0.17", true, "<outputStyle> element");
-        setStylesheet(styleSheet.getName());
-    }
-
-    /**
-     * Adds a given style sheet to the report.
-     *
-     * @param styleSheet style sheet to use in this report.
-     * @deprecated use {@link #setOutputStyle(String)}
-     */
-    @Deprecated
-    public void addStyleSheet(final Resource styleSheet) {
-        DeprecationReporter.logDeprecated("attribute styleSheet", "0.17", true, "<outputStyle> element");
-        setOutputStyle(styleSheet.getName());
-    }
-
-    /**
-     * Styles the report or deliver xml document.
-     *
-     * @param styleReport true to use the plain-rat style
-     * @deprecated use {@link #setOutputStyle(String)} and pass "xml" or "plain-rat".
-     */
-    @Deprecated
-    public void setStyleReport(final boolean styleReport) {
-        setOutputStyle(styleReport ? "xml" : "plain-rat");
-    }
-
-    /**
-     * Determines if the output should be styled.
-     *
-     * @param style the name of the style sheet ot use, or "styled" for plain-rat style
-     * @deprecated use {@link #setStylesheet(String)}
-     */
-    @Deprecated
-    public void setFormat(final String style) {
-        DeprecationReporter.logDeprecated("attribute format", "0.17", true, "outputStyle element");
-        if ("styled".equalsIgnoreCase(style)) {
-            setOutputStyle("plain-rat");
-        } else {
-            setOutputStyle(style);
-        }
-    }
-
-    /**
-     * Adds as a file containing the definitions of licenses to the system.
-     *
-     * @param fileName the file to add.
-     * @deprecated create a configuration file and use the &lt;config&gt; child element.
-     */
-    @Deprecated
-    public void setLicenses(final File fileName) {
-        DeprecationReporter.logDeprecated("attribute licenses", "0.17", true, "<licences> element");
-        setArg(Arg.CONFIGURATION.option().getLongOpt(), fileName.getAbsolutePath());
-    }
-
-    /**
-     * Specifies whether to add the default list of license matchers.
-     *
-     * @param useDefaultLicenses if {@code true} use the default licenses.
-     * @deprecated use noDefaultLicenses attribute
-     */
-    @Deprecated
-    public void setUseDefaultLicenses(final boolean useDefaultLicenses) {
-        DeprecationReporter.logDeprecated("attribute useDefaultLicenses", "0.17", true, "noDefaultLicenses attribute");
-        setNoDefaultLicenses(!useDefaultLicenses);
-    }
-
-    /**
-     * Adds a family category to the list of approved licenses.
-     *
-     * @param familyCategory the category to add.
-     * @deprecated use licensesApproved child element.
-     */
-    @Deprecated
-    public void setAddApprovedLicense(final String familyCategory) {
-        DeprecationReporter.logDeprecated("attribute addApprovedLicense", "0.17", true, "<licensesApproved> element");
-        deprecatedConfig.approvedLicenseCategories.add(familyCategory);
-    }
-
-    /**
-     * Adds a family category to the list of approved licenses.
-     *
-     * @param familyCategory the category to add
-     * @deprecated use licensesFamiliesApproved child element
-     */
-    @Deprecated
-    public void addAddApprovedLicense(final String familyCategory) {
-        DeprecationReporter.logDeprecated("element <addApprovedLicense>", "0.17", true, "<licenseFamiliesApproved> element");
-        deprecatedConfig.approvedLicenseCategories.add(familyCategory);
-    }
-
-    /**
-     * Removes a family category to the list of approved licenses.
-     *
-     * @param familyCategory the category to add.
-     * @deprecated use licensesFamiliesDenied child element
-     */
-    @Deprecated
-    public void setRemoveApprovedLicense(final String familyCategory) {
-        DeprecationReporter.logDeprecated("attribute addApprovedLicense", "0.17", true, "<licenseFamiliesApproved> element");
-        deprecatedConfig.removedLicenseCategories.add(familyCategory);
-    }
-
-    /**
-     * Removes a family category to the list of approved licenses.
-     *
-     * @param familyCategory the category to add.
-     * @deprecated use licensesFamiliesDenied child element
-     */
-    @Deprecated
-    public void addRemoveApprovedLicense(final String familyCategory) {
-        DeprecationReporter.logDeprecated("element <removeApprovedLicense>", "0.17", true, "<licenseFamiliesDenied> element");
-        deprecatedConfig.removedLicenseCategories.add(familyCategory);
-    }
-
-    /**
-     * Removes a family category to the list of approved licenses.
-     *
-     * @param familyCategory the category to remove
-     * @deprecated use licenseFamiliesDenied element
-     */
-    @Deprecated
-    public void setRemoveApprovedLicense(final String[] familyCategory) {
-        DeprecationReporter.logDeprecated("attribute removeApprovedLicense", "0.17", true, "<licenseFamiliesDenied> element");
-        deprecatedConfig.removedLicenseCategories.addAll(Arrays.asList(familyCategory));
-    }
-
-    /**
-     * Removes a family category to the list of approved licenses.
-     *
-     * @param familyCategory the category to remove.
-     * @deprecated use licenseFamilyDenied element
-     */
-    @Deprecated
-    public void addRemoveApprovedLicense(final String[] familyCategory) {
-        DeprecationReporter.logDeprecated("element <removeApprovedLicense>", "0.17", true, "<licenseFamiliesDenied> element");
-        deprecatedConfig.removedLicenseCategories.addAll(Arrays.asList(familyCategory));
-    }
-
-    /**
-     * Sets the copyright message.
-     *
-     * @param copyrightMessage the copyright message
-     * @deprecated use copyright attribute
-     */
-    @Deprecated
-    public void setCopyrightMessage(final String copyrightMessage) {
-        setCopyright(copyrightMessage);
-    }
-
-    /**
-     * Determines if license headers should be added.
-     *
-     * @param setting the setting.
-     * @deprecated use editLicense and editOverwrite attributes
-     */
-    @Deprecated
-    public void setAddLicenseHeaders(final AddLicenseHeaders setting) {
-        DeprecationReporter.logDeprecated("attribute addLicenseHeaders", "0.17", true, "editLicense and editOverwrite attributes");
-        switch (setting.getNative()) {
-            case TRUE:
-                setEditLicense(true);
-                break;
-            case FALSE:
-                setEditLicense(false);
-                break;
-            case FORCED:
-                setEditLicense(true);
-                setEditOverwrite(true);
-                break;
-        }
-    }
-
-    /**
-     * Adds definition information.
-     *
-     * @param fileName the file to add
-     * @deprecated Use Config child element
-     */
-    @Deprecated
-    public void setAddDefaultDefinitions(final File fileName) {
-        DeprecationReporter.logDeprecated("element <addDefaultDefinitions>", "0.17", true, "<config> element");
-        setArg(Arg.CONFIGURATION.option().getLongOpt(), fileName.getAbsolutePath());
-    }
-
-    /**
-     * Reads values for the Arg.
-     *
-     * @param arg The Arg to get the values for.
-     * @return The list of values or an empty list.
-     */
-    protected List<String> getValues(final Arg arg) {
-        List<String> result = new ArrayList<>();
-        for (Option option : arg.group().getOptions()) {
-            if (option.getLongOpt() != null) {
-                List<String> args = getArg(option.getLongOpt());
-                if (args != null) {
-                    result.addAll(args);
-                }
-            }
-        }
-        return result;
-    }
-
-    /**
-     * Removes the values for the arg.
-     *
-     * @param arg the arg to remove the values for.
-     */
-    protected void removeKey(final Arg arg) {
-        for (Option option : arg.group().getOptions()) {
-            if (option.getLongOpt() != null) {
-                removeArg(option.getLongOpt());
-            }
-        }
-    }
-
-    /**
-     * Creates the ReportConfiguration from the Ant options.
-     *
-     * @return the ReportConfiguration.
-     */
-    public ReportConfiguration getConfiguration() {
-        try {
-            boolean helpLicenses = !getValues(Arg.HELP_LICENSES).isEmpty();
-            removeKey(Arg.HELP_LICENSES);
-
-            final ReportConfiguration configuration = OptionCollection.parseCommands(new File("."), args().toArray(new String[0]),
-                    o -> DefaultLog.getInstance().warn("Help option not supported"),
-                    true);
-            if (getValues(Arg.OUTPUT_FILE).isEmpty()) {
-                configuration.setOut(() -> new LogOutputStream(this, Project.MSG_INFO));
-            }
-            DocumentName name = DocumentName.builder(getProject().getBaseDir()).build();
-            configuration.addSource(new ResourceCollectionContainer(name, configuration, nestedResources));
-            configuration.addApprovedLicenseCategories(deprecatedConfig.approvedLicenseCategories);
-            configuration.removeApprovedLicenseCategories(deprecatedConfig.removedLicenseCategories);
-            if (deprecatedConfig.inputFileFilter != null) {
-                configuration.addExcludedFilter(deprecatedConfig.inputFileFilter);
-            }
-            families.stream().map(Family::build).forEach(configuration::addFamily);
-            licenses.stream().map(License::asBuilder)
-                    .forEach(l -> configuration.addApprovedLicenseCategory(configuration.addLicense(l).getLicenseFamily()));
-            if (helpLicenses) {
-                new org.apache.rat.help.Licenses(configuration, new PrintWriter(DefaultLog.getInstance().asWriter())).printHelp();
-            }
-            return configuration;
-        } catch (IOException | ImplementationException e) {
-            throw new BuildException(e.getMessage(), e);
-        }
-    }
-
-    /**
-     * Generates the report.
-     */
-    @Override
-    public void execute() {
-        try {
-            Reporter r = new Reporter(validate(getConfiguration()));
-            r.output(StyleSheets.PLAIN.getStyleSheet(), () -> new ReportConfiguration.NoCloseOutputStream(System.out));
-            r.output();
-        } catch (BuildException e) {
-            throw e;
-        } catch (Exception ioex) {
-            throw new BuildException(ioex);
-        }
-    }
-
-    /**
-     * Validates the task's configuration.
-     */
-    protected ReportConfiguration validate(final ReportConfiguration cfg) {
-        try {
-            cfg.validate();
-        } catch (ConfigurationException e) {
-            throw new BuildException(e.getMessage(), e.getCause());
-        }
-        if (nestedResources == null) {
-            throw new BuildException("You must specify at least one file to create the report for.");
-        }
-        return cfg;
-    }
-
-    /**
-     * Add headers to files that do not have them.
-     *
-     * @deprecated use &lt;editCopyright&gt; amd &lt;editOverwrite&gt; instead.
-     */
-    @Deprecated
-    public static class AddLicenseHeaders extends EnumeratedAttribute {
-        /**
-         * add license headers and create *.new file
-         */
-        static final String TRUE = "true";
-        /**
-         * do not add license headers
-         */
-        static final String FALSE = "false";
-        /**
-         * add license headers and overwrite existing files
-         */
-        static final String FORCED = "forced";
-
-        public AddLicenseHeaders() {
-        }
-
-        public AddLicenseHeaders(final String s) {
-            setValue(s);
-        }
-
-        @Override
-        public String[] getValues() {
-            return new String[]{TRUE, FALSE, FORCED};
-        }
-
-        public org.apache.rat.config.AddLicenseHeaders getNative() {
-            return org.apache.rat.config.AddLicenseHeaders.valueOf(getValue().toUpperCase());
-        }
-    }
-
-    /**
-     * Specify the licenses that are approved.
-     *
-     * @deprecated use listLicenses or listFamilies attributes.
-     */
-    @Deprecated
-    public static class ApprovalFilter extends EnumeratedAttribute {
-
-        public ApprovalFilter() {
-        }
-
-        public ApprovalFilter(final String s) {
-            setValue(s);
-        }
-
-        @Override
-        public String[] getValues() {
-            return Arrays.stream(LicenseSetFactory.LicenseFilter.values()).map(LicenseSetFactory.LicenseFilter::name)
-                    .toList().toArray(new String[LicenseSetFactory.LicenseFilter.values().length]);
-        }
-
-        public LicenseSetFactory.LicenseFilter internalFilter() {
-            return LicenseSetFactory.LicenseFilter.valueOf(getValue());
-        }
-    }
-
-    @Override
-    public void log(final String msg, final int msgLevel) {
-        if (getProject() != null) {
-            getProject().log(msg, msgLevel);
-        } else {
-            DefaultLog.createDefault().log(fromProjectLevel(msgLevel), msg);
-        }
-    }
-
-    @Override
-    public void log(final String msg, final Throwable t, final int msgLevel) {
-        if (getProject() == null) {
-            log(Log.formatLogEntry(msg, t), msgLevel);
-        } else {
-            getProject().log(this, msg, t, msgLevel);
-        }
-    }
-
-    /**
-     * Converts to RAT log level from Ant Project log level.
-     * @param level the Ant Project log level to convert.
-     * @return the equivalent RAT log level.
-     */
-    public static Log.Level fromProjectLevel(final int level) {
-        return switch (level) {
-            case Project.MSG_DEBUG, Project.MSG_VERBOSE -> Log.Level.DEBUG;
-            case Project.MSG_INFO -> Log.Level.INFO;
-            case Project.MSG_WARN -> Log.Level.WARN;
-            case Project.MSG_ERR -> Log.Level.ERROR;
-            default -> Log.Level.OFF;
-        };
-    }
-
-    /**
-     * Converts RAT log level to Ant Project log level.
-     * @param level the RAT log level to convert.
-     * @return the equivalent Ant Project log level.
-     */
-    static int toProjectLevel(final Log.Level level) {
-        return switch (level) {
-            case DEBUG -> Project.MSG_DEBUG;
-            case INFO -> Project.MSG_INFO;
-            case WARN -> Project.MSG_WARN;
-            case ERROR -> Project.MSG_ERR;
-            default -> -1;
-        };
-    }
-
-    /**
-     * A facade for the Logger provided by Ant.
-     */
-    private final class Logger implements Log {
-        @Override
-        public Level getLevel() {
-            return Level.DEBUG;
-        }
-
-        @Override
-        public void log(final Log.Level level, final String message, final Throwable throwable) {
-            log(level, Log.formatLogEntry(message, throwable));
-        }
-
-        @Override
-        public void log(final Level level, final String msg) {
-            Report.this.log(msg, toProjectLevel(level));
-        }
-    }
-}
diff --git a/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Spdx.java b/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Spdx.java
deleted file mode 100644
index 228d4805..00000000
--- a/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Spdx.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.rat.anttasks;
-
-import org.apache.rat.DeprecationReporter;
-import org.apache.rat.analysis.IHeaderMatcher;
-import org.apache.rat.configuration.builders.SpdxBuilder;
-
-/**
- * Creates a SPDX matcher.
- * @deprecated use configuration file.
- */
-@Deprecated // since 0.17
-@DeprecationReporter.Info(since = "0.17", forRemoval = true, use = "Configuration file and <config> element")// since 0.17
-public class Spdx implements IHeaderMatcher.Builder  {
-    
-    private final SpdxBuilder builder = new SpdxBuilder();
-
-    public void setName(String spdxId) {
-        builder.setName(spdxId);
-    }
-    
-    public void addText(String spdxId) {
-        builder.setName(spdxId);
-    }
-
-    @Override
-    public IHeaderMatcher build() {
-        return builder.build();
-    }
-}
diff --git a/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Text.java b/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Text.java
deleted file mode 100644
index 6778343d..00000000
--- a/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Text.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.rat.anttasks;
-
-import org.apache.rat.DeprecationReporter;
-import org.apache.rat.analysis.IHeaderMatcher;
-import org.apache.rat.configuration.builders.TextBuilder;
-
-/**
- * Creates a text matcher.
- * @deprecated use configuration file.
- */
-@Deprecated // since 0.17
-@DeprecationReporter.Info(since = "0.17", forRemoval = true, use = "Configuration file and <config> element")// since 0.17
-public class Text implements IHeaderMatcher.Builder {
-    
-    private final TextBuilder builder = new TextBuilder();
-    
-    public void addText(String text) {
-        builder.setSimpleText(text);
-    }
-
-    public void setText(String text) {
-        builder.setSimpleText(text);
-    }
-    @Override
-    public IHeaderMatcher build() {
-        return builder.build();
-    }
-}
diff --git a/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/package-info.java b/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/package-info.java
deleted file mode 100644
index 23f7a765..00000000
--- a/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/package-info.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one   *
- * or more contributor license agreements.  See the NOTICE file *
- * distributed with this work for additional information        *
- * regarding copyright ownership.  The ASF licenses this file   *
- * to you under the Apache License, Version 2.0 (the            *
- * "License"); you may not use this file except in compliance   *
- * with the License.  You may obtain a copy of the License at   *
- *                                                              *
- *   http://www.apache.org/licenses/LICENSE-2.0                 *
- *                                                              *
- * Unless required by applicable law or agreed to in writing,   *
- * software distributed under the License is distributed on an  *
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
- * KIND, either express or implied.  See the License for the    *
- * specific language governing permissions and limitations      *
- * under the License.                                           *
- */
-
-/**
- * The base package for the RAT Apache Ant Task Library.
- */
-package org.apache.rat.anttasks;
-
diff --git a/apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/AbstractAnt.vm b/apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/AbstractAnt.vm
index b7fa9c99..61681709 100644
--- a/apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/AbstractAnt.vm
+++ b/apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/AbstractAnt.vm
@@ -27,6 +27,7 @@ import org.apache.tools.ant.types.resources.FileResource;
 * Generated class to provide Ant support for standard RAT command line options.
 * DO NOT EDIT - GENERATED FILE
 */
+@SuppressWarnings("checkstyle:LineLength")
 public final class AntReport extends AbstractAntReport {
 
     /**
diff --git a/apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/AntElementClass.vm b/apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/AntElementClass.vm
index 8493b058..b5287b0c 100644
--- a/apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/AntElementClass.vm
+++ b/apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/AntElementClass.vm
@@ -20,4 +20,4 @@
      * Handles ${className} processing.
      */
     public class ${className} {
-        ${className}() {}
+        ${className}() { }
diff --git a/apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/defaultTypeTemplate.vm b/apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/defaultTypeTemplate.vm
index 88312c9a..023f8a9a 100644
--- a/apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/defaultTypeTemplate.vm
+++ b/apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/defaultTypeTemplate.vm
@@ -2,6 +2,6 @@
          * Sets the ${argName} (${option.keyValue}).
          * @param ${argName} The ${argName} value.
          */
-        public void add${argType}(String ${argName}) {
+        public void add${argType}(final String ${argName}) {
             addArg("${option.keyValue}", ${argName});
         }
diff --git a/apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/fileSetTemplate.vm b/apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/fileSetTemplate.vm
index 6a1d417c..b52689fc 100644
--- a/apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/fileSetTemplate.vm
+++ b/apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/fileSetTemplate.vm
@@ -2,7 +2,7 @@
          * Adds a configured ${argType} to the ${option.keyValue}.
          * @param ${argName} The ${argName} to add to ${option.keyValue}.
          */
-        public void addConfigured${argType}(${argType} ${argName}) {
+        public void addConfigured${argType}(final ${argType} ${argName}) {
             for (Resource resource : ${argName}) {
                 if (resource.isFilesystemOnly()) {
                     argumentTracker.addArg("${option.keyValue}", ((FileResource) resource).getFile().getAbsolutePath());
diff --git a/apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/textValueTemplate.vm b/apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/textValueTemplate.vm
index fb7d7176..4d975724 100644
--- a/apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/textValueTemplate.vm
+++ b/apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/textValueTemplate.vm
@@ -2,6 +2,6 @@
          * Adds the ${argName} {@link AbstractAntReport.${argType}} to ${option.keyValue}.
          * @param ${argName} The ${argType} to add to ${option.keyValue}.
          */
-        public void addConfigured${argType}(${argType} ${argName}) {
+        public void addConfigured${argType}(final ${argType} ${argName}) {
             argumentTracker.addArg("${option.keyValue}", ${argName}.toString());
         }


(creadur-rat) 01/02: Migrated Ant build to apache-rat-ant-parent and sub modules.

Posted by cl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

claude pushed a commit to branch feature/restructure
in repository https://gitbox.apache.org/repos/asf/creadur-rat.git

commit 408464e33f5681096e31267a29c5b952bdf38b69
Author: Claude Warren <cl...@xenei.com>
AuthorDate: Sun Dec 28 16:12:07 2025 +0000

    Migrated Ant build to apache-rat-ant-parent and sub modules.
    
    Updated ant generation.
---
 .../apache-rat-tasks}/pom.xml                      |  14 +-
 .../apache-rat-tasks}/run-antunit.xml              |   0
 .../apache-rat-tasks}/spotbugs-ignore.xml          |   0
 .../java/org/apache/rat/ant/AbstractAntReport.java | 276 +++++++
 .../main/java/org/apache/rat/ant/AntReport.java    | 798 +++++++++++++++++++++
 .../rat/ant}/ResourceCollectionContainer.java      |   2 +-
 .../src/main/java/org/apache/rat/anttasks/All.java |   0
 .../src/main/java/org/apache/rat/anttasks/Any.java |   0
 .../java/org/apache/rat/anttasks/Copyright.java    |   0
 .../main/java/org/apache/rat/anttasks/Family.java  |   0
 .../main/java/org/apache/rat/anttasks/Help.java    |   0
 .../main/java/org/apache/rat/anttasks/License.java |   0
 .../src/main/java/org/apache/rat/anttasks/Not.java |   0
 .../main/java/org/apache/rat/anttasks/Regex.java   |   0
 .../main/java/org/apache/rat/anttasks/Report.java  |   1 +
 .../main/java/org/apache/rat/anttasks/Spdx.java    |   0
 .../main/java/org/apache/rat/anttasks/Text.java    |   0
 .../java/org/apache/rat/anttasks/package-info.java |   0
 .../main/resources/org/apache/rat/ant/antlib.xml   |  22 +-
 .../resources/org/apache/rat/anttasks/antlib.xml   |   0
 .../src/site/apt/examples/basic.apt.vm             |   0
 .../src/site/apt/examples/report.apt               |   0
 .../src/site/resources/css/site.css                |   0
 .../apache-rat-tasks}/src/site/site.xml            |   0
 .../src/templates/apt/ant_options.apt.vm           |   0
 .../src/templates/apt/index.apt.vm.vm              |   0
 .../rat/anttasks/AbstractRatAntTaskTest.java       |   0
 .../apache/rat/anttasks/GeneratedReportTest.java   |   2 +-
 .../java/org/apache/rat/anttasks/HelpTest.java     |   0
 .../org/apache/rat/anttasks/ReportOptionTest.java  |   0
 .../java/org/apache/rat/anttasks/ReportTest.java   |   0
 .../src/test/java/org/example/Matcher.java         |   0
 .../src/test/java/org/example/MatcherBuilder.java  |   0
 .../src/test/resources/OptionTools/One.xml         |   0
 .../src/test/resources/OptionTools/Two.xml         |   0
 .../src/test/resources/antunit/build.xml           |   0
 .../src/test/resources/antunit/customLicense.xml   |   0
 .../src/test/resources/antunit/index.apt           |   0
 .../antunit/report-bad-configurations.xml          |   0
 .../src/test/resources/antunit/report-junit.xml    |   0
 .../resources/antunit/report-normal-operation.xml  |   0
 .../src/test/resources/antunit/report-options.xml  |   0
 .../src/test/resources/helpTest/build.xml          |   0
 .../test/resources/org/example}/iso-8859-1.html    |   0
 .../pom.xml                                        |  40 +-
 .../spotbugs-ignore.xml                            |   0
 .../tools/pom.xml                                  |  21 +-
 .../tools}/spotbugs-ignore.xml                     |   0
 .../main/java/org/apache/rat/ant/AntOption.java    | 444 ++++++++++++
 .../java/org/apache/rat/ant/ArgMethodMapping.java  |  59 ++
 .../java/org/apache/rat/ant/CodeGenerator.java     | 203 ++++++
 .../java/org/apache/rat/ant}/package-info.java     |   4 +-
 .../apache/rat/ant/CodeGenerator/AbstractAnt.vm    |  43 ++
 .../rat/ant/CodeGenerator/AntElementClass.vm       |  13 +-
 .../apache/rat/ant/CodeGenerator/AntTypeClass.vm   |  11 +-
 .../rat/ant/CodeGenerator/AttributeMethod.vm       |   7 +-
 .../apache/rat/ant/CodeGenerator/ElementMethod.vm  |  21 +-
 .../rat/ant/CodeGenerator/defaultTypeTemplate.vm   |   7 +
 .../rat/ant/CodeGenerator/fileSetTemplate.vm       |  11 +
 .../rat/ant/CodeGenerator/textValueTemplate.vm     |   7 +
 apache-rat-core/pom.xml                            |  44 +-
 .../org/apache/rat/ui/AbstractCodeGenerator.java   | 151 ++++
 .../java/org/apache/rat/ui/AbstractOption.java     |  10 +-
 .../impl/pom.xml                                   |   2 +-
 .../src/it/CustomLicense/.rat/customConfig.xml     |   0
 .../impl/src/it/CustomLicense/invoker.properties   |   0
 .../impl/src/it/CustomLicense/pom.xml              |   0
 .../main/java/nl/basjes/something/Something.java   |   0
 .../impl/src/it/RAT-107/.idea/dummy                |   0
 .../impl/src/it/RAT-107/covertura.ser              |   0
 .../impl/src/it/RAT-107/pom.xml                    |   0
 .../impl/src/it/RAT-107/release.properties         |   0
 .../impl/src/it/RAT-107/submodule/.idea/dummy      |   0
 .../impl/src/it/RAT-107/submodule/covertura.ser    |   0
 .../impl/src/it/RAT-107/submodule/pom.xml          |   0
 .../src/it/RAT-107/submodule/release.properties    |   0
 .../impl/src/it/RAT-168/invoker.properties         |   0
 .../impl/src/it/RAT-168/pom.xml                    |   0
 .../impl/src/it/RAT-168/verify.groovy              |   0
 .../impl/src/it/RAT-268/invoker.properties         |   0
 .../impl/src/it/RAT-268/module1/pom.xml            |   0
 .../impl/src/it/RAT-268/module1/src.apt            |   0
 .../impl/src/it/RAT-268/module2/module2.pom        |   0
 .../impl/src/it/RAT-268/module2/src.apt            |   0
 .../impl/src/it/RAT-268/module3/pom.xml            |   0
 .../impl/src/it/RAT-268/module3/src.apt            |   0
 .../impl/src/it/RAT-268/pom.xml                    |   0
 .../impl/src/it/RAT-314/.mvn/maven.config          |   0
 .../impl/src/it/RAT-314/.mvn/recursive/foo.xml     |   0
 .../impl/src/it/RAT-314/invoker.properties         |   0
 .../impl/src/it/RAT-314/pom.xml                    |   0
 .../impl/src/it/RAT-314/verify.groovy              |   0
 .../impl/src/it/RAT-469-default/invoker.properties |   0
 .../impl/src/it/RAT-469-default/pom.xml            |   0
 .../impl/src/it/RAT-469-default/verify.groovy      |   0
 .../impl/src/it/RAT-469/invoker.properties         |   0
 .../impl/src/it/RAT-469/pom.xml                    |   0
 .../impl/src/it/RAT-469/verify.groovy              |   0
 .../impl/src/it/it1/invoker.properties             |   0
 .../impl/src/it/it1/pom.xml                        |   0
 .../impl/src/it/it1/src.apt                        |   0
 .../impl/src/it/it1/verify.groovy                  |   0
 .../impl/src/it/settings.xml                       |   0
 .../org/apache/rat/mp/rat-report.properties        |   0
 .../java/org/apache/rat/maven/AbstractRatMojo.java |   0
 .../org/apache/rat/maven/RatCheckException.java    |   0
 .../java/org/apache/rat/maven/RatCheckMojo.java    |   0
 .../java/org/apache/rat/maven/RatReportMojo.java   |   0
 .../java/org/apache/rat/maven/package-info.java    |   0
 .../impl/src/main/java/org/apache/rat/mp/All.java  |   0
 .../impl/src/main/java/org/apache/rat/mp/Any.java  |   0
 .../src/main/java/org/apache/rat/mp/Copyright.java |   0
 .../java/org/apache/rat/mp/EnclosingMatcher.java   |   0
 .../src/main/java/org/apache/rat/mp/Family.java    |   0
 .../apache/rat/mp/HeaderMatcherSpecification.java  |   0
 .../src/main/java/org/apache/rat/mp/License.java   |   0
 .../impl/src/main/java/org/apache/rat/mp/Not.java  |   0
 .../src/main/java/org/apache/rat/mp/Regex.java     |   0
 .../impl/src/main/java/org/apache/rat/mp/Spdx.java |   0
 .../impl/src/main/java/org/apache/rat/mp/Text.java |   0
 .../META-INF/m2e/lifecycle-mapping-metadata.xml    |   0
 .../resources/org/apache/rat/mp/package-info.java  |   0
 .../impl/src/site/apt/examples/basic.apt.vm        |   0
 .../src/site/apt/examples/custom-license.apt.vm    |   0
 .../impl/src/site/apt/examples/index.apt           |   0
 .../impl/src/site/apt/examples/site.apt.vm         |   0
 .../impl/src/site/apt/examples/verify.apt.vm       |   0
 .../impl/src/site/apt/index.apt.vm                 |   0
 .../impl/src/site/apt/mvn_options.apt              |   0
 .../impl/src/site/fml/faq.fml                      |   0
 .../impl}/src/site/resources/css/site.css          |   0
 .../impl/src/site/site.xml                         |   0
 .../impl/src/templates/apt/index.apt.vm.vm         |   0
 .../impl/src/templates/apt/mvn_options.apt.vm      |   0
 .../src/test/filtered-resources/optionTest/pom.tpl |   0
 .../org/apache/rat/maven/RatCheckMojoTest.java     |   0
 .../java/org/apache/rat/maven/SettingsStub.java    |   0
 .../apache/rat/mp/BetterAbstractMojoTestCase.java  |   0
 .../test/java/org/apache/rat/mp/MavenOption.java   |   0
 .../java/org/apache/rat/mp/OptionMojoTest.java     |   0
 .../java/org/apache/rat/mp/RatTestHelpers.java     |   0
 .../impl}/src/test/resources/OptionTools/One.xml   |   0
 .../impl}/src/test/resources/OptionTools/Two.xml   |   0
 .../rat/maven/stubs/config/noDefaults/pom.xml      |  20 +-
 .../rat/maven/stubs/config/withDefaults/pom.xml    |  19 +-
 .../rat/maven/stubs/config_DefaultTest/pom.xml     |  15 +-
 .../maven/stubs/configuration-no-defaults/pom.xml  |  16 +-
 .../maven/stubs/counter-max/Unapproved1/pom.xml    |  18 +-
 .../org/apache/rat/maven/stubs/counter-min/pom.xml |  18 +-
 .../rat/maven/stubs/counterMax_DefaultTest/pom.xml |  15 +-
 .../rat/maven/stubs/counterMin_DefaultTest/pom.xml |  15 +-
 .../apache/rat/maven/stubs/dry-run/stdRun/pom.xml  |  16 +-
 .../rat/maven/stubs/dryRun_DefaultTest/pom.xml     |  15 +-
 .../rat/maven/stubs/edit-copyright/dryRun/pom.xml  |  18 +-
 .../maven/stubs/edit-copyright/editLicense/pom.xml |  17 +-
 .../stubs/edit-copyright/editOverwrite/pom.xml     |  18 +-
 .../stubs/edit-copyright/noEditLicense/pom.xml     |  16 +-
 .../apache/rat/maven/stubs/edit-license/pom.xml    |  16 +-
 .../stubs/edit-overwrite/noEditLicense/pom.xml     |  16 +-
 .../apache/rat/maven/stubs/edit-overwrite/pom.xml  |  17 +-
 .../rat/maven/stubs/help-licenses/stdOut/pom.xml   |  16 +-
 .../rat/maven/stubs/input-exclude-file/pom.xml     |  16 +-
 .../stubs/input-exclude-parsed-scm/GIT/pom.xml     |  18 +-
 .../rat/maven/stubs/input-exclude-size/pom.xml     |  16 +-
 .../rat/maven/stubs/input-exclude-std/pom.xml      |  18 +-
 .../input-exclude/includeStdValidation/pom.xml     |  19 +-
 .../maven/stubs/input-exclude/inputInclude/pom.xml |  20 +-
 .../stubs/input-exclude/inputIncludeFile/pom.xml   |  20 +-
 .../apache/rat/maven/stubs/input-exclude/pom.xml   |  20 +-
 .../rat/maven/stubs/input-include-file/pom.xml     |  21 +-
 .../stubs/input-include-std/hidden_dir/pom.xml     |  22 +-
 .../stubs/input-include-std/hidden_file/pom.xml    |  22 +-
 .../rat/maven/stubs/input-include-std/misc/pom.xml |  22 +-
 .../apache/rat/maven/stubs/input-include/pom.xml   |  24 +-
 .../apache/rat/maven/stubs/input-source/pom.xml    |  18 +-
 .../stubs/inputExcludeFile_DefaultTest/pom.xml     |  15 +-
 .../inputExcludeParsedScm_DefaultTest/pom.xml      |  15 +-
 .../stubs/inputExcludeSize_DefaultTest/pom.xml     |  15 +-
 .../stubs/inputExcludeStd_DefaultTest/pom.xml      |  15 +-
 .../maven/stubs/inputExclude_DefaultTest/pom.xml   |  15 +-
 .../stubs/inputIncludeFile_DefaultTest/pom.xml     |  15 +-
 .../maven/stubs/inputInclude_DefaultTest/pom.xml   |  15 +-
 .../maven/stubs/inputSource_DefaultTest/pom.xml    |  15 +-
 .../withLicenseDef/pom.xml                         |  19 +-
 .../withoutLicenseDef/pom.xml                      |  16 +-
 .../withLicenseDef/pom.xml                         |  19 +-
 .../withoutLicenseDef/pom.xml                      |  16 +-
 .../stubs/license-families-denied-file/pom.xml     |  16 +-
 .../maven/stubs/license-families-denied/pom.xml    |  16 +-
 .../pom.xml                                        |  15 +-
 .../licenseFamiliesApproved_DefaultTest/pom.xml    |  15 +-
 .../licenseFamiliesDeniedFile_DefaultTest/pom.xml  |  15 +-
 .../licenseFamiliesDenied_DefaultTest/pom.xml      |  15 +-
 .../licenses-approved-file/withLicenseDef/pom.xml  |  19 +-
 .../withoutLicenseDef/pom.xml                      |  16 +-
 .../stubs/licenses-approved/withLicenseDef/pom.xml |  19 +-
 .../licenses-approved/withoutLicenseDef/pom.xml    |  16 +-
 .../stubs/licenses-denied-file/ILLUMOS/pom.xml     |  16 +-
 .../maven/stubs/licenses-denied/ILLUMOS/pom.xml    |  16 +-
 .../stubs/licensesApprovedFile_DefaultTest/pom.xml |  15 +-
 .../stubs/licensesApproved_DefaultTest/pom.xml     |  15 +-
 .../rat/maven/stubs/output-archive/absence/pom.xml |  16 +-
 .../stubs/output-archive/notification/pom.xml      |  16 +-
 .../maven/stubs/output-archive/presence/pom.xml    |  16 +-
 .../rat/maven/stubs/output-families/all/pom.xml    |  16 +-
 .../maven/stubs/output-families/approved/pom.xml   |  16 +-
 .../rat/maven/stubs/output-families/none/pom.xml   |  16 +-
 .../org/apache/rat/maven/stubs/output-file/pom.xml |  16 +-
 .../rat/maven/stubs/output-licenses/ALL/pom.xml    |  16 +-
 .../maven/stubs/output-licenses/APPROVED/pom.xml   |  16 +-
 .../rat/maven/stubs/output-licenses/NONE/pom.xml   |  16 +-
 .../maven/stubs/output-standard/absence/pom.xml    |  16 +-
 .../stubs/output-standard/notification/pom.xml     |  16 +-
 .../maven/stubs/output-standard/presence/pom.xml   |  16 +-
 .../stubs/output-style/fileStyleSheet/pom.xml      |  17 +-
 .../stubs/output-style/missing_headers/pom.xml     |  17 +-
 .../rat/maven/stubs/output-style/plain/pom.xml     |  17 +-
 .../stubs/output-style/unapproved_licenses/pom.xml |  17 +-
 .../rat/maven/stubs/output-style/xhtml5/pom.xml    |  17 +-
 .../rat/maven/stubs/output-style/xml/pom.xml       |  17 +-
 .../src/test/resources/unit/RAT-107/.idea/dummy    |   0
 .../src/test/resources/unit/RAT-107/cobertura.ser  |   0
 .../impl/src/test/resources/unit/RAT-107/pom.xml   |   0
 .../test/resources/unit/RAT-107/release.properties |   0
 .../resources/unit/RAT-107/submodule/.idea/dummy   |   0
 .../resources/unit/RAT-107/submodule/cobertura.ser |   0
 .../test/resources/unit/RAT-107/submodule/pom.xml  |   0
 .../unit/RAT-107/submodule/release.properties      |   0
 .../src/test/resources/unit/RAT-335/README.txt     |   0
 .../src/test/resources/unit/RAT-335/dir1/dir1.md   |   0
 .../src/test/resources/unit/RAT-335/dir2/dir2.txt  |   0
 .../src/test/resources/unit/RAT-335/dir3/file3.log |   0
 .../impl/src/test/resources/unit/RAT-335/pom.xml   |   0
 .../impl/src/test/resources/unit/RAT-343/pom.xml   |   0
 .../impl/src/test/resources/unit/RAT-362/bar.md    |   0
 .../impl/src/test/resources/unit/RAT-362/pom.xml   |   0
 .../impl/src/test/resources/unit/it1/.bzrignore    |   0
 .../impl/src/test/resources/unit/it1/pom.xml       |   0
 .../impl/src/test/resources/unit/it2/pom.xml       |   0
 .../impl/src/test/resources/unit/it2/src.txt       |   0
 .../impl/src/test/resources/unit/it3/pom.xml       |   0
 .../impl/src/test/resources/unit/it3/src.apt       |   0
 .../src/test/resources/unit/it4}/iso-8859-1.html   |   0
 .../impl/src/test/resources/unit/it4/pom.xml       |   0
 .../test/resources/unit/it5/.rat/customConfig.xml  |   0
 .../impl/src/test/resources/unit/it5/pom.xml       |   0
 .../main/java/nl/basjes/something/Something.java   |   0
 .../pom.xml                                        |   2 +-
 .../spotbugs-ignore.xml                            |   0
 .../tools/pom.xml                                  |   2 +-
 .../tools}/spotbugs-ignore.xml                     |   0
 .../java/org/apache/rat/maven/CodeGenerator.java   |   0
 .../java/org/apache/rat/maven/MavenOption.java     |  17 +-
 .../java/org/apache/rat/maven/TestGenerator.java   |   0
 .../java/org/apache/rat/maven/package-info.java    |   0
 .../org/apache/rat/maven/AbstractMaven.vm          |   0
 .../org/apache/rat/maven/AbstractMavenFunc.vm      |   0
 .../resources/org/apache/rat/maven/TestJava.vm     |   0
 .../resources/org/apache/rat/maven/TestMethod.vm   |   0
 .../main/resources/org/apache/rat/maven/TestPom.vm |   0
 .../resources/org/apache/rat/maven/TestStub.vm     |   0
 apache-rat-tasks/.gitignore                        |   4 -
 pom.xml                                            |  33 +-
 263 files changed, 2793 insertions(+), 779 deletions(-)

diff --git a/apache-rat-tasks/pom.xml b/apache-rat-ant-parent/apache-rat-tasks/pom.xml
similarity index 97%
rename from apache-rat-tasks/pom.xml
rename to apache-rat-ant-parent/apache-rat-tasks/pom.xml
index 35d00354..05eceaa3 100644
--- a/apache-rat-tasks/pom.xml
+++ b/apache-rat-ant-parent/apache-rat-tasks/pom.xml
@@ -19,31 +19,31 @@
   <modelVersion>4.0.0</modelVersion>
   <parent>
     <groupId>org.apache.rat</groupId>
-    <artifactId>apache-rat-project</artifactId>
+    <artifactId>apache-rat-ant-parent</artifactId>
     <version>1.0.0-SNAPSHOT</version>
+    <relativePath>..</relativePath>
   </parent>
   <artifactId>apache-rat-tasks</artifactId>
   <packaging>jar</packaging>
   <name>Apache Creadur RAT::Tasks4Ant</name>
   <description>
- A plugin for Apache Ant that runs Apache RAT
+ Tasks die Apache Ant that runs Apache RAT
    to audit the source to be distributed.
   </description>
   <dependencies>
     <dependency>
       <groupId>org.apache.rat</groupId>
-      <artifactId>apache-rat-core</artifactId>
+      <artifactId>apache-rat-ant-tools</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
       <groupId>org.apache.rat</groupId>
-      <artifactId>apache-rat-tools</artifactId>
+      <artifactId>apache-rat-core</artifactId>
+      <version>${project.version}</version>
     </dependency>
     <dependency>
       <groupId>org.apache.rat</groupId>
-      <artifactId>apache-rat-core</artifactId>
-      <type>test-jar</type>
-      <classifier>tests</classifier>
+      <artifactId>apache-rat-core-tests</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>
diff --git a/apache-rat-tasks/run-antunit.xml b/apache-rat-ant-parent/apache-rat-tasks/run-antunit.xml
similarity index 100%
rename from apache-rat-tasks/run-antunit.xml
rename to apache-rat-ant-parent/apache-rat-tasks/run-antunit.xml
diff --git a/apache-rat-plugin-parent/spotbugs-ignore.xml b/apache-rat-ant-parent/apache-rat-tasks/spotbugs-ignore.xml
similarity index 100%
copy from apache-rat-plugin-parent/spotbugs-ignore.xml
copy to apache-rat-ant-parent/apache-rat-tasks/spotbugs-ignore.xml
diff --git a/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/ant/AbstractAntReport.java b/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/ant/AbstractAntReport.java
new file mode 100644
index 00000000..e0edf2b3
--- /dev/null
+++ b/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/ant/AbstractAntReport.java
@@ -0,0 +1,276 @@
+package org.apache.rat.ant;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+import org.apache.commons.cli.Option;
+import org.apache.commons.cli.ParseException;
+import org.apache.commons.io.output.CloseShieldOutputStream;
+import org.apache.rat.ConfigurationException;
+import org.apache.rat.OptionCollection;
+import org.apache.rat.ReportConfiguration;
+import org.apache.rat.Reporter;
+import org.apache.rat.anttasks.BaseAntTask;
+import org.apache.rat.commandline.Arg;
+import org.apache.rat.commandline.ArgumentContext;
+import org.apache.rat.commandline.StyleSheets;
+import org.apache.rat.config.exclusion.StandardCollection;
+import org.apache.rat.document.DocumentName;
+import org.apache.rat.ui.ArgumentTracker;
+import org.apache.rat.ui.OptionFactory;
+import org.apache.rat.utils.DefaultLog;
+import org.apache.rat.utils.Log;
+import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.Project;
+import org.apache.tools.ant.Task;
+import org.apache.tools.ant.taskdefs.Javadoc;
+import org.apache.tools.ant.taskdefs.LogOutputStream;
+import org.apache.tools.ant.types.ResourceCollection;
+import org.apache.tools.ant.types.resources.Union;
+
+public abstract class AbstractAntReport extends Task {
+
+    protected final ArgumentTracker argumentTracker;
+
+    /**
+     * will hold any nested resource collection
+     */
+    private Union nestedResources;
+
+    protected AbstractAntReport() {
+        super();
+        List<AntOption> antList = OptionFactory.getOptions(AntOption.FACTORY_CONFIG).collect(Collectors.toList());
+        argumentTracker = new ArgumentTracker(antList);
+        // replace the logger only if it has not already been set.
+        Log oldLog = DefaultLog.getInstance();
+        if (oldLog instanceof DefaultLog) {
+            DefaultLog.setInstance(new Logger());
+            DefaultLog.getInstance().setLevel(oldLog.getLevel());
+        }
+    }
+
+    /**
+     * Adds resources that will be checked.
+     *
+     * @param rc resource to check.
+     */
+    final void add(final ResourceCollection rc) {
+        if (nestedResources == null) {
+            nestedResources = new Union();
+        }
+        nestedResources.add(rc);
+    }
+
+
+    /**
+     * Reads values for the Arg.
+     *
+     * @param arg The Arg to get the values for.
+     * @return The list of values or an empty list.
+     */
+    final List<String> getValues(final Arg arg) {
+        List<String> result = new ArrayList<>();
+        for (Option option : arg.group().getOptions()) {
+            if (option.getLongOpt() != null) {
+                List<String> args = argumentTracker.getArg(ArgumentTracker.extractKey(option));
+                if (args != null) {
+                    result.addAll(args);
+                }
+            }
+        }
+        return result;
+    }
+
+    /**
+     * Removes the values for the arg.
+     *
+     * @param arg the arg to remove the values for.
+     */
+    final void removeKey(final Arg arg) {
+        for (Option option : arg.group().getOptions()) {
+            argumentTracker.removeArg(ArgumentTracker.extractKey(option));
+        }
+    }
+
+    /**
+     * Creates the ReportConfiguration from the Ant options.
+     *
+     * @return the ReportConfiguration.
+     */
+    public final ReportConfiguration getConfiguration() throws IOException, ParseException {
+//        try{
+        final ArgumentContext argumentContext = OptionCollection.parseCommands(new File("."), argumentTracker.args().toArray(new String[0]));
+        if (getValues(Arg.OUTPUT_FILE).isEmpty()) {
+            argumentContext.getConfiguration().setOut(() -> new LogOutputStream(this, Project.MSG_INFO));
+        }
+        DocumentName name = DocumentName.builder(getProject().getBaseDir()).build();
+
+        argumentContext.getConfiguration().addSource(new ResourceCollectionContainer(name, argumentContext.getConfiguration(), nestedResources));
+//            if (helpLicenses) {
+//                new org.apache.rat.help.Licenses(configuration, new PrintWriter(DefaultLog.getInstance().asWriter())).printHelp();
+//            }
+        return argumentContext.getConfiguration();
+//        } catch (IOException | ImplementationException e) {
+//            throw new BuildException(e.getMessage(), e);
+//        }
+    }
+
+    /**
+     * Validates the task's configuration.
+     */
+    final ReportConfiguration validate(final ReportConfiguration cfg) {
+        try {
+            cfg.validate();
+        } catch (ConfigurationException e) {
+            throw new BuildException(e.getMessage(), e.getCause());
+        }
+        if (nestedResources == null) {
+            throw new BuildException("You must specify at least one file to create the report for.");
+        }
+        return cfg;
+    }
+
+    /**
+     * Generates the report.
+     */
+    @Override
+    public final void execute() {
+        try {
+            Reporter reporter = new Reporter(validate(getConfiguration()));
+            Reporter.Output output = reporter.execute();
+            output.format(StyleSheets.PLAIN.getStyleSheet(), () -> CloseShieldOutputStream.wrap(System.out));
+        } catch (BuildException e) {
+            throw e;
+        } catch (Exception ioex) {
+            throw new BuildException(ioex);
+        }
+    }
+
+    /* TYPE CLASSES */
+
+    /**
+     * Base class for all none text command line types.
+     */
+    protected static class TxtValue {
+        private String value;
+        protected TxtValue() { }
+
+        @Override
+        public String toString() {
+            return value;
+        }
+
+        public void addText(String text) {
+            value = text.trim();
+        }
+    }
+
+    /**
+     * Handles parameters that are a {@link StandardCollection}.
+     */
+    public static class Std extends TxtValue {
+        public Std() { }
+    }
+
+    /**
+     * Handles parameters that are {@link OptionCollection.ArgumentType#EXPRESSION}.
+     */
+    public static class Expr extends TxtValue {
+        public Expr() { }
+    }
+
+    /**
+     * Handles parameters that are {@link OptionCollection.ArgumentType#COUNTERPATTERN}.
+     */
+    public static class Cntr extends TxtValue {
+        public Cntr() { }
+    }
+
+    /**
+     * Handles parameters that are string representations of {@link OptionCollection.ArgumentType#FILE}.
+     */
+    public static class Filename extends TxtValue {
+        public Filename() { }
+    }
+
+    /**
+     * Handles parameters that are {@link OptionCollection.ArgumentType#LICENSEID} or
+     * {@link OptionCollection.ArgumentType#FAMILYID}.
+     */
+    public static class Lst extends TxtValue {
+        public Lst() { }
+    }
+
+
+
+    @Override
+    public void log(final String msg, final int msgLevel) {
+        if (getProject() != null) {
+            getProject().log(msg, msgLevel);
+        } else {
+            DefaultLog.createDefault().log(fromProjectLevel(msgLevel), msg);
+        }
+    }
+
+    @Override
+    public void log(final String msg, final Throwable t, final int msgLevel) {
+        if (getProject() == null) {
+            log(Log.formatLogEntry(msg, t), msgLevel);
+        } else {
+            getProject().log(this, msg, t, msgLevel);
+        }
+    }
+
+    /**
+     * Converts to RAT log level from Ant Project log level.
+     * @param level the Ant Project log level to convert.
+     * @return the equivalent RAT log level.
+     */
+    public static Log.Level fromProjectLevel(final int level) {
+        return switch (level) {
+            case Project.MSG_DEBUG, Project.MSG_VERBOSE -> Log.Level.DEBUG;
+            case Project.MSG_INFO -> Log.Level.INFO;
+            case Project.MSG_WARN -> Log.Level.WARN;
+            case Project.MSG_ERR -> Log.Level.ERROR;
+            default -> Log.Level.OFF;
+        };
+    }
+
+    /**
+     * Converts RAT log level to Ant Project log level.
+     * @param level the RAT log level to convert.
+     * @return the equivalent Ant Project log level.
+     */
+    static int toProjectLevel(final Log.Level level) {
+        return switch (level) {
+            case DEBUG -> Project.MSG_DEBUG;
+            case INFO -> Project.MSG_INFO;
+            case WARN -> Project.MSG_WARN;
+            case ERROR -> Project.MSG_ERR;
+            default -> -1;
+        };
+    }
+
+    /**
+     * A facade for the Logger provided by Ant.
+     */
+    private final class Logger implements Log {
+        @Override
+        public Level getLevel() {
+            return Level.DEBUG;
+        }
+
+        @Override
+        public void log(final Log.Level level, final String message, final Throwable throwable) {
+            log(level, Log.formatLogEntry(message, throwable));
+        }
+
+        @Override
+        public void log(final Level level, final String msg) {
+            AbstractAntReport.this.log(msg, toProjectLevel(level));
+        }
+    }
+}
diff --git a/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/ant/AntReport.java b/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/ant/AntReport.java
new file mode 100644
index 00000000..284cc8e0
--- /dev/null
+++ b/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/ant/AntReport.java
@@ -0,0 +1,798 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*   http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied.  See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*/
+
+package org.apache.rat.ant;
+
+import org.apache.tools.ant.types.FileSet;
+import org.apache.tools.ant.types.Resource;
+import org.apache.tools.ant.types.resources.FileResource;
+
+/**
+* Generated class to provide Ant support for standard RAT command line options.
+* DO NOT EDIT - GENERATED FILE
+*/
+public final class AntReport extends AbstractAntReport {
+
+    /**
+     * Constructor.
+     */
+    public AntReport() {
+        super();
+    }
+
+    /*  GENERATED METHODS */
+
+
+    /**
+     * The copyright message to use in the license headers. Argument should be a Arg. (See Argument Types for clarification)
+     * @param copyright Copyright message to use in the license headers.
+     * @deprecated Deprecated for removal since 0.17: Use editCopyright attribute instead.
+     */
+    @Deprecated
+    public void setCopyright(final String copyright) {
+        argumentTracker.setArg("copyright", copyright);
+    }
+
+    /**
+     * The copyright message to use in the license headers. Usually in the form of "Copyright 2008 Foo".  Only valid with editLicense attribute Argument should be a Arg. (See Argument Types for clarification)
+     * @param editCopyright Copyright message to use in the license headers.
+     */
+    public void setEditCopyright(final String editCopyright) {
+        argumentTracker.setArg("edit-copyright", editCopyright);
+    }
+
+    /**
+     * Forces any changes in files to be written directly to the source files so that new files are not created.
+     * @param force The state
+     * @deprecated Deprecated for removal since 0.17: Use editOverwrite attribute instead.
+     */
+    @Deprecated
+    public void setForce(final boolean force) {
+        if (force) {
+            argumentTracker.setArg("force", null);
+        } else {
+            argumentTracker.removeArg("force");
+        }
+    }
+
+    /**
+     * Forces any changes in files to be written directly to the source files so that new files are not created. Only valid with editLicense attribute.
+     * @param editOverwrite The state
+     */
+    public void setEditOverwrite(final boolean editOverwrite) {
+        if (editOverwrite) {
+            argumentTracker.setArg("edit-overwrite", null);
+        } else {
+            argumentTracker.removeArg("edit-overwrite");
+        }
+    }
+
+    /**
+     * Add the Apache-2.0 license header to any file with an unknown license that is not in the exclusion list.
+     * @param addLicense The state
+     * @deprecated Deprecated for removal since 0.17: Use editLicense attribute instead.
+     */
+    @Deprecated
+    public void setAddLicense(final boolean addLicense) {
+        if (addLicense) {
+            argumentTracker.setArg("addLicense", null);
+        } else {
+            argumentTracker.removeArg("addLicense");
+        }
+    }
+
+    /**
+     * Add the Apache-2.0 license header to any file with an unknown license that is not in the exclusion list. By default new files will be created with the license header, to force the modification of existing files use the editOverwrite attribute option.
+     * @param editLicense The state
+     */
+    public void setEditLicense(final boolean editLicense) {
+        if (editLicense) {
+            argumentTracker.setArg("edit-license", null);
+        } else {
+            argumentTracker.removeArg("edit-license");
+        }
+    }
+
+    /**
+     * File names for system configuration. Arguments should be File. (See Argument Types for clarification)
+     */
+    public Config createConfig() {
+        return new Config();
+    }
+
+    /**
+     * Handles Config processing.
+     */
+    public class Config {
+        Config() {}
+        /**
+         * Adds a configured FileSet to the config.
+         * @param fileSet The fileSet to add to config.
+         */
+        public void addConfiguredFileSet(FileSet fileSet) {
+            for (Resource resource : fileSet) {
+                if (resource.isFilesystemOnly()) {
+                    argumentTracker.addArg("config", ((FileResource) resource).getFile().getAbsolutePath());
+                }
+            }
+        }
+    }
+
+    /**
+     * File names for system configuration. Arguments should be File. (See Argument Types for clarification)
+     * @deprecated Deprecated for removal since 0.17: Use <config> instead.
+     */
+    @Deprecated
+    public Licenses createLicenses() {
+        return new Licenses();
+    }
+
+    /**
+     * Handles Licenses processing.
+     */
+    public class Licenses {
+        Licenses() {}
+        /**
+         * Adds a configured FileSet to the licenses.
+         * @param fileSet The fileSet to add to licenses.
+         */
+        public void addConfiguredFileSet(FileSet fileSet) {
+            for (Resource resource : fileSet) {
+                if (resource.isFilesystemOnly()) {
+                    argumentTracker.addArg("licenses", ((FileResource) resource).getFile().getAbsolutePath());
+                }
+            }
+        }
+    }
+
+    /**
+     * Ignore default configuration.
+     * @param configurationNoDefaults The state
+     */
+    public void setConfigurationNoDefaults(final boolean configurationNoDefaults) {
+        if (configurationNoDefaults) {
+            argumentTracker.setArg("configuration-no-defaults", null);
+        } else {
+            argumentTracker.removeArg("configuration-no-defaults");
+        }
+    }
+
+    /**
+     * Ignore default configuration.
+     * @param noDefaultLicenses The state
+     * @deprecated Deprecated for removal since 0.17: Use configurationNoDefaults attribute instead.
+     */
+    @Deprecated
+    public void setNoDefaultLicenses(final boolean noDefaultLicenses) {
+        if (noDefaultLicenses) {
+            argumentTracker.setArg("no-default-licenses", null);
+        } else {
+            argumentTracker.removeArg("no-default-licenses");
+        }
+    }
+
+    /**
+     * A comma separated list of approved License IDs. These licenses will be added to the list of approved licenses. Argument should be a LicenseID. (See Argument Types for clarification)
+     */
+    public LicensesApproved createLicensesApproved() {
+        return new LicensesApproved();
+    }
+
+    /**
+     * Handles LicensesApproved processing.
+     */
+    public class LicensesApproved {
+        LicensesApproved() {}
+        /**
+         * Adds the licenseID {@link AbstractAntReport.Lst} to licenses-approved.
+         * @param licenseID The Lst to add to licenses-approved.
+         */
+        public void addConfiguredLst(Lst licenseID) {
+            argumentTracker.addArg("licenses-approved", licenseID.toString());
+        }
+        /**
+         * Adds a configured FileSet to the licenses-approved.
+         * @param fileSet The fileSet to add to licenses-approved.
+         */
+        public void addConfiguredFileSet(FileSet fileSet) {
+            for (Resource resource : fileSet) {
+                if (resource.isFilesystemOnly()) {
+                    argumentTracker.addArg("licenses-approved", ((FileResource) resource).getFile().getAbsolutePath());
+                }
+            }
+        }
+    }
+
+    /**
+     * Handles LicensesApprovedFile processing.
+     */
+    public class LicensesApprovedFile {
+        LicensesApprovedFile() {}
+        /**
+         * Adds a configured FileSet to the licenses-approved.
+         * @param fileSet The fileSet to add to licenses-approved.
+         */
+        public void addConfiguredFileSet(FileSet fileSet) {
+            for (Resource resource : fileSet) {
+                if (resource.isFilesystemOnly()) {
+                    argumentTracker.addArg("licenses-approved", ((FileResource) resource).getFile().getAbsolutePath());
+                }
+            }
+        }
+    }
+
+    /**
+     * A comma separated list of approved license family IDs. These license families will be added to the list of approved license families. Argument should be a FamilyID. (See Argument Types for clarification)
+     */
+    public LicenseFamiliesApproved createLicenseFamiliesApproved() {
+        return new LicenseFamiliesApproved();
+    }
+
+    /**
+     * Handles LicenseFamiliesApproved processing.
+     */
+    public class LicenseFamiliesApproved {
+        LicenseFamiliesApproved() {}
+        /**
+         * Adds the familyID {@link AbstractAntReport.Lst} to license-families-approved.
+         * @param familyID The Lst to add to license-families-approved.
+         */
+        public void addConfiguredLst(Lst familyID) {
+            argumentTracker.addArg("license-families-approved", familyID.toString());
+        }
+        /**
+         * Adds a configured FileSet to the license-families-approved.
+         * @param fileSet The fileSet to add to license-families-approved.
+         */
+        public void addConfiguredFileSet(FileSet fileSet) {
+            for (Resource resource : fileSet) {
+                if (resource.isFilesystemOnly()) {
+                    argumentTracker.addArg("license-families-approved", ((FileResource) resource).getFile().getAbsolutePath());
+                }
+            }
+        }
+    }
+
+    /**
+     * Handles LicenseFamiliesApprovedFile processing.
+     */
+    public class LicenseFamiliesApprovedFile {
+        LicenseFamiliesApprovedFile() {}
+        /**
+         * Adds a configured FileSet to the license-families-approved.
+         * @param fileSet The fileSet to add to license-families-approved.
+         */
+        public void addConfiguredFileSet(FileSet fileSet) {
+            for (Resource resource : fileSet) {
+                if (resource.isFilesystemOnly()) {
+                    argumentTracker.addArg("license-families-approved", ((FileResource) resource).getFile().getAbsolutePath());
+                }
+            }
+        }
+    }
+
+    /**
+     * A comma separated list of denied License IDs. These licenses will be removed from the list of approved licenses. Once licenses are removed they can not be added back. Argument should be a LicenseID. (See Argument Types for clarification)
+     */
+    public LicensesDenied createLicensesDenied() {
+        return new LicensesDenied();
+    }
+
+    /**
+     * Handles LicensesDenied processing.
+     */
+    public class LicensesDenied {
+        LicensesDenied() {}
+        /**
+         * Adds a configured FileSet to the licenses-denied.
+         * @param fileSet The fileSet to add to licenses-denied.
+         */
+        public void addConfiguredFileSet(FileSet fileSet) {
+            for (Resource resource : fileSet) {
+                if (resource.isFilesystemOnly()) {
+                    argumentTracker.addArg("licenses-denied", ((FileResource) resource).getFile().getAbsolutePath());
+                }
+            }
+        }
+        /**
+         * Adds the licenseID {@link AbstractAntReport.Lst} to licenses-denied.
+         * @param licenseID The Lst to add to licenses-denied.
+         */
+        public void addConfiguredLst(Lst licenseID) {
+            argumentTracker.addArg("licenses-denied", licenseID.toString());
+        }
+    }
+
+    /**
+     * Handles LicensesDeniedFile processing.
+     */
+    public class LicensesDeniedFile {
+        LicensesDeniedFile() {}
+        /**
+         * Adds a configured FileSet to the licenses-denied.
+         * @param fileSet The fileSet to add to licenses-denied.
+         */
+        public void addConfiguredFileSet(FileSet fileSet) {
+            for (Resource resource : fileSet) {
+                if (resource.isFilesystemOnly()) {
+                    argumentTracker.addArg("licenses-denied", ((FileResource) resource).getFile().getAbsolutePath());
+                }
+            }
+        }
+    }
+
+    /**
+     * A comma separated list of denied License family IDs. These license families will be removed from the list of approved licenses. Once license families are removed they can not be added back. Argument should be a FamilyID. (See Argument Types for clarification)
+     */
+    public LicenseFamiliesDenied createLicenseFamiliesDenied() {
+        return new LicenseFamiliesDenied();
+    }
+
+    /**
+     * Handles LicenseFamiliesDenied processing.
+     */
+    public class LicenseFamiliesDenied {
+        LicenseFamiliesDenied() {}
+        /**
+         * Adds the familyID {@link AbstractAntReport.Lst} to license-families-denied.
+         * @param familyID The Lst to add to license-families-denied.
+         */
+        public void addConfiguredLst(Lst familyID) {
+            argumentTracker.addArg("license-families-denied", familyID.toString());
+        }
+        /**
+         * Adds a configured FileSet to the license-families-denied.
+         * @param fileSet The fileSet to add to license-families-denied.
+         */
+        public void addConfiguredFileSet(FileSet fileSet) {
+            for (Resource resource : fileSet) {
+                if (resource.isFilesystemOnly()) {
+                    argumentTracker.addArg("license-families-denied", ((FileResource) resource).getFile().getAbsolutePath());
+                }
+            }
+        }
+    }
+
+    /**
+     * Handles LicenseFamiliesDeniedFile processing.
+     */
+    public class LicenseFamiliesDeniedFile {
+        LicenseFamiliesDeniedFile() {}
+        /**
+         * Adds a configured FileSet to the license-families-denied.
+         * @param fileSet The fileSet to add to license-families-denied.
+         */
+        public void addConfiguredFileSet(FileSet fileSet) {
+            for (Resource resource : fileSet) {
+                if (resource.isFilesystemOnly()) {
+                    argumentTracker.addArg("license-families-denied", ((FileResource) resource).getFile().getAbsolutePath());
+                }
+            }
+        }
+    }
+
+    /**
+     * The acceptable maximum number for the specified counter. A value of '-1' specifies an unlimited number. Arguments should be CounterPattern. (See Argument Types for clarification)
+     */
+    public CounterMax createCounterMax() {
+        return new CounterMax();
+    }
+
+    /**
+     * Handles CounterMax processing.
+     */
+    public class CounterMax {
+        CounterMax() {}
+        /**
+         * Adds the counterPattern {@link AbstractAntReport.Cntr} to counter-max.
+         * @param counterPattern The Cntr to add to counter-max.
+         */
+        public void addConfiguredCntr(Cntr counterPattern) {
+            argumentTracker.addArg("counter-max", counterPattern.toString());
+        }
+    }
+
+    /**
+     * The minimum number for the specified counter. Arguments should be CounterPattern. (See Argument Types for clarification)
+     */
+    public CounterMin createCounterMin() {
+        return new CounterMin();
+    }
+
+    /**
+     * Handles CounterMin processing.
+     */
+    public class CounterMin {
+        CounterMin() {}
+        /**
+         * Adds the counterPattern {@link AbstractAntReport.Cntr} to counter-min.
+         * @param counterPattern The Cntr to add to counter-min.
+         */
+        public void addConfiguredCntr(Cntr counterPattern) {
+            argumentTracker.addArg("counter-min", counterPattern.toString());
+        }
+    }
+
+    /**
+     * Excludes files matching <Expression>. Arguments should be Expression. (See Argument Types for clarification)
+     * @deprecated Deprecated for removal since 0.17: Use <inputExclude> instead.
+     */
+    @Deprecated
+    public Exclude createExclude() {
+        return new Exclude();
+    }
+
+    /**
+     * Handles Exclude processing.
+     */
+    public class Exclude {
+        Exclude() {}
+        /**
+         * Adds the expression {@link AbstractAntReport.Expr} to exclude.
+         * @param expression The Expr to add to exclude.
+         */
+        public void addConfiguredExpr(Expr expression) {
+            argumentTracker.addArg("exclude", expression.toString());
+        }
+    }
+
+    /**
+     * Excludes files matching <Expression>. Arguments should be Expression. (See Argument Types for clarification)
+     */
+    public InputExclude createInputExclude() {
+        return new InputExclude();
+    }
+
+    /**
+     * Handles InputExclude processing.
+     */
+    public class InputExclude {
+        InputExclude() {}
+        /**
+         * Adds a configured FileSet to the input-exclude.
+         * @param fileSet The fileSet to add to input-exclude.
+         */
+        public void addConfiguredFileSet(FileSet fileSet) {
+            for (Resource resource : fileSet) {
+                if (resource.isFilesystemOnly()) {
+                    argumentTracker.addArg("input-exclude", ((FileResource) resource).getFile().getAbsolutePath());
+                }
+            }
+        }
+        /**
+         * Adds the expression {@link AbstractAntReport.Expr} to input-exclude.
+         * @param expression The Expr to add to input-exclude.
+         */
+        public void addConfiguredExpr(Expr expression) {
+            argumentTracker.addArg("input-exclude", expression.toString());
+        }
+        /**
+         * Adds the standardCollection {@link AbstractAntReport.Std} to input-exclude.
+         * @param standardCollection The Std to add to input-exclude.
+         */
+        public void addConfiguredStd(Std standardCollection) {
+            argumentTracker.addArg("input-exclude", standardCollection.toString());
+        }
+    }
+
+    /**
+     * Handles InputExcludeStd processing.
+     */
+    public class InputExcludeStd {
+        InputExcludeStd() {}
+        /**
+         * Adds the standardCollection {@link AbstractAntReport.Std} to input-exclude.
+         * @param standardCollection The Std to add to input-exclude.
+         */
+        public void addConfiguredStd(Std standardCollection) {
+            argumentTracker.addArg("input-exclude", standardCollection.toString());
+        }
+    }
+
+    /**
+     * Handles InputExcludeFile processing.
+     */
+    public class InputExcludeFile {
+        InputExcludeFile() {}
+        /**
+         * Adds a configured FileSet to the input-exclude.
+         * @param fileSet The fileSet to add to input-exclude.
+         */
+        public void addConfiguredFileSet(FileSet fileSet) {
+            for (Resource resource : fileSet) {
+                if (resource.isFilesystemOnly()) {
+                    argumentTracker.addArg("input-exclude", ((FileResource) resource).getFile().getAbsolutePath());
+                }
+            }
+        }
+    }
+
+    /**
+     * Reads <Expression> entries from a file. Entries will be excluded from processing. Argument should be a File. (See Argument Types for clarification)
+     * @param excludeFile <Expression> entries from a file.
+     * @deprecated Deprecated for removal since 0.17: Use inputExcludeFile attribute instead.
+     */
+    @Deprecated
+    public void setExcludeFile(final String excludeFile) {
+        argumentTracker.setArg("exclude-file", excludeFile);
+    }
+
+    /**
+     * Excludes files with sizes less than the number of bytes specified. Argument should be a Integer. (See Argument Types for clarification)
+     * @param inputExcludeSize Files with sizes less than the number of bytes specified.
+     */
+    public void setInputExcludeSize(final String inputExcludeSize) {
+        argumentTracker.setArg("input-exclude-size", inputExcludeSize);
+    }
+
+    /**
+     * Includes files matching <Expression>. Will override excluded files. Arguments should be Expression. (See Argument Types for clarification)
+     */
+    public InputInclude createInputInclude() {
+        return new InputInclude();
+    }
+
+    /**
+     * Handles InputInclude processing.
+     */
+    public class InputInclude {
+        InputInclude() {}
+        /**
+         * Adds a configured FileSet to the input-include.
+         * @param fileSet The fileSet to add to input-include.
+         */
+        public void addConfiguredFileSet(FileSet fileSet) {
+            for (Resource resource : fileSet) {
+                if (resource.isFilesystemOnly()) {
+                    argumentTracker.addArg("input-include", ((FileResource) resource).getFile().getAbsolutePath());
+                }
+            }
+        }
+        /**
+         * Adds the expression {@link AbstractAntReport.Expr} to input-include.
+         * @param expression The Expr to add to input-include.
+         */
+        public void addConfiguredExpr(Expr expression) {
+            argumentTracker.addArg("input-include", expression.toString());
+        }
+        /**
+         * Adds the standardCollection {@link AbstractAntReport.Std} to input-include.
+         * @param standardCollection The Std to add to input-include.
+         */
+        public void addConfiguredStd(Std standardCollection) {
+            argumentTracker.addArg("input-include", standardCollection.toString());
+        }
+    }
+
+    /**
+     * Handles InputIncludeFile processing.
+     */
+    public class InputIncludeFile {
+        InputIncludeFile() {}
+        /**
+         * Adds a configured FileSet to the input-include.
+         * @param fileSet The fileSet to add to input-include.
+         */
+        public void addConfiguredFileSet(FileSet fileSet) {
+            for (Resource resource : fileSet) {
+                if (resource.isFilesystemOnly()) {
+                    argumentTracker.addArg("input-include", ((FileResource) resource).getFile().getAbsolutePath());
+                }
+            }
+        }
+    }
+
+    /**
+     * Handles InputIncludeStd processing.
+     */
+    public class InputIncludeStd {
+        InputIncludeStd() {}
+        /**
+         * Adds the standardCollection {@link AbstractAntReport.Std} to input-include.
+         * @param standardCollection The Std to add to input-include.
+         */
+        public void addConfiguredStd(Std standardCollection) {
+            argumentTracker.addArg("input-include", standardCollection.toString());
+        }
+    }
+
+    /**
+     * Includes files matching <Expression>. Will override excluded files. Arguments should be Expression. (See Argument Types for clarification)
+     * @deprecated Deprecated for removal since 0.17: Use <inputInclude> instead.
+     */
+    @Deprecated
+    public Include createInclude() {
+        return new Include();
+    }
+
+    /**
+     * Handles Include processing.
+     */
+    public class Include {
+        Include() {}
+        /**
+         * Adds the expression {@link AbstractAntReport.Expr} to include.
+         * @param expression The Expr to add to include.
+         */
+        public void addConfiguredExpr(Expr expression) {
+            argumentTracker.addArg("include", expression.toString());
+        }
+    }
+
+    /**
+     * Reads <Expression> entries from a file. Entries will be excluded from processing. Argument should be a File. (See Argument Types for clarification)
+     * @param includesFile <Expression> entries from a file.
+     * @deprecated Deprecated for removal since 0.17: Use inputIncludeFile attribute instead.
+     */
+    @Deprecated
+    public void setIncludesFile(final String includesFile) {
+        argumentTracker.setArg("includes-file", includesFile);
+    }
+
+    /**
+     * Scans hidden directories.
+     * @param scanHiddenDirectories The state
+     * @deprecated Deprecated for removal since 0.17: Use <inputIncludeStd> with 'HIDDEN_DIR' argument instead.
+     */
+    @Deprecated
+    public void setScanHiddenDirectories(final boolean scanHiddenDirectories) {
+        if (scanHiddenDirectories) {
+            argumentTracker.setArg("scan-hidden-directories", null);
+        } else {
+            argumentTracker.removeArg("scan-hidden-directories");
+        }
+    }
+
+    /**
+     * Parse SCM based exclusion files to exclude specified files and directories. This action can apply to any standard collection that implements a file processor. Arguments should be StandardCollection. (See Argument Types for clarification)
+     */
+    public InputExcludeParsedScm createInputExcludeParsedScm() {
+        return new InputExcludeParsedScm();
+    }
+
+    /**
+     * Handles InputExcludeParsedScm processing.
+     */
+    public class InputExcludeParsedScm {
+        InputExcludeParsedScm() {}
+        /**
+         * Adds the standardCollection {@link AbstractAntReport.Std} to input-exclude-parsed-scm.
+         * @param standardCollection The Std to add to input-exclude-parsed-scm.
+         */
+        public void addConfiguredStd(Std standardCollection) {
+            argumentTracker.addArg("input-exclude-parsed-scm", standardCollection.toString());
+        }
+    }
+
+    /**
+     * XSLT stylesheet to use when creating the report. Either an external xsl file may be specified or one of the internal named sheets. Argument should be a StyleSheet. (See Argument Types for clarification)
+     * @param outputStyle Stylesheet to use when creating the report.
+     */
+    public void setOutputStyle(final String outputStyle) {
+        argumentTracker.setArg("output-style", outputStyle);
+    }
+
+    /**
+     * XSLT stylesheet to use when creating the report. Argument should be a StyleSheet. (See Argument Types for clarification)
+     * @param stylesheet Stylesheet to use when creating the report.
+     * @deprecated Deprecated for removal since 0.17: Use outputStyle attribute instead.
+     */
+    @Deprecated
+    public void setStylesheet(final String stylesheet) {
+        argumentTracker.setArg("stylesheet", stylesheet);
+    }
+
+    /**
+     * forces XML output rather than the textual report.
+     * @param xml The state
+     * @deprecated Deprecated for removal since 0.17: Use outputStyle attribute with the 'xml' argument instead.
+     */
+    @Deprecated
+    public void setXml(final boolean xml) {
+        if (xml) {
+            argumentTracker.setArg("xml", null);
+        } else {
+            argumentTracker.removeArg("xml");
+        }
+    }
+
+    /**
+     * List the defined licenses. Argument should be a LicenseFilter. (See Argument Types for clarification)
+     * @param outputLicenses The defined licenses.
+     */
+    public void setOutputLicenses(final String outputLicenses) {
+        argumentTracker.setArg("output-licenses", outputLicenses);
+    }
+
+    /**
+     * List the defined licenses. Argument should be a LicenseFilter. (See Argument Types for clarification)
+     * @param listLicenses The defined licenses.
+     * @deprecated Deprecated for removal since 0.17: Use outputLicenses attribute instead.
+     */
+    @Deprecated
+    public void setListLicenses(final String listLicenses) {
+        argumentTracker.setArg("list-licenses", listLicenses);
+    }
+
+    /**
+     * List the defined license families. Argument should be a LicenseFilter. (See Argument Types for clarification)
+     * @param outputFamilies The defined license families.
+     */
+    public void setOutputFamilies(final String outputFamilies) {
+        argumentTracker.setArg("output-families", outputFamilies);
+    }
+
+    /**
+     * List the defined license families. Argument should be a LicenseFilter. (See Argument Types for clarification)
+     * @param listFamilies The defined license families.
+     * @deprecated Deprecated for removal since 0.17: Use outputFamilies attribute instead.
+     */
+    @Deprecated
+    public void setListFamilies(final String listFamilies) {
+        argumentTracker.setArg("list-families", listFamilies);
+    }
+
+    /**
+     * If set do not update the files but generate the reports.
+     * @param dryRun The state
+     */
+    public void setDryRun(final boolean dryRun) {
+        if (dryRun) {
+            argumentTracker.setArg("dry-run", null);
+        } else {
+            argumentTracker.removeArg("dry-run");
+        }
+    }
+
+    /**
+     * Define the output file where to write a report to. Argument should be a File. (See Argument Types for clarification)
+     * @param out The output file where to write a report to.
+     * @deprecated Deprecated for removal since 0.17: Use outputFile attribute instead.
+     */
+    @Deprecated
+    public void setOut(final String out) {
+        argumentTracker.setArg("out", out);
+    }
+
+    /**
+     * Define the output file where to write a report to. Argument should be a File. (See Argument Types for clarification)
+     * @param outputFile The output file where to write a report to.
+     */
+    public void setOutputFile(final String outputFile) {
+        argumentTracker.setArg("output-file", outputFile);
+    }
+
+    /**
+     * Specifies the level of detail in ARCHIVE file reporting. Argument should be a ProcessingType. (See Argument Types for clarification)
+     * @param outputArchive The level of detail in ARCHIVE file reporting.
+     */
+    public void setOutputArchive(final String outputArchive) {
+        argumentTracker.setArg("output-archive", outputArchive);
+    }
+
+    /**
+     * Specifies the level of detail in STANDARD file reporting. Argument should be a ProcessingType. (See Argument Types for clarification)
+     * @param outputStandard The level of detail in STANDARD file reporting.
+     */
+    public void setOutputStandard(final String outputStandard) {
+        argumentTracker.setArg("output-standard", outputStandard);
+    }
+
+
+}
diff --git a/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/ResourceCollectionContainer.java b/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/ant/ResourceCollectionContainer.java
similarity index 98%
rename from apache-rat-tasks/src/main/java/org/apache/rat/anttasks/ResourceCollectionContainer.java
rename to apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/ant/ResourceCollectionContainer.java
index df911ad4..7d5b237b 100644
--- a/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/ResourceCollectionContainer.java
+++ b/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/ant/ResourceCollectionContainer.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations      *
  * under the License.                                           *
  */
-package org.apache.rat.anttasks;
+package org.apache.rat.ant;
 
 import org.apache.rat.ReportConfiguration;
 import org.apache.rat.api.RatException;
diff --git a/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/All.java b/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/All.java
similarity index 100%
rename from apache-rat-tasks/src/main/java/org/apache/rat/anttasks/All.java
rename to apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/All.java
diff --git a/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Any.java b/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Any.java
similarity index 100%
rename from apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Any.java
rename to apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Any.java
diff --git a/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Copyright.java b/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Copyright.java
similarity index 100%
rename from apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Copyright.java
rename to apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Copyright.java
diff --git a/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Family.java b/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Family.java
similarity index 100%
rename from apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Family.java
rename to apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Family.java
diff --git a/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Help.java b/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Help.java
similarity index 100%
rename from apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Help.java
rename to apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Help.java
diff --git a/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/License.java b/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/License.java
similarity index 100%
rename from apache-rat-tasks/src/main/java/org/apache/rat/anttasks/License.java
rename to apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/License.java
diff --git a/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Not.java b/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Not.java
similarity index 100%
rename from apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Not.java
rename to apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Not.java
diff --git a/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Regex.java b/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Regex.java
similarity index 100%
rename from apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Regex.java
rename to apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Regex.java
diff --git a/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Report.java b/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Report.java
similarity index 99%
rename from apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Report.java
rename to apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Report.java
index 459be5dd..75d7d83b 100644
--- a/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Report.java
+++ b/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Report.java
@@ -35,6 +35,7 @@ import org.apache.rat.ImplementationException;
 import org.apache.rat.OptionCollection;
 import org.apache.rat.ReportConfiguration;
 import org.apache.rat.Reporter;
+import org.apache.rat.ant.ResourceCollectionContainer;
 import org.apache.rat.commandline.Arg;
 import org.apache.rat.commandline.StyleSheets;
 import org.apache.rat.document.DocumentName;
diff --git a/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Spdx.java b/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Spdx.java
similarity index 100%
rename from apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Spdx.java
rename to apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Spdx.java
diff --git a/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Text.java b/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Text.java
similarity index 100%
rename from apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Text.java
rename to apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/Text.java
diff --git a/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/package-info.java b/apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/package-info.java
similarity index 100%
rename from apache-rat-tasks/src/main/java/org/apache/rat/anttasks/package-info.java
rename to apache-rat-ant-parent/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/package-info.java
diff --git a/apache-rat-tasks/src/test/resources/antunit/customLicense.xml b/apache-rat-ant-parent/apache-rat-tasks/src/main/resources/org/apache/rat/ant/antlib.xml
similarity index 75%
copy from apache-rat-tasks/src/test/resources/antunit/customLicense.xml
copy to apache-rat-ant-parent/apache-rat-tasks/src/main/resources/org/apache/rat/ant/antlib.xml
index 4199bc4e..440d5b1f 100644
--- a/apache-rat-tasks/src/test/resources/antunit/customLicense.xml
+++ b/apache-rat-ant-parent/apache-rat-tasks/src/main/resources/org/apache/rat/ant/antlib.xml
@@ -1,6 +1,5 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
+<?xml version='1.0'?>
+ <!--
  Licensed to the Apache Software Foundation (ASF) under one   *
  or more contributor license agreements.  See the NOTICE file *
  distributed with this work for additional information        *
@@ -17,15 +16,10 @@
  KIND, either express or implied.  See the License for the    *
  specific language governing permissions and limitations      *
  under the License.                                           *
-
 -->
-<rat-config>
-    <families>
-    	<family id="newFam" name="my new family" />
-    </families>
-	<licenses>
-		<license family="newFam" id="EXAMPLE" name="Example License">
-			<regex expression='.' />
-		</license>
-	</licenses>
-</rat-config>
+<antlib>
+  <taskdef name='report' classname='org.apache.rat.ant'/>
+  <taskdef name='std' classname='org.apache.rat.antAbstractAndReport$Std'/>
+  <taskdef name='expr' classname='org.apache.rat.antAbstractAndReport$Expr'/>
+  <taskdef name='cntr' classname='org.apache.rat.antAbstractAndReport$Cntr'/>
+</antlib>
diff --git a/apache-rat-tasks/src/main/resources/org/apache/rat/anttasks/antlib.xml b/apache-rat-ant-parent/apache-rat-tasks/src/main/resources/org/apache/rat/anttasks/antlib.xml
similarity index 100%
rename from apache-rat-tasks/src/main/resources/org/apache/rat/anttasks/antlib.xml
rename to apache-rat-ant-parent/apache-rat-tasks/src/main/resources/org/apache/rat/anttasks/antlib.xml
diff --git a/apache-rat-tasks/src/site/apt/examples/basic.apt.vm b/apache-rat-ant-parent/apache-rat-tasks/src/site/apt/examples/basic.apt.vm
similarity index 100%
rename from apache-rat-tasks/src/site/apt/examples/basic.apt.vm
rename to apache-rat-ant-parent/apache-rat-tasks/src/site/apt/examples/basic.apt.vm
diff --git a/apache-rat-tasks/src/site/apt/examples/report.apt b/apache-rat-ant-parent/apache-rat-tasks/src/site/apt/examples/report.apt
similarity index 100%
rename from apache-rat-tasks/src/site/apt/examples/report.apt
rename to apache-rat-ant-parent/apache-rat-tasks/src/site/apt/examples/report.apt
diff --git a/apache-rat-plugin-parent/impl/src/site/resources/css/site.css b/apache-rat-ant-parent/apache-rat-tasks/src/site/resources/css/site.css
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/site/resources/css/site.css
rename to apache-rat-ant-parent/apache-rat-tasks/src/site/resources/css/site.css
diff --git a/apache-rat-tasks/src/site/site.xml b/apache-rat-ant-parent/apache-rat-tasks/src/site/site.xml
similarity index 100%
rename from apache-rat-tasks/src/site/site.xml
rename to apache-rat-ant-parent/apache-rat-tasks/src/site/site.xml
diff --git a/apache-rat-tasks/src/templates/apt/ant_options.apt.vm b/apache-rat-ant-parent/apache-rat-tasks/src/templates/apt/ant_options.apt.vm
similarity index 100%
rename from apache-rat-tasks/src/templates/apt/ant_options.apt.vm
rename to apache-rat-ant-parent/apache-rat-tasks/src/templates/apt/ant_options.apt.vm
diff --git a/apache-rat-tasks/src/templates/apt/index.apt.vm.vm b/apache-rat-ant-parent/apache-rat-tasks/src/templates/apt/index.apt.vm.vm
similarity index 100%
rename from apache-rat-tasks/src/templates/apt/index.apt.vm.vm
rename to apache-rat-ant-parent/apache-rat-tasks/src/templates/apt/index.apt.vm.vm
diff --git a/apache-rat-tasks/src/test/java/org/apache/rat/anttasks/AbstractRatAntTaskTest.java b/apache-rat-ant-parent/apache-rat-tasks/src/test/java/org/apache/rat/anttasks/AbstractRatAntTaskTest.java
similarity index 100%
rename from apache-rat-tasks/src/test/java/org/apache/rat/anttasks/AbstractRatAntTaskTest.java
rename to apache-rat-ant-parent/apache-rat-tasks/src/test/java/org/apache/rat/anttasks/AbstractRatAntTaskTest.java
diff --git a/apache-rat-tasks/src/test/java/org/apache/rat/anttasks/GeneratedReportTest.java b/apache-rat-ant-parent/apache-rat-tasks/src/test/java/org/apache/rat/anttasks/GeneratedReportTest.java
similarity index 99%
rename from apache-rat-tasks/src/test/java/org/apache/rat/anttasks/GeneratedReportTest.java
rename to apache-rat-ant-parent/apache-rat-tasks/src/test/java/org/apache/rat/anttasks/GeneratedReportTest.java
index ca86ee4e..24aad8bd 100644
--- a/apache-rat-tasks/src/test/java/org/apache/rat/anttasks/GeneratedReportTest.java
+++ b/apache-rat-ant-parent/apache-rat-tasks/src/test/java/org/apache/rat/anttasks/GeneratedReportTest.java
@@ -238,7 +238,7 @@ public class GeneratedReportTest  {
 
         for (AntOption option : options) {
             lst.add(createTest(option));
-            option.convertedFrom().forEach(o -> lst.add(createTest(new AntOption(o))));
+            option.convertedFrom().forEach(o -> lst.add(createTest(o)));
         }
         for (Arguments arguments : lst) {
             Object[] objects = arguments.get();
diff --git a/apache-rat-tasks/src/test/java/org/apache/rat/anttasks/HelpTest.java b/apache-rat-ant-parent/apache-rat-tasks/src/test/java/org/apache/rat/anttasks/HelpTest.java
similarity index 100%
rename from apache-rat-tasks/src/test/java/org/apache/rat/anttasks/HelpTest.java
rename to apache-rat-ant-parent/apache-rat-tasks/src/test/java/org/apache/rat/anttasks/HelpTest.java
diff --git a/apache-rat-tasks/src/test/java/org/apache/rat/anttasks/ReportOptionTest.java b/apache-rat-ant-parent/apache-rat-tasks/src/test/java/org/apache/rat/anttasks/ReportOptionTest.java
similarity index 100%
rename from apache-rat-tasks/src/test/java/org/apache/rat/anttasks/ReportOptionTest.java
rename to apache-rat-ant-parent/apache-rat-tasks/src/test/java/org/apache/rat/anttasks/ReportOptionTest.java
diff --git a/apache-rat-tasks/src/test/java/org/apache/rat/anttasks/ReportTest.java b/apache-rat-ant-parent/apache-rat-tasks/src/test/java/org/apache/rat/anttasks/ReportTest.java
similarity index 100%
rename from apache-rat-tasks/src/test/java/org/apache/rat/anttasks/ReportTest.java
rename to apache-rat-ant-parent/apache-rat-tasks/src/test/java/org/apache/rat/anttasks/ReportTest.java
diff --git a/apache-rat-tasks/src/test/java/org/example/Matcher.java b/apache-rat-ant-parent/apache-rat-tasks/src/test/java/org/example/Matcher.java
similarity index 100%
rename from apache-rat-tasks/src/test/java/org/example/Matcher.java
rename to apache-rat-ant-parent/apache-rat-tasks/src/test/java/org/example/Matcher.java
diff --git a/apache-rat-tasks/src/test/java/org/example/MatcherBuilder.java b/apache-rat-ant-parent/apache-rat-tasks/src/test/java/org/example/MatcherBuilder.java
similarity index 100%
rename from apache-rat-tasks/src/test/java/org/example/MatcherBuilder.java
rename to apache-rat-ant-parent/apache-rat-tasks/src/test/java/org/example/MatcherBuilder.java
diff --git a/apache-rat-plugin-parent/impl/src/test/resources/OptionTools/One.xml b/apache-rat-ant-parent/apache-rat-tasks/src/test/resources/OptionTools/One.xml
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/test/resources/OptionTools/One.xml
rename to apache-rat-ant-parent/apache-rat-tasks/src/test/resources/OptionTools/One.xml
diff --git a/apache-rat-plugin-parent/impl/src/test/resources/OptionTools/Two.xml b/apache-rat-ant-parent/apache-rat-tasks/src/test/resources/OptionTools/Two.xml
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/test/resources/OptionTools/Two.xml
rename to apache-rat-ant-parent/apache-rat-tasks/src/test/resources/OptionTools/Two.xml
diff --git a/apache-rat-tasks/src/test/resources/antunit/build.xml b/apache-rat-ant-parent/apache-rat-tasks/src/test/resources/antunit/build.xml
similarity index 100%
rename from apache-rat-tasks/src/test/resources/antunit/build.xml
rename to apache-rat-ant-parent/apache-rat-tasks/src/test/resources/antunit/build.xml
diff --git a/apache-rat-tasks/src/test/resources/antunit/customLicense.xml b/apache-rat-ant-parent/apache-rat-tasks/src/test/resources/antunit/customLicense.xml
similarity index 100%
rename from apache-rat-tasks/src/test/resources/antunit/customLicense.xml
rename to apache-rat-ant-parent/apache-rat-tasks/src/test/resources/antunit/customLicense.xml
diff --git a/apache-rat-tasks/src/test/resources/antunit/index.apt b/apache-rat-ant-parent/apache-rat-tasks/src/test/resources/antunit/index.apt
similarity index 100%
rename from apache-rat-tasks/src/test/resources/antunit/index.apt
rename to apache-rat-ant-parent/apache-rat-tasks/src/test/resources/antunit/index.apt
diff --git a/apache-rat-tasks/src/test/resources/antunit/report-bad-configurations.xml b/apache-rat-ant-parent/apache-rat-tasks/src/test/resources/antunit/report-bad-configurations.xml
similarity index 100%
rename from apache-rat-tasks/src/test/resources/antunit/report-bad-configurations.xml
rename to apache-rat-ant-parent/apache-rat-tasks/src/test/resources/antunit/report-bad-configurations.xml
diff --git a/apache-rat-tasks/src/test/resources/antunit/report-junit.xml b/apache-rat-ant-parent/apache-rat-tasks/src/test/resources/antunit/report-junit.xml
similarity index 100%
rename from apache-rat-tasks/src/test/resources/antunit/report-junit.xml
rename to apache-rat-ant-parent/apache-rat-tasks/src/test/resources/antunit/report-junit.xml
diff --git a/apache-rat-tasks/src/test/resources/antunit/report-normal-operation.xml b/apache-rat-ant-parent/apache-rat-tasks/src/test/resources/antunit/report-normal-operation.xml
similarity index 100%
rename from apache-rat-tasks/src/test/resources/antunit/report-normal-operation.xml
rename to apache-rat-ant-parent/apache-rat-tasks/src/test/resources/antunit/report-normal-operation.xml
diff --git a/apache-rat-tasks/src/test/resources/antunit/report-options.xml b/apache-rat-ant-parent/apache-rat-tasks/src/test/resources/antunit/report-options.xml
similarity index 100%
rename from apache-rat-tasks/src/test/resources/antunit/report-options.xml
rename to apache-rat-ant-parent/apache-rat-tasks/src/test/resources/antunit/report-options.xml
diff --git a/apache-rat-tasks/src/test/resources/helpTest/build.xml b/apache-rat-ant-parent/apache-rat-tasks/src/test/resources/helpTest/build.xml
similarity index 100%
rename from apache-rat-tasks/src/test/resources/helpTest/build.xml
rename to apache-rat-ant-parent/apache-rat-tasks/src/test/resources/helpTest/build.xml
diff --git a/apache-rat-plugin-parent/impl/src/test/resources/unit/it4/iso-8859-1.html b/apache-rat-ant-parent/apache-rat-tasks/src/test/resources/org/example/iso-8859-1.html
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/test/resources/unit/it4/iso-8859-1.html
rename to apache-rat-ant-parent/apache-rat-tasks/src/test/resources/org/example/iso-8859-1.html
diff --git a/apache-rat-plugin-parent/pom.xml b/apache-rat-ant-parent/pom.xml
similarity index 61%
copy from apache-rat-plugin-parent/pom.xml
copy to apache-rat-ant-parent/pom.xml
index 7451f5dd..e1fbb914 100644
--- a/apache-rat-plugin-parent/pom.xml
+++ b/apache-rat-ant-parent/pom.xml
@@ -23,10 +23,10 @@
         <groupId>org.apache.rat</groupId>
         <version>1.0.0-SNAPSHOT</version>
     </parent>
-    <artifactId>apache-rat-plugin-parent</artifactId>
+    <artifactId>apache-rat-ant-parent</artifactId>
     <packaging>pom</packaging>
-    <name>Apache Creadur RAT::Maven plugin parent</name>
-    <description>A plugin for Apache Maven that runs Apache RAT
+    <name>Apache Creadur RAT::Ant tasks parent</name>
+    <description>Tasks for Apache Ant that runs Apache RAT
         to audit the source to be distributed.
     </description>
     <inceptionYear>2007</inceptionYear>
@@ -37,13 +37,11 @@
         <rat.version>1.0.0-SNAPSHOT</rat.version>
         <currentVersion>${project.version}</currentVersion>
         <doxiaVersion>2.0.0</doxiaVersion>
-        <mavenVersion>3.9.12</mavenVersion>
-        <mavenPluginTestingVersion>3.4.0</mavenPluginTestingVersion>
-        <mavenPluginToolsVersion>3.15.2</mavenPluginToolsVersion>
+        <ant.version>1.10.15</ant.version>
     </properties>
     <modules>
         <module>tools</module>
-        <module>impl</module>
+        <module>apache-rat-tasks</module>
     </modules>
     <dependencyManagement>
         <dependencies>
@@ -58,24 +56,6 @@
                 <version>${rat.version}</version>
                 <scope>test</scope>
             </dependency>
-            <dependency>
-                <groupId>org.apache.maven.plugin-tools</groupId>
-                <artifactId>maven-plugin-annotations</artifactId>
-                <version>${mavenPluginToolsVersion}</version>
-                <scope>provided</scope>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.maven.plugin-testing</groupId>
-                <artifactId>maven-plugin-testing-harness</artifactId>
-                <version>${mavenPluginTestingVersion}</version>
-                <scope>test</scope>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.maven</groupId>
-                <artifactId>maven-plugin-api</artifactId>
-                <version>${mavenVersion}</version>
-                <scope>provided</scope>
-            </dependency>
         </dependencies>
     </dependencyManagement>
     <build>
@@ -87,16 +67,6 @@
                     <maxAllowedViolations>0</maxAllowedViolations>
                 </configuration>
             </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-plugin-plugin</artifactId>
-                <version>${mavenPluginToolsVersion}</version>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-plugin-report-plugin</artifactId>
-                <version>${mavenPluginToolsVersion}</version>
-            </plugin>
         </plugins>
     </build>
 </project>
diff --git a/apache-rat-plugin-parent/tools/spotbugs-ignore.xml b/apache-rat-ant-parent/spotbugs-ignore.xml
similarity index 100%
rename from apache-rat-plugin-parent/tools/spotbugs-ignore.xml
rename to apache-rat-ant-parent/spotbugs-ignore.xml
diff --git a/apache-rat-plugin-parent/tools/pom.xml b/apache-rat-ant-parent/tools/pom.xml
similarity index 92%
copy from apache-rat-plugin-parent/tools/pom.xml
copy to apache-rat-ant-parent/tools/pom.xml
index a3943bf9..3a783c5b 100644
--- a/apache-rat-plugin-parent/tools/pom.xml
+++ b/apache-rat-ant-parent/tools/pom.xml
@@ -19,18 +19,16 @@
   <modelVersion>4.0.0</modelVersion>
   <parent>
     <groupId>org.apache.rat</groupId>
-    <artifactId>apache-rat-plugin-parent</artifactId>
+    <artifactId>apache-rat-ant-parent</artifactId>
     <version>1.0.0-SNAPSHOT</version>
   </parent>
-  <artifactId>apache-rat-plugin-tools</artifactId>
+  <artifactId>apache-rat-ant-tools</artifactId>
   <packaging>jar</packaging>
-  <name>Apache Creadur RAT::Maven plugin Tools</name>
-  <description>Tools to manage and report on RAT for Maven</description>
+  <name>Apache Creadur RAT::Ant Task Tools</name>
+  <description>Tools to manage and report on RAT for Ant</description>
   <properties>
 
   </properties>
-
-
   <build>
     <resources>
       <resource>
@@ -92,10 +90,13 @@
     </plugins>
   </build>
   <dependencies>
+    <dependency>
+      <groupId>commons-cli</groupId>
+      <artifactId>commons-cli</artifactId>
+    </dependency>
     <dependency>
       <groupId>org.apache.rat</groupId>
       <artifactId>apache-rat-core</artifactId>
-      <version>${rat.version}</version>
     </dependency>
     <dependency>
       <groupId>org.apache.velocity</groupId>
@@ -145,10 +146,6 @@
       <artifactId>assertj-core</artifactId>
       <scope>test</scope>
     </dependency>
-    <dependency>
-      <groupId>org.apache.maven.plugin-testing</groupId>
-      <artifactId>maven-plugin-testing-harness</artifactId>
-      <scope>test</scope>
-    </dependency>
+
   </dependencies>
 </project>
diff --git a/apache-rat-tasks/spotbugs-ignore.xml b/apache-rat-ant-parent/tools/spotbugs-ignore.xml
similarity index 100%
rename from apache-rat-tasks/spotbugs-ignore.xml
rename to apache-rat-ant-parent/tools/spotbugs-ignore.xml
diff --git a/apache-rat-ant-parent/tools/src/main/java/org/apache/rat/ant/AntOption.java b/apache-rat-ant-parent/tools/src/main/java/org/apache/rat/ant/AntOption.java
new file mode 100644
index 00000000..42719d1d
--- /dev/null
+++ b/apache-rat-ant-parent/tools/src/main/java/org/apache/rat/ant/AntOption.java
@@ -0,0 +1,444 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.rat.ant;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Set;
+import java.util.function.Predicate;
+import java.util.stream.Collectors;
+
+import org.apache.commons.cli.Option;
+import org.apache.commons.cli.Options;
+import org.apache.commons.collections4.map.UnmodifiableMap;
+import org.apache.commons.collections4.set.UnmodifiableSet;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.text.WordUtils;
+import org.apache.rat.OptionCollection;
+import org.apache.rat.commandline.Arg;
+import org.apache.rat.ui.AbstractOption;
+import org.apache.rat.ui.OptionFactory;
+import org.apache.rat.utils.CasedString;
+
+import static java.lang.String.format;
+
+/**
+ * A class that wraps the CLI option and provides Ant specific values.
+ */
+public class AntOption extends AbstractOption<AntOption> {
+    /** Default values for CLI options */
+    public static final UnmodifiableMap<Arg, String> DEFAULT_VALUES;
+    /** Set of CLI options that are not supported by Ant. */
+    public static final UnmodifiableSet<Option> UNSUPPORTED_SET;
+    /** A mapping of external name to internal name if not standard. */
+    public static final UnmodifiableMap<String, String> RENAME_MAP;
+    /** The additional options for the maven plugin */
+    static final Options ADDITIONAL_OPTIONS = new Options();
+    /** Filter to remove options not supported by Ant. */
+    static final Predicate<Option> ANT_FILTER;
+    /** The filter that matches unsupported options */
+    static final Predicate<Option> UNSUPPORTED_FILTER;
+    /** The filter that matches options that are mapped to other options */
+    static final Predicate<Option> MAPPED_FILTER;
+    /** The filter that removes ant options that are mapped to other options */
+    static final Predicate<AntOption> UNMAPPED_ANTOPTION_FILTER;
+
+    /** The OptionFactory configuration for AntOptions. */
+    public static final OptionFactory.Config<AntOption> FACTORY_CONFIG;
+    /** The mapping of option to the implementation option in Ant. */
+    private static final Map<Option, Option> ANT_CONVERSION_MAP = new HashMap<>();
+
+    /**
+     * The list of example patterns for various classes.
+     */
+    private static final Map<OptionCollection.ArgumentType, BuildType> BUILD_TYPE_MAP = new HashMap<>();
+
+    /** The list of attribute types. */
+    private static final List<Class<?>> ATTRIBUTE_TYPES = new ArrayList<>();
+
+
+    /** Attributes that are required for example data. */
+    private static final Map<String, Map<String, String>> REQUIRED_ATTRIBUTES = new HashMap<>();
+
+    /**
+     * Adds a mapping from the specified Arg to the Arg to be used for generation.
+     * @param arg the arg to map.
+     * @param actualArg the Arg to map {@code arg} to.
+     */
+    private static void updateConversionMap(final Arg arg, final Arg actualArg) {
+        Option mapTo = actualArg.option();
+        for (Option option : arg.group().getOptions()) {
+            if (!option.equals(mapTo) && !option.isDeprecated()) {
+                ANT_CONVERSION_MAP.put(option, mapTo);
+            }
+        }
+    }
+
+    static {
+        Map<String, String> renameMap = new HashMap<>();
+        renameMap.put("addLicense", "add-license");
+        RENAME_MAP = (UnmodifiableMap<String, String>) UnmodifiableMap.unmodifiableMap(renameMap);
+        ATTRIBUTE_TYPES.add(String.class);
+        ATTRIBUTE_TYPES.add(String[].class);
+        ATTRIBUTE_TYPES.add(Integer.class);
+        ATTRIBUTE_TYPES.add(Long.class);
+        ATTRIBUTE_TYPES.add(File.class);
+        Set<Option> unsupportedSet = Arg.getOptions(ADDITIONAL_OPTIONS).getOptions()
+                .stream().filter(o -> Objects.isNull(o.getLongOpt()))
+                .collect(Collectors.toSet());
+        unsupportedSet.addAll(Arg.LOG_LEVEL.group().getOptions());
+        unsupportedSet.addAll(Arg.DIR.group().getOptions());
+        unsupportedSet.addAll(Arg.SOURCE.group().getOptions());
+        unsupportedSet.addAll(Arg.HELP_LICENSES.group().getOptions());
+        UNSUPPORTED_SET = (UnmodifiableSet<Option>) UnmodifiableSet.unmodifiableSet(unsupportedSet);
+        updateConversionMap(Arg.LICENSES_APPROVED_FILE, Arg.LICENSES_APPROVED);
+        updateConversionMap(Arg.LICENSES_DENIED_FILE, Arg.LICENSES_DENIED);
+        updateConversionMap(Arg.FAMILIES_APPROVED_FILE, Arg.FAMILIES_APPROVED);
+        updateConversionMap(Arg.FAMILIES_DENIED_FILE, Arg.FAMILIES_DENIED);
+        updateConversionMap(Arg.INCLUDE_FILE, Arg.INCLUDE);
+        updateConversionMap(Arg.INCLUDE_STD, Arg.INCLUDE);
+        updateConversionMap(Arg.EXCLUDE_FILE, Arg.EXCLUDE);
+        updateConversionMap(Arg.EXCLUDE_STD, Arg.EXCLUDE);
+        DEFAULT_VALUES = (UnmodifiableMap<Arg, String>) UnmodifiableMap.unmodifiableMap(new HashMap<Arg, String>());
+        /*
+         * Create the BuildTypes for the Argument types.
+         */
+        BuildType buildType;
+        for (OptionCollection.ArgumentType type : OptionCollection.ArgumentType.values()) {
+            switch (type) {
+                case FILE:
+                case DIRORARCHIVE:
+                    buildType = new BuildType(type, "filename") {
+                        @Override
+                        protected String getMultipleFormat(final AntOption antOption) {
+                            return "  <fileset file='%s' />\n";
+                        }
+                    };
+                    BUILD_TYPE_MAP.put(type, buildType);
+                    break;
+                case NONE:
+                    buildType = new BuildType(type, "");
+                    BUILD_TYPE_MAP.put(type, buildType);
+                    break;
+                case COUNTERPATTERN:
+                    buildType = new BuildType(type, "cntr");
+                    BUILD_TYPE_MAP.put(type, buildType);
+                    break;
+                case EXPRESSION:
+                    buildType = new BuildType(type, "expr");
+                    BUILD_TYPE_MAP.put(type, buildType);
+                    break;
+                case STANDARDCOLLECTION:
+                    buildType = new BuildType(type, "std");
+                    BUILD_TYPE_MAP.put(type, buildType);
+                    break;
+                case LICENSEID:
+                case FAMILYID:
+                    buildType = new BuildType(type, "lst");
+                    BUILD_TYPE_MAP.put(type, buildType);
+                    break;
+                default:
+                    buildType = new BuildType(type, type.getDisplayName()) {
+                        protected String getMethodFormat(final AntOption antOption) {
+                            return String.format("<%1$s>%%s</%1$s>%n", WordUtils.uncapitalize(antOption.getArgName()));
+                        }
+                    };
+                    BUILD_TYPE_MAP.put(type, buildType);
+            }
+        }
+        Set<Option> filteredOptions = new HashSet<>(UNSUPPORTED_SET);
+        filteredOptions.addAll(ANT_CONVERSION_MAP.keySet());
+        ANT_FILTER = option -> !(filteredOptions.contains(option) || option.getLongOpt() == null);
+
+        Map<String, String> attributes = new HashMap<>();
+        attributes.put("editLicense", "true");
+        REQUIRED_ATTRIBUTES.put("copyright", attributes);
+        REQUIRED_ATTRIBUTES.put("editCopyright", attributes);
+        REQUIRED_ATTRIBUTES.put("force", attributes);
+        REQUIRED_ATTRIBUTES.put("editOverwrite", attributes);
+        FACTORY_CONFIG = new OptionFactory.Config<>(AntOption.ANT_FILTER, AntOption::new, AntOption.ADDITIONAL_OPTIONS);
+        UNSUPPORTED_FILTER = UNSUPPORTED_SET::contains;
+        MAPPED_FILTER = ANT_CONVERSION_MAP.keySet()::contains;
+        UNMAPPED_ANTOPTION_FILTER = antOption -> UNSUPPORTED_FILTER.or(MAPPED_FILTER).negate().test(antOption.getOption());
+    }
+
+    /**
+     * Constructor.
+     *
+     * @param option the option to wrap.
+     */
+    public AntOption(final Option option) {
+        super(option, createName(option));
+    }
+
+    public static String createName(final Option option) {
+        String name = option.getLongOpt();
+        name = StringUtils.defaultIfEmpty(RENAME_MAP.get(name), name).toLowerCase(Locale.ROOT);
+        return new CasedString(CasedString.StringCase.KEBAB, name).toCase(CasedString.StringCase.CAMEL);
+    }
+
+    /**
+     * Returns {@code true} if the option should be an attribute of the &lt;rat:report&gt; element.
+     *
+     * @return {@code true} if the option should be an attribute of the &lt;rat:report&gt; element.
+     */
+    public boolean isAttribute() {
+        return (!option.hasArg() || option.getArgs() == 1) && convertedFrom().isEmpty()
+                && ATTRIBUTE_TYPES.contains(option.getType());
+    }
+
+    /**
+     * Returns {@code true} if the option should be a child element of the &lt;rat:report&gt; element.
+     *
+     * @return {@code true} if the option should be a child element of the &lt;rat:report&gt; element.
+     */
+    public boolean isElement() {
+        return !isAttribute();
+    }
+
+    /**
+     * If this option is converted to another option return that option otherwise
+     * return this option.
+     * @return the converted option.
+     */
+    public AntOption getActualAntOption() {
+        Option opt = ANT_CONVERSION_MAP.get(this.option);
+        return opt == null ? this : new AntOption(opt);
+    }
+
+    /**
+     * Gets the set of options that are mapped to this option.
+     * @return the set of options that are mapped to this option.
+     */
+    public Set<AntOption> convertedFrom() {
+        return ANT_CONVERSION_MAP.entrySet().stream().filter(e -> e.getValue().equals(option))
+                .map(e -> new AntOption(e.getKey()))
+                .collect(Collectors.toSet());
+    }
+
+    @Override
+    public String getText() {
+        return cleanupName(option);
+    }
+
+    @Override
+    public Options getAdditionalOptions() {
+        return ADDITIONAL_OPTIONS;
+    }
+
+    protected String cleanupName(final Option option) {
+        AntOption antOption = new AntOption(option);
+        String fmt = antOption.isAttribute() ? "%s attribute" : "<%s>";
+        return format(fmt, createName(option));
+    }
+
+//    /**
+//     * Get the method comment for this option.
+//     *
+//     * @param addParam if {@code true} the param annotation is added.
+//     * @return the Comment block for the function.
+//     */
+//    public String getComment(final boolean addParam) {
+//        StringBuilder sb = new StringBuilder();
+//        String desc = getDescription();
+//        if (desc == null) {
+//            throw new IllegalStateException(format("Description for %s may not be null", getName()));
+//        }
+//        if (!desc.contains(".")) {
+//            throw new IllegalStateException(format("First sentence of description for %s must end with a '.'", getName()));
+//        }
+//        if (addParam) {
+//            String arg;
+//            if (option.hasArg()) {
+//                arg = desc.substring(desc.indexOf(" ") + 1, desc.indexOf(".") + 1);
+//                arg = WordUtils.capitalize(arg.substring(0, 1)) + arg.substring(1);
+//            } else {
+//                arg = "The state";
+//            }
+//            if (option.getArgName() != null) {
+//                Supplier<String> sup = OptionCollection.getArgumentTypes().get(option.getArgName());
+//                if (sup == null) {
+//                    throw new IllegalStateException(format("Argument type %s must be in OptionCollection.ARGUMENT_TYPES", option.getArgName()));
+//                }
+//                desc = format("%s Argument%s should be %s%s. (See Argument Types for clarification)", desc, option.hasArgs() ? "s" : "",
+//                        option.hasArgs() ? "" : "a ", option.getArgName());
+//            }
+//            sb.append(format("    /**%n     * %s%n     * @param %s %s%n", StringEscapeUtils.escapeHtml4(desc), getName(),
+//                    StringEscapeUtils.escapeHtml4(arg)));
+//        } else {
+//            sb.append(format("    /**%n     * %s%n", StringEscapeUtils.escapeHtml4(desc)));
+//        }
+//        if (option.isDeprecated()) {
+//            sb.append(format("     * @deprecated %s%n", StringEscapeUtils.escapeHtml4(getDeprecated())));
+//        }
+//        return sb.append(format("     */%n")).toString();
+//    }
+//
+//    /**
+//     * Get the signature of the attribute function.
+//     *
+//     * @return the signature of the attribute function.
+//     */
+//    public String getAttributeFunctionName() {
+//        return "set" +
+//                WordUtils.capitalize(name) +
+//                (option.hasArg() ? "(String " : "(boolean ") +
+//                name +
+//                ")";
+//    }
+
+    @Override
+    public String getExample() {
+        return new ExampleGenerator().getExample();
+    }
+
+    /**
+     * A mapping of data type of XML format.
+     */
+    private static class BuildType {
+        /** The argument type associated with their build type */
+        private final OptionCollection.ArgumentType type;
+        /** The configuration tag for this build type */
+        private final String tag;
+
+        /**
+         * The constructor for the build type.
+         * @param type the ArgumentType as specified in the OptionCollection.
+         * @param tag the XML tag for this data type.
+         */
+        BuildType(final OptionCollection.ArgumentType type, final String tag) {
+            this.type = type;
+            this.tag = tag;
+        }
+
+        /**
+         * Returns the format used when multiple arguments are expected by an Ant option.
+         * @param antOption the Ant option to check.
+         * @return the format used for multiple arguments.
+         */
+        protected String getMultipleFormat(final AntOption antOption) {
+            return String.format("<%1$s>%%s</%1$s>%n", tag);
+        }
+
+        /**
+         * Gets the method based on how many arguments an Ant option requires.
+         * @param antOption the Ant option to check.
+         * @return the method format for the option.
+         */
+        protected String getMethodFormat(final AntOption antOption) {
+            return antOption.hasArgs() ? getMultipleFormat(antOption) : String.format("<%1$s>%%s</%1$s>%n", tag);
+        }
+
+        /**
+         * Gets a string comprising the Ant XML pattern for this data type and the number of arguments expected by the Ant option.
+         * @param delegateOption the Ant option that the call is delegated to.
+         * @param antOption the actual ant option.
+         * @param data the data for the actual ant option.
+         * @return the Ant XML pattern for this data type.
+         */
+        public String getPattern(final AntOption delegateOption, final AntOption antOption, final String data) {
+            String fmt = getMethodFormat(antOption);
+            String value = data == null ? WordUtils.uncapitalize(antOption.getArgName()) : data;
+            String inner = format(fmt, value);
+            return format("<%1$s>%2$s</%1$s>%n", delegateOption.getName(), inner);
+        }
+    }
+
+    /**
+     * An example code generator for this AntOption.
+     */
+    public class ExampleGenerator {
+
+        /**
+         * The constructor.
+         */
+        public ExampleGenerator() {
+        }
+
+        /**
+         * Gets an example Ant XML report call using ant option.
+         * @return the example of this ant option.
+         */
+        String getExample() {
+                return getExample("data", REQUIRED_ATTRIBUTES.get(getName()), null);
+        }
+
+        /**
+         * Gets an example Ant XML report call using ant option with the specified attributes and child elements.
+         * @param data The data value for this option.
+         * @param attributes A map of attribute keys and values.
+         * @param childElements a list of child elements for the example
+         * @return example Ant XML report call using ant option with the specified attributes and child elements.
+         */
+        public String getExample(final String data, final Map<String, String> attributes, final List<String> childElements) {
+            if (UNSUPPORTED_SET.contains(option)) {
+                return "-- not supported --";
+            }
+            return "<rat:report" +
+                    getExampleAttributes(data, attributes) +
+                    "> \n" +
+                    getChildElements(data, childElements) +
+                    "</rat:report>\n";
+        }
+
+        /**
+         * Creates a string comprising the attributes for the Ant XML report call.
+         * @param data The data value for this option.
+         * @param attributes A map of attribute keys and values.
+         * @return a string comprising all the attribute keys and values for the Ant XML report element.
+         */
+        public String getExampleAttributes(final String data, final Map<String, String> attributes) {
+            AntOption actualOption = getActualAntOption();
+            StringBuilder result = new StringBuilder();
+            if (attributes != null) {
+                attributes.forEach((k, v) -> result.append(format(" %s=\"%s\"", k, v)));
+            }
+            if (actualOption.isAttribute()) {
+                result.append(format(" %s=\"%s\"", actualOption.getName(), actualOption.hasArg() ? data : "true"));
+            }
+            return result.toString();
+        }
+
+        /**
+         * Creates a string comprising the child elements for the Ant XML report call.
+         * @param data the data for this option.
+         * @param childElements additional child elements.
+         * @return A string comprising the child elements for the Ant XML report call.
+         */
+        public String getChildElements(final String data, final List<String> childElements) {
+            AntOption baseOption = AntOption.this;
+            AntOption actualOption = getActualAntOption();
+            StringBuilder result = new StringBuilder();
+            if (!actualOption.isAttribute()) {
+                String inner = BUILD_TYPE_MAP.get(getArgType()).getPattern(actualOption, baseOption, data);
+                result.append(inner);
+            }
+            if (childElements != null) {
+                childElements.forEach(x -> result.append(x).append("\n"));
+            }
+            return result.toString();
+        }
+    }
+}
diff --git a/apache-rat-ant-parent/tools/src/main/java/org/apache/rat/ant/ArgMethodMapping.java b/apache-rat-ant-parent/tools/src/main/java/org/apache/rat/ant/ArgMethodMapping.java
new file mode 100644
index 00000000..9ec0e2eb
--- /dev/null
+++ b/apache-rat-ant-parent/tools/src/main/java/org/apache/rat/ant/ArgMethodMapping.java
@@ -0,0 +1,59 @@
+package org.apache.rat.ant;
+
+import org.apache.velocity.Template;
+import org.apache.velocity.VelocityContext;
+import org.apache.velocity.app.VelocityEngine;
+
+/**
+ * Maps Options to their data processing templates.
+ */
+public final class ArgMethodMapping {
+    /** The template for FileSet processing */
+    private final Template fileSetTemplate;
+    /** The template for Text processing */
+    private final Template textValueTemplate;
+    /** The default template */
+    private final Template defaultTemplate;
+
+    ArgMethodMapping(final String templatePath, final VelocityEngine velocityEngine) {
+        fileSetTemplate = velocityEngine.getTemplate(templatePath + "/fileSetTemplate.vm");
+        textValueTemplate = velocityEngine.getTemplate(templatePath + "/textValueTemplate.vm");
+        defaultTemplate = velocityEngine.getTemplate(templatePath + "/defaultTypeTemplate.vm");
+    }
+
+    /**
+     * Gets the template for the option and updates the context to contain any special options.
+     * @param antOption the Option to get the template for.
+     * @param context the context to update.
+     * @return the template of @{code null} if there is no template.
+     */
+    Template getTemplate(final AntOption antOption, final VelocityContext context) {
+        if (antOption.hasArg()) {
+            switch (antOption.getArgType()) {
+                case FILE:
+                case DIRORARCHIVE:
+                    context.put("argType", "FileSet");
+                    context.put("argName", "fileSet");
+                    return fileSetTemplate;
+                case NONE:
+                    return null;
+                case STANDARDCOLLECTION:
+                    context.put("argType", "Std");
+                    return textValueTemplate;
+                case EXPRESSION:
+                    context.put("argType", "Expr");
+                    return textValueTemplate;
+                case COUNTERPATTERN:
+                    context.put("argType", "Cntr");
+                    return textValueTemplate;
+                case LICENSEID:
+                case FAMILYID:
+                    context.put("argType", "Lst");
+                    return textValueTemplate;
+                default:
+                    return defaultTemplate;
+            }
+        }
+        return null;
+    }
+}
diff --git a/apache-rat-ant-parent/tools/src/main/java/org/apache/rat/ant/CodeGenerator.java b/apache-rat-ant-parent/tools/src/main/java/org/apache/rat/ant/CodeGenerator.java
new file mode 100644
index 00000000..0b4161e8
--- /dev/null
+++ b/apache-rat-ant-parent/tools/src/main/java/org/apache/rat/ant/CodeGenerator.java
@@ -0,0 +1,203 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.rat.ant;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.StringWriter;
+import java.lang.reflect.InvocationTargetException;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.Path;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Locale;
+import java.util.Set;
+
+import org.apache.commons.text.WordUtils;
+import org.apache.rat.testhelpers.FileUtils;
+import org.apache.rat.ui.AbstractCodeGenerator;
+import org.apache.rat.ui.OptionFactory;
+import org.apache.rat.utils.CasedString;
+import org.apache.velocity.Template;
+import org.apache.velocity.VelocityContext;
+
+/**
+ * A simple tool to convert CLI options into an Ant report base class.
+ */
+public final class CodeGenerator extends AbstractCodeGenerator<AntOption> {
+    /** The xml version of the license text */
+    private static final String XML_LICENSE_TEXT = """
+ <!--
+ Licensed to the Apache Software Foundation (ASF) under one   *
+ or more contributor license agreements.  See the NOTICE file *
+ distributed with this work for additional information        *
+ regarding copyright ownership.  The ASF licenses this file   *
+ to you under the Apache License, Version 2.0 (the            *
+ "License"); you may not use this file except in compliance   *
+ with the License.  You may obtain a copy of the License at   *
+                                                              *
+   http://www.apache.org/licenses/LICENSE-2.0                 *
+                                                              *
+ Unless required by applicable law or agreed to in writing,   *
+ software distributed under the License is distributed on an  *
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ KIND, either express or implied.  See the License for the    *
+ specific language governing permissions and limitations      *
+ under the License.                                           *
+-->
+""";
+    /** The Syntax for this command */
+    private static final String SYNTAX = String.format("java -cp ... %s [options]", CodeGenerator.class.getName());
+    /** The package name for this AbstractMaven file */
+    private final CasedString packageName = new CasedString(CasedString.StringCase.DOT, "org.apache.rat.ant");
+
+    /** The template for the method */
+    private final Template elementTemplate;
+    /** The template for the class */
+    private final Template javaTemplate;
+    /** The template for attribute types */
+    private final Template attributeTemplate;
+    /** The template for element classes */
+    private final Template elementClassTemplate;
+    /** The argument template mapping */
+    private final ArgMethodMapping argMethodMapping;
+
+    private CodeGenerator(final String baseDirectory) {
+        super(baseDirectory);
+
+        // retrieve the templates
+        final String[] nameParts = CasedString.StringCase.DOT.getSegments(CodeGenerator.class.getName());
+        final String templatePath = CasedString.StringCase.SLASH.assemble(nameParts);
+        elementTemplate = velocityEngine.getTemplate(templatePath + "/ElementMethod.vm");
+        javaTemplate = velocityEngine.getTemplate(templatePath + "/AbstractAnt.vm");
+        elementClassTemplate = velocityEngine.getTemplate(templatePath + "/AntElementClass.vm");
+        attributeTemplate = velocityEngine.getTemplate(templatePath + "/AttributeMethod.vm");
+        argMethodMapping = new ArgMethodMapping(templatePath, velocityEngine);
+    }
+
+
+    /**
+     * Executable entry point.
+     * @param args the arguments for the executable
+     * @throws IOException on IO error.
+     */
+    public static void main(final String[] args) throws IOException, NoSuchMethodException,
+            InvocationTargetException, InstantiationException, IllegalAccessException {
+        AbstractCodeGenerator.processArgs(SYNTAX, CodeGenerator::new, args);
+    }
+
+    private String gatherTypes() {
+        return "// types go here";
+    }
+    /**
+     * Executes the code generation.
+     * @throws IOException on IO error
+     */
+    protected void execute() throws IOException {
+        final String taskdefLine = "  <taskdef name='%s' classname='%s'/>";
+        final VelocityContext context = new VelocityContext();
+        context.put("methods", gatherMethods());
+
+        File javaFile = Path.of(baseDirectory).resolve(packageName.toCase(CasedString.StringCase.SLASH))
+                .resolve("AntReport.java").toFile();
+        FileUtils.mkDir(javaFile.getParentFile());
+        try (FileWriter fileWriter = new FileWriter(javaFile, StandardCharsets.UTF_8)) {
+            javaTemplate.merge(context, fileWriter);
+        }
+
+        File antlibFile = Path.of(baseDirectory).resolve("../resources")
+                .resolve(packageName.toCase(CasedString.StringCase.SLASH))
+                .resolve("antlib.xml").toFile();
+        FileUtils.mkDir(antlibFile.getParentFile());
+        try (FileWriter writer = new FileWriter(antlibFile, StandardCharsets.UTF_8)) {
+             writer.append("<?xml version='1.0'?>\n")
+            .append(XML_LICENSE_TEXT).append("<antlib>\n")
+                     .append(String.format(taskdefLine, "report", packageName.toString()))
+                     .append("\n");
+            for (String subclass : new String[]{"Std", "Expr", "Cntr"}) {
+                writer.append(String.format(taskdefLine, subclass.toLowerCase(Locale.ROOT),
+                        packageName.toString() + "AbstractAndReport$" + subclass))
+                        .append("\n");
+            }
+            writer.append("</antlib>\n");
+        }
+    }
+
+    @Override
+    public String createMethodName(final AntOption antOption) {
+        String name = WordUtils.capitalize(antOption.getName());
+        return (antOption.isAttribute() ? "void set" : name + " create") + name;
+    }
+
+
+    /**
+     * Gathers all method definitions into a single string.
+     * @return the definition of all the methods.
+     */
+    protected String gatherMethods() {
+        final VelocityContext context = new VelocityContext();
+        final StringWriter methodWriter = new StringWriter();
+        List<AntOption> optionsToProcess = OptionFactory.getOptions(AntOption.FACTORY_CONFIG)
+                .filter(AntOption.UNMAPPED_ANTOPTION_FILTER).toList();
+        for (AntOption antOption : optionsToProcess) {
+            context.put("option", antOption);
+            String desc = createDesc(antOption);
+            context.put("desc", desc);
+            context.put("argDesc", createArgDesc(antOption, desc));
+            String methodName = WordUtils.capitalize(antOption.getName());
+            context.put("methodName", methodName);
+            String argumentType = antOption.isAttribute() ?
+                    (antOption.hasArg() ? "String" : "boolean") :
+                    (antOption.hasArg() ? antOption.getArgName() : "");
+            context.put("argType", argumentType);
+            if (antOption.isAttribute()) {
+                attributeTemplate.merge(context, methodWriter);
+            } else {
+                List<String> elementClasses = new ArrayList<>();
+                elementClasses.add(getElementClass(antOption, context));
+                for (AntOption childOption : antOption.convertedFrom()) {
+                    elementClasses.add(getElementClass(childOption, context));
+                }
+                context.put("elementClass", String.join("\n", elementClasses));
+                elementTemplate.merge(context, methodWriter);
+            }
+        }
+        return methodWriter.toString();
+    }
+
+    private String getElementClass(final AntOption option, final VelocityContext innerContext) {
+        final VelocityContext context = new VelocityContext(innerContext);
+        context.put("className", WordUtils.capitalize(option.getName()));
+        StringWriter stringWriter = new StringWriter();
+        elementClassTemplate.merge(context, stringWriter);
+        Set<AntOption> options = option.convertedFrom();
+        options.add(option);
+        for (AntOption childOption : options) {
+            context.put("argName", WordUtils.uncapitalize(childOption.getArgName()));
+            context.put("argType", childOption.getArgName());
+            final Template innerTemplate = argMethodMapping.getTemplate(childOption, context);
+            if (innerTemplate != null) {
+                innerTemplate.merge(context, stringWriter);
+            }
+        }
+        stringWriter.append("    }");
+        return stringWriter.toString();
+    }
+}
diff --git a/apache-rat-plugin-parent/tools/src/main/java/org/apache/rat/maven/package-info.java b/apache-rat-ant-parent/tools/src/main/java/org/apache/rat/ant/package-info.java
similarity index 93%
copy from apache-rat-plugin-parent/tools/src/main/java/org/apache/rat/maven/package-info.java
copy to apache-rat-ant-parent/tools/src/main/java/org/apache/rat/ant/package-info.java
index 6be482b3..f6080967 100644
--- a/apache-rat-plugin-parent/tools/src/main/java/org/apache/rat/maven/package-info.java
+++ b/apache-rat-ant-parent/tools/src/main/java/org/apache/rat/ant/package-info.java
@@ -17,6 +17,6 @@
  * under the License.
  */
 /**
- * RAT Maven plugin tools.
+ * The package for the Ant UI
  */
-package org.apache.rat.maven;
+package org.apache.rat.ant;
diff --git a/apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/AbstractAnt.vm b/apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/AbstractAnt.vm
new file mode 100644
index 00000000..b7fa9c99
--- /dev/null
+++ b/apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/AbstractAnt.vm
@@ -0,0 +1,43 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*   http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied.  See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*/
+
+package org.apache.rat.ant;
+
+import org.apache.tools.ant.types.FileSet;
+import org.apache.tools.ant.types.Resource;
+import org.apache.tools.ant.types.resources.FileResource;
+
+/**
+* Generated class to provide Ant support for standard RAT command line options.
+* DO NOT EDIT - GENERATED FILE
+*/
+public final class AntReport extends AbstractAntReport {
+
+    /**
+     * Constructor.
+     */
+    public AntReport() {
+        super();
+    }
+
+    /*  GENERATED METHODS */
+
+${methods}
+
+}
diff --git a/apache-rat-plugin-parent/tools/src/main/java/org/apache/rat/maven/package-info.java b/apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/AntElementClass.vm
similarity index 86%
copy from apache-rat-plugin-parent/tools/src/main/java/org/apache/rat/maven/package-info.java
copy to apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/AntElementClass.vm
index 6be482b3..8493b058 100644
--- a/apache-rat-plugin-parent/tools/src/main/java/org/apache/rat/maven/package-info.java
+++ b/apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/AntElementClass.vm
@@ -1,4 +1,4 @@
-/*
+#*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
@@ -15,8 +15,9 @@
  * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
  * under the License.
- */
-/**
- * RAT Maven plugin tools.
- */
-package org.apache.rat.maven;
+ *#
+    /**
+     * Handles ${className} processing.
+     */
+    public class ${className} {
+        ${className}() {}
diff --git a/apache-rat-plugin-parent/tools/src/main/java/org/apache/rat/maven/package-info.java b/apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/AntTypeClass.vm
similarity index 91%
copy from apache-rat-plugin-parent/tools/src/main/java/org/apache/rat/maven/package-info.java
copy to apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/AntTypeClass.vm
index 6be482b3..2f3b6a58 100644
--- a/apache-rat-plugin-parent/tools/src/main/java/org/apache/rat/maven/package-info.java
+++ b/apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/AntTypeClass.vm
@@ -1,4 +1,4 @@
-/*
+#*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
@@ -15,8 +15,7 @@
  * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
  * under the License.
- */
-/**
- * RAT Maven plugin tools.
- */
-package org.apache.rat.maven;
+ *#
+
+public class {$className} {
+%1$s() { }
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/AbstractMavenFunc.vm b/apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/AttributeMethod.vm
similarity index 86%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/AbstractMavenFunc.vm
copy to apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/AttributeMethod.vm
index 0ff12218..7cbdcaf4 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/AbstractMavenFunc.vm
+++ b/apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/AttributeMethod.vm
@@ -26,14 +26,9 @@
 #if (${option.isDeprecated})
     @Deprecated
 #end
-    ${parameterAnnotation}
-    public void set${fname}(final ${args} ${option.getName}) {
+    public void set${methodName}(final ${argType} ${option.getName}) {
 #if (${option.hasArg})
-  #if (${option.hasArgs})
-        argumentTracker.addArg("${option.keyValue}", ${option.getName});
-  #else
         argumentTracker.setArg("${option.keyValue}", ${option.getName});
-  #end
 #else
         if (${option.getName}) {
             argumentTracker.setArg("${option.keyValue}", null);
diff --git a/apache-rat-plugin-parent/tools/src/main/java/org/apache/rat/maven/package-info.java b/apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/ElementMethod.vm
similarity index 74%
copy from apache-rat-plugin-parent/tools/src/main/java/org/apache/rat/maven/package-info.java
copy to apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/ElementMethod.vm
index 6be482b3..3669bd88 100644
--- a/apache-rat-plugin-parent/tools/src/main/java/org/apache/rat/maven/package-info.java
+++ b/apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/ElementMethod.vm
@@ -1,4 +1,4 @@
-/*
+#*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
@@ -15,8 +15,17 @@
  * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
  * under the License.
- */
-/**
- * RAT Maven plugin tools.
- */
-package org.apache.rat.maven;
+ *#
+    /**
+     * ${desc}
+#if (${option.isDeprecated})
+     * @deprecated ${option.getDeprecated}
+#end
+     */
+#if (${option.isDeprecated})
+    @Deprecated
+#end
+    public ${methodName} create${methodName}() {
+        return new ${methodName}();
+    }
+${elementClass}
diff --git a/apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/defaultTypeTemplate.vm b/apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/defaultTypeTemplate.vm
new file mode 100644
index 00000000..88312c9a
--- /dev/null
+++ b/apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/defaultTypeTemplate.vm
@@ -0,0 +1,7 @@
+        /**
+         * Sets the ${argName} (${option.keyValue}).
+         * @param ${argName} The ${argName} value.
+         */
+        public void add${argType}(String ${argName}) {
+            addArg("${option.keyValue}", ${argName});
+        }
diff --git a/apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/fileSetTemplate.vm b/apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/fileSetTemplate.vm
new file mode 100644
index 00000000..6a1d417c
--- /dev/null
+++ b/apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/fileSetTemplate.vm
@@ -0,0 +1,11 @@
+        /**
+         * Adds a configured ${argType} to the ${option.keyValue}.
+         * @param ${argName} The ${argName} to add to ${option.keyValue}.
+         */
+        public void addConfigured${argType}(${argType} ${argName}) {
+            for (Resource resource : ${argName}) {
+                if (resource.isFilesystemOnly()) {
+                    argumentTracker.addArg("${option.keyValue}", ((FileResource) resource).getFile().getAbsolutePath());
+                }
+            }
+        }
diff --git a/apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/textValueTemplate.vm b/apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/textValueTemplate.vm
new file mode 100644
index 00000000..fb7d7176
--- /dev/null
+++ b/apache-rat-ant-parent/tools/src/main/resources/org/apache/rat/ant/CodeGenerator/textValueTemplate.vm
@@ -0,0 +1,7 @@
+        /**
+         * Adds the ${argName} {@link AbstractAntReport.${argType}} to ${option.keyValue}.
+         * @param ${argName} The ${argType} to add to ${option.keyValue}.
+         */
+        public void addConfigured${argType}(${argType} ${argName}) {
+            argumentTracker.addArg("${option.keyValue}", ${argName}.toString());
+        }
diff --git a/apache-rat-core/pom.xml b/apache-rat-core/pom.xml
index b6390ccc..2b415f0d 100644
--- a/apache-rat-core/pom.xml
+++ b/apache-rat-core/pom.xml
@@ -38,31 +38,27 @@
                 <directory>src/main/filtered-resources</directory>
             </resource>
         </resources>
-        <pluginManagement>
-            <plugins>
-                <plugin>
-                    <groupId>org.apache.rat</groupId>
-                    <artifactId>apache-rat-plugin</artifactId>
-                    <configuration>
-                        <inputExcludes>
-                            <!-- exclude the definition file(s) -->
-                            <exclude>**/default.xml</exclude>
-                            <exclude>**/example-configuration.xml</exclude>
-                            <!-- exclude test generation files that contain unapproved license text -->
-                            <exclude>**/ReporterOptionsProvider.java</exclude>
-                            <exclude>**/GPLLicenseTest.java</exclude>
-                            <exclude>/src/test/resources/GitIgnoreBuilderTest/**</exclude>
-                            <exclude>/src/test/resources/exampleData/**</exclude>
-                            <excldue>/src/test/resources/jira/RAT147/**</excldue>
-                            <exclude>/src/test/resources/org/apache/rat/MatcherContainerResource.txt</exclude>
-                            <exclude>/src/test/resources/tikaFiles/**</exclude>
-                            <exclude>/src/test/resources/violations/**</exclude>
-                        </inputExcludes>
-                    </configuration>
-                </plugin>
-            </plugins>
-        </pluginManagement>
         <plugins>
+            <plugin>
+                <groupId>org.apache.rat</groupId>
+                <artifactId>apache-rat-plugin</artifactId>
+                <configuration>
+                    <inputExcludes>
+                        <!-- exclude the definition file(s) -->
+                        <exclude>**/default.xml</exclude>
+                        <exclude>**/example-configuration.xml</exclude>
+                        <!-- exclude test generation files that contain unapproved license text -->
+                        <exclude>**/ReporterOptionsProvider.java</exclude>
+                        <exclude>**/GPLLicenseTest.java</exclude>
+                        <exclude>/src/test/resources/GitIgnoreBuilderTest/**</exclude>
+                        <exclude>/src/test/resources/exampleData/**</exclude>
+                        <excldue>/src/test/resources/jira/RAT147/**</excldue>
+                        <exclude>/src/test/resources/org/apache/rat/MatcherContainerResource.txt</exclude>
+                        <exclude>/src/test/resources/tikaFiles/**</exclude>
+                        <exclude>/src/test/resources/violations/**</exclude>
+                    </inputExcludes>
+                </configuration>
+            </plugin>
             <plugin>
                 <artifactId>maven-clean-plugin</artifactId>
                 <executions>
diff --git a/apache-rat-core/src/main/java/org/apache/rat/ui/AbstractCodeGenerator.java b/apache-rat-core/src/main/java/org/apache/rat/ui/AbstractCodeGenerator.java
new file mode 100644
index 00000000..55953b69
--- /dev/null
+++ b/apache-rat-core/src/main/java/org/apache/rat/ui/AbstractCodeGenerator.java
@@ -0,0 +1,151 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.rat.ui;
+
+import java.io.IOException;
+import java.util.function.Function;
+
+import org.apache.commons.cli.CommandLine;
+import org.apache.commons.cli.DefaultParser;
+import org.apache.commons.cli.HelpFormatter;
+import org.apache.commons.cli.Option;
+import org.apache.commons.cli.Options;
+import org.apache.commons.cli.ParseException;
+import org.apache.commons.text.WordUtils;
+import org.apache.rat.DeprecationReporter;
+import org.apache.velocity.app.VelocityEngine;
+import org.apache.velocity.runtime.RuntimeConstants;
+
+import static java.lang.String.format;
+import static org.apache.rat.OptionCollection.ArgumentType.NONE;
+
+/**
+ * Generates the ${code org.apache.rat.maven.AbstractMaven} source code.
+ * @param <T> The concrete implementation of the AbstractOption.
+ */
+public abstract class AbstractCodeGenerator<T extends AbstractOption<?>> {
+    /** The base source directory */
+    protected final String baseDirectory;
+    /** the velocity engine to generate files with */
+    protected final VelocityEngine velocityEngine;
+    /**
+     * private constructor.
+     * @param baseDirectory The base source directory.
+     */
+    protected AbstractCodeGenerator(final String baseDirectory) {
+        this.baseDirectory = baseDirectory;
+        velocityEngine = new VelocityEngine();
+        velocityEngine.setProperty(RuntimeConstants.RESOURCE_LOADER, "classpath");
+        velocityEngine.setProperty("classpath.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
+        velocityEngine.init();
+    }
+
+    /**
+     * Gets the options for the command line.
+     * @return the command line options.
+     */
+    private static Options getOptions() {
+        return new Options()
+                .addOption(Option.builder("h").longOpt("help").desc("Print this message").build())
+                .addOption(Option.builder("p").longOpt("path").required().hasArg().desc("The path to the base of the generated java code directory").build());
+    }
+
+
+    /**
+     * Executable entry point.
+     * @param args the arguments for the executable
+     * @throws IOException on IO error.
+     */
+    protected static void processArgs(final String syntax,
+                                   final Function<String, AbstractCodeGenerator<?>> instance,
+                                   final String[] args)
+            throws IOException {
+        CommandLine commandLine = null;
+        try {
+            commandLine = DefaultParser.builder().setDeprecatedHandler(DeprecationReporter.getLogReporter())
+                    .build().parse(getOptions(), args);
+        } catch (ParseException pe) {
+            HelpFormatter formatter = new HelpFormatter();
+            formatter.printHelp(syntax, pe.getMessage(), getOptions(), "");
+            System.exit(1);
+        }
+
+        if (commandLine.hasOption("h")) {
+            HelpFormatter formatter = new HelpFormatter();
+            formatter.printHelp(syntax, getOptions());
+            System.exit(0);
+        }
+        AbstractCodeGenerator<?> codeGenerator = instance.apply(commandLine.getOptionValue("p"));
+        codeGenerator.execute();
+    }
+
+    /**
+     * Executes the code generation.
+     * @throws IOException on IO error
+     */
+    protected abstract void execute() throws IOException;
+
+    /**
+     * Creates the description for a method.
+     * @param abstractOption the option generating the method.
+     * @return the description for the method in {@code AbstractMaven.java}.
+     */
+    protected final String createDesc(final T abstractOption) {
+        String desc = abstractOption.getDescription();
+        if (desc == null) {
+            throw new IllegalStateException(format("Description for %s may not be null", abstractOption.getName()));
+        }
+        if (!desc.contains(".")) {
+            throw new IllegalStateException(format("First sentence of description for %s must end with a '.'", abstractOption.getName()));
+        }
+        if (abstractOption.getArgType() != NONE) {
+            desc = format("%s Argument%s should be %s%s. (See Argument Types for clarification)", desc, abstractOption.hasArgs() ? "s" : "",
+                    abstractOption.hasArgs() ? "" : "a ", abstractOption.getArgName());
+        }
+        return desc;
+    }
+
+    /**
+     * Gets the argument description for the method returned from ${link createMethodName}.
+     * @param abstractOption the maven option generating the method.
+     * @param desc the description of the argument.
+     * @return the argument description for the method in {@code AbstractMaven.java}.
+     */
+    protected String createArgDesc(final T abstractOption, final String desc) {
+        if (abstractOption.hasArg()) {
+            String argDesc = desc.substring(desc.indexOf(" ") + 1, desc.indexOf(".") + 1);
+            return WordUtils.capitalize(argDesc.substring(0, 1)) + argDesc.substring(1);
+        } else {
+            return "The state";
+        }
+    }
+
+    /**
+     * Gets method name for the option.
+     * @param abstractOption the maven option generating the method.
+     * @return the method name description for the method in {@code AbstractMaven.java}.
+     */
+    protected abstract String createMethodName(T abstractOption);
+
+    /**
+     * Gathers all method definitions into a single string.
+     * @return the definition of all the methods.
+     */
+    protected abstract String gatherMethods();
+}
diff --git a/apache-rat-core/src/main/java/org/apache/rat/ui/AbstractOption.java b/apache-rat-core/src/main/java/org/apache/rat/ui/AbstractOption.java
index 8a5bc9c2..9a53a76b 100644
--- a/apache-rat-core/src/main/java/org/apache/rat/ui/AbstractOption.java
+++ b/apache-rat-core/src/main/java/org/apache/rat/ui/AbstractOption.java
@@ -86,7 +86,7 @@ public abstract class AbstractOption<T extends AbstractOption<T>> {
      * Gets the option this abstract option is wrapping.
      * @return the original Option.
      */
-    public Option getOption() {
+    public final Option getOption() {
         return option;
     }
 
@@ -112,14 +112,6 @@ public abstract class AbstractOption<T extends AbstractOption<T>> {
      */
     public abstract String getExample();
 
-    /**
-     * Gets this option's cleaned up name.
-     * @return This option's cleaned up name.
-     */
-    public String cleanupName() {
-        return cleanupName(option);
-    }
-
     /**
      * Replaces CLI pattern options with implementation specific pattern options.
      * @param str the string to clean.
diff --git a/apache-rat-plugin-parent/impl/pom.xml b/apache-rat-maven-parent/impl/pom.xml
similarity index 99%
rename from apache-rat-plugin-parent/impl/pom.xml
rename to apache-rat-maven-parent/impl/pom.xml
index fff77c59..e2bb5d9d 100644
--- a/apache-rat-plugin-parent/impl/pom.xml
+++ b/apache-rat-maven-parent/impl/pom.xml
@@ -18,7 +18,7 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <artifactId>apache-rat-plugin-parent</artifactId>
+    <artifactId>apache-rat-maven-parent</artifactId>
     <groupId>org.apache.rat</groupId>
     <version>1.0.0-SNAPSHOT</version>
   </parent>
diff --git a/apache-rat-plugin-parent/impl/src/it/CustomLicense/.rat/customConfig.xml b/apache-rat-maven-parent/impl/src/it/CustomLicense/.rat/customConfig.xml
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/it/CustomLicense/.rat/customConfig.xml
rename to apache-rat-maven-parent/impl/src/it/CustomLicense/.rat/customConfig.xml
diff --git a/apache-rat-plugin-parent/impl/src/it/CustomLicense/invoker.properties b/apache-rat-maven-parent/impl/src/it/CustomLicense/invoker.properties
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/it/CustomLicense/invoker.properties
rename to apache-rat-maven-parent/impl/src/it/CustomLicense/invoker.properties
diff --git a/apache-rat-plugin-parent/impl/src/it/CustomLicense/pom.xml b/apache-rat-maven-parent/impl/src/it/CustomLicense/pom.xml
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/it/CustomLicense/pom.xml
rename to apache-rat-maven-parent/impl/src/it/CustomLicense/pom.xml
diff --git a/apache-rat-plugin-parent/impl/src/it/CustomLicense/src/main/java/nl/basjes/something/Something.java b/apache-rat-maven-parent/impl/src/it/CustomLicense/src/main/java/nl/basjes/something/Something.java
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/it/CustomLicense/src/main/java/nl/basjes/something/Something.java
rename to apache-rat-maven-parent/impl/src/it/CustomLicense/src/main/java/nl/basjes/something/Something.java
diff --git a/apache-rat-plugin-parent/impl/src/it/RAT-107/.idea/dummy b/apache-rat-maven-parent/impl/src/it/RAT-107/.idea/dummy
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/it/RAT-107/.idea/dummy
rename to apache-rat-maven-parent/impl/src/it/RAT-107/.idea/dummy
diff --git a/apache-rat-plugin-parent/impl/src/it/RAT-107/covertura.ser b/apache-rat-maven-parent/impl/src/it/RAT-107/covertura.ser
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/it/RAT-107/covertura.ser
rename to apache-rat-maven-parent/impl/src/it/RAT-107/covertura.ser
diff --git a/apache-rat-plugin-parent/impl/src/it/RAT-107/pom.xml b/apache-rat-maven-parent/impl/src/it/RAT-107/pom.xml
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/it/RAT-107/pom.xml
rename to apache-rat-maven-parent/impl/src/it/RAT-107/pom.xml
diff --git a/apache-rat-plugin-parent/impl/src/it/RAT-107/release.properties b/apache-rat-maven-parent/impl/src/it/RAT-107/release.properties
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/it/RAT-107/release.properties
rename to apache-rat-maven-parent/impl/src/it/RAT-107/release.properties
diff --git a/apache-rat-plugin-parent/impl/src/it/RAT-107/submodule/.idea/dummy b/apache-rat-maven-parent/impl/src/it/RAT-107/submodule/.idea/dummy
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/it/RAT-107/submodule/.idea/dummy
rename to apache-rat-maven-parent/impl/src/it/RAT-107/submodule/.idea/dummy
diff --git a/apache-rat-plugin-parent/impl/src/it/RAT-107/submodule/covertura.ser b/apache-rat-maven-parent/impl/src/it/RAT-107/submodule/covertura.ser
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/it/RAT-107/submodule/covertura.ser
rename to apache-rat-maven-parent/impl/src/it/RAT-107/submodule/covertura.ser
diff --git a/apache-rat-plugin-parent/impl/src/it/RAT-107/submodule/pom.xml b/apache-rat-maven-parent/impl/src/it/RAT-107/submodule/pom.xml
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/it/RAT-107/submodule/pom.xml
rename to apache-rat-maven-parent/impl/src/it/RAT-107/submodule/pom.xml
diff --git a/apache-rat-plugin-parent/impl/src/it/RAT-107/submodule/release.properties b/apache-rat-maven-parent/impl/src/it/RAT-107/submodule/release.properties
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/it/RAT-107/submodule/release.properties
rename to apache-rat-maven-parent/impl/src/it/RAT-107/submodule/release.properties
diff --git a/apache-rat-plugin-parent/impl/src/it/RAT-168/invoker.properties b/apache-rat-maven-parent/impl/src/it/RAT-168/invoker.properties
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/it/RAT-168/invoker.properties
rename to apache-rat-maven-parent/impl/src/it/RAT-168/invoker.properties
diff --git a/apache-rat-plugin-parent/impl/src/it/RAT-168/pom.xml b/apache-rat-maven-parent/impl/src/it/RAT-168/pom.xml
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/it/RAT-168/pom.xml
rename to apache-rat-maven-parent/impl/src/it/RAT-168/pom.xml
diff --git a/apache-rat-plugin-parent/impl/src/it/RAT-168/verify.groovy b/apache-rat-maven-parent/impl/src/it/RAT-168/verify.groovy
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/it/RAT-168/verify.groovy
rename to apache-rat-maven-parent/impl/src/it/RAT-168/verify.groovy
diff --git a/apache-rat-plugin-parent/impl/src/it/RAT-268/invoker.properties b/apache-rat-maven-parent/impl/src/it/RAT-268/invoker.properties
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/it/RAT-268/invoker.properties
rename to apache-rat-maven-parent/impl/src/it/RAT-268/invoker.properties
diff --git a/apache-rat-plugin-parent/impl/src/it/RAT-268/module1/pom.xml b/apache-rat-maven-parent/impl/src/it/RAT-268/module1/pom.xml
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/it/RAT-268/module1/pom.xml
rename to apache-rat-maven-parent/impl/src/it/RAT-268/module1/pom.xml
diff --git a/apache-rat-plugin-parent/impl/src/it/RAT-268/module1/src.apt b/apache-rat-maven-parent/impl/src/it/RAT-268/module1/src.apt
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/it/RAT-268/module1/src.apt
rename to apache-rat-maven-parent/impl/src/it/RAT-268/module1/src.apt
diff --git a/apache-rat-plugin-parent/impl/src/it/RAT-268/module2/module2.pom b/apache-rat-maven-parent/impl/src/it/RAT-268/module2/module2.pom
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/it/RAT-268/module2/module2.pom
rename to apache-rat-maven-parent/impl/src/it/RAT-268/module2/module2.pom
diff --git a/apache-rat-plugin-parent/impl/src/it/RAT-268/module2/src.apt b/apache-rat-maven-parent/impl/src/it/RAT-268/module2/src.apt
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/it/RAT-268/module2/src.apt
rename to apache-rat-maven-parent/impl/src/it/RAT-268/module2/src.apt
diff --git a/apache-rat-plugin-parent/impl/src/it/RAT-268/module3/pom.xml b/apache-rat-maven-parent/impl/src/it/RAT-268/module3/pom.xml
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/it/RAT-268/module3/pom.xml
rename to apache-rat-maven-parent/impl/src/it/RAT-268/module3/pom.xml
diff --git a/apache-rat-plugin-parent/impl/src/it/RAT-268/module3/src.apt b/apache-rat-maven-parent/impl/src/it/RAT-268/module3/src.apt
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/it/RAT-268/module3/src.apt
rename to apache-rat-maven-parent/impl/src/it/RAT-268/module3/src.apt
diff --git a/apache-rat-plugin-parent/impl/src/it/RAT-268/pom.xml b/apache-rat-maven-parent/impl/src/it/RAT-268/pom.xml
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/it/RAT-268/pom.xml
rename to apache-rat-maven-parent/impl/src/it/RAT-268/pom.xml
diff --git a/apache-rat-plugin-parent/impl/src/it/RAT-314/.mvn/maven.config b/apache-rat-maven-parent/impl/src/it/RAT-314/.mvn/maven.config
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/it/RAT-314/.mvn/maven.config
rename to apache-rat-maven-parent/impl/src/it/RAT-314/.mvn/maven.config
diff --git a/apache-rat-plugin-parent/impl/src/it/RAT-314/.mvn/recursive/foo.xml b/apache-rat-maven-parent/impl/src/it/RAT-314/.mvn/recursive/foo.xml
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/it/RAT-314/.mvn/recursive/foo.xml
rename to apache-rat-maven-parent/impl/src/it/RAT-314/.mvn/recursive/foo.xml
diff --git a/apache-rat-plugin-parent/impl/src/it/RAT-314/invoker.properties b/apache-rat-maven-parent/impl/src/it/RAT-314/invoker.properties
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/it/RAT-314/invoker.properties
rename to apache-rat-maven-parent/impl/src/it/RAT-314/invoker.properties
diff --git a/apache-rat-plugin-parent/impl/src/it/RAT-314/pom.xml b/apache-rat-maven-parent/impl/src/it/RAT-314/pom.xml
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/it/RAT-314/pom.xml
rename to apache-rat-maven-parent/impl/src/it/RAT-314/pom.xml
diff --git a/apache-rat-plugin-parent/impl/src/it/RAT-314/verify.groovy b/apache-rat-maven-parent/impl/src/it/RAT-314/verify.groovy
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/it/RAT-314/verify.groovy
rename to apache-rat-maven-parent/impl/src/it/RAT-314/verify.groovy
diff --git a/apache-rat-plugin-parent/impl/src/it/RAT-469-default/invoker.properties b/apache-rat-maven-parent/impl/src/it/RAT-469-default/invoker.properties
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/it/RAT-469-default/invoker.properties
rename to apache-rat-maven-parent/impl/src/it/RAT-469-default/invoker.properties
diff --git a/apache-rat-plugin-parent/impl/src/it/RAT-469-default/pom.xml b/apache-rat-maven-parent/impl/src/it/RAT-469-default/pom.xml
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/it/RAT-469-default/pom.xml
rename to apache-rat-maven-parent/impl/src/it/RAT-469-default/pom.xml
diff --git a/apache-rat-plugin-parent/impl/src/it/RAT-469-default/verify.groovy b/apache-rat-maven-parent/impl/src/it/RAT-469-default/verify.groovy
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/it/RAT-469-default/verify.groovy
rename to apache-rat-maven-parent/impl/src/it/RAT-469-default/verify.groovy
diff --git a/apache-rat-plugin-parent/impl/src/it/RAT-469/invoker.properties b/apache-rat-maven-parent/impl/src/it/RAT-469/invoker.properties
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/it/RAT-469/invoker.properties
rename to apache-rat-maven-parent/impl/src/it/RAT-469/invoker.properties
diff --git a/apache-rat-plugin-parent/impl/src/it/RAT-469/pom.xml b/apache-rat-maven-parent/impl/src/it/RAT-469/pom.xml
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/it/RAT-469/pom.xml
rename to apache-rat-maven-parent/impl/src/it/RAT-469/pom.xml
diff --git a/apache-rat-plugin-parent/impl/src/it/RAT-469/verify.groovy b/apache-rat-maven-parent/impl/src/it/RAT-469/verify.groovy
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/it/RAT-469/verify.groovy
rename to apache-rat-maven-parent/impl/src/it/RAT-469/verify.groovy
diff --git a/apache-rat-plugin-parent/impl/src/it/it1/invoker.properties b/apache-rat-maven-parent/impl/src/it/it1/invoker.properties
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/it/it1/invoker.properties
rename to apache-rat-maven-parent/impl/src/it/it1/invoker.properties
diff --git a/apache-rat-plugin-parent/impl/src/it/it1/pom.xml b/apache-rat-maven-parent/impl/src/it/it1/pom.xml
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/it/it1/pom.xml
rename to apache-rat-maven-parent/impl/src/it/it1/pom.xml
diff --git a/apache-rat-plugin-parent/impl/src/it/it1/src.apt b/apache-rat-maven-parent/impl/src/it/it1/src.apt
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/it/it1/src.apt
rename to apache-rat-maven-parent/impl/src/it/it1/src.apt
diff --git a/apache-rat-plugin-parent/impl/src/it/it1/verify.groovy b/apache-rat-maven-parent/impl/src/it/it1/verify.groovy
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/it/it1/verify.groovy
rename to apache-rat-maven-parent/impl/src/it/it1/verify.groovy
diff --git a/apache-rat-plugin-parent/impl/src/it/settings.xml b/apache-rat-maven-parent/impl/src/it/settings.xml
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/it/settings.xml
rename to apache-rat-maven-parent/impl/src/it/settings.xml
diff --git a/apache-rat-plugin-parent/impl/src/main/filtered-resources/org/apache/rat/mp/rat-report.properties b/apache-rat-maven-parent/impl/src/main/filtered-resources/org/apache/rat/mp/rat-report.properties
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/main/filtered-resources/org/apache/rat/mp/rat-report.properties
rename to apache-rat-maven-parent/impl/src/main/filtered-resources/org/apache/rat/mp/rat-report.properties
diff --git a/apache-rat-plugin-parent/impl/src/main/java/org/apache/rat/maven/AbstractRatMojo.java b/apache-rat-maven-parent/impl/src/main/java/org/apache/rat/maven/AbstractRatMojo.java
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/main/java/org/apache/rat/maven/AbstractRatMojo.java
rename to apache-rat-maven-parent/impl/src/main/java/org/apache/rat/maven/AbstractRatMojo.java
diff --git a/apache-rat-plugin-parent/impl/src/main/java/org/apache/rat/maven/RatCheckException.java b/apache-rat-maven-parent/impl/src/main/java/org/apache/rat/maven/RatCheckException.java
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/main/java/org/apache/rat/maven/RatCheckException.java
rename to apache-rat-maven-parent/impl/src/main/java/org/apache/rat/maven/RatCheckException.java
diff --git a/apache-rat-plugin-parent/impl/src/main/java/org/apache/rat/maven/RatCheckMojo.java b/apache-rat-maven-parent/impl/src/main/java/org/apache/rat/maven/RatCheckMojo.java
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/main/java/org/apache/rat/maven/RatCheckMojo.java
rename to apache-rat-maven-parent/impl/src/main/java/org/apache/rat/maven/RatCheckMojo.java
diff --git a/apache-rat-plugin-parent/impl/src/main/java/org/apache/rat/maven/RatReportMojo.java b/apache-rat-maven-parent/impl/src/main/java/org/apache/rat/maven/RatReportMojo.java
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/main/java/org/apache/rat/maven/RatReportMojo.java
rename to apache-rat-maven-parent/impl/src/main/java/org/apache/rat/maven/RatReportMojo.java
diff --git a/apache-rat-plugin-parent/impl/src/main/java/org/apache/rat/maven/package-info.java b/apache-rat-maven-parent/impl/src/main/java/org/apache/rat/maven/package-info.java
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/main/java/org/apache/rat/maven/package-info.java
rename to apache-rat-maven-parent/impl/src/main/java/org/apache/rat/maven/package-info.java
diff --git a/apache-rat-plugin-parent/impl/src/main/java/org/apache/rat/mp/All.java b/apache-rat-maven-parent/impl/src/main/java/org/apache/rat/mp/All.java
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/main/java/org/apache/rat/mp/All.java
rename to apache-rat-maven-parent/impl/src/main/java/org/apache/rat/mp/All.java
diff --git a/apache-rat-plugin-parent/impl/src/main/java/org/apache/rat/mp/Any.java b/apache-rat-maven-parent/impl/src/main/java/org/apache/rat/mp/Any.java
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/main/java/org/apache/rat/mp/Any.java
rename to apache-rat-maven-parent/impl/src/main/java/org/apache/rat/mp/Any.java
diff --git a/apache-rat-plugin-parent/impl/src/main/java/org/apache/rat/mp/Copyright.java b/apache-rat-maven-parent/impl/src/main/java/org/apache/rat/mp/Copyright.java
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/main/java/org/apache/rat/mp/Copyright.java
rename to apache-rat-maven-parent/impl/src/main/java/org/apache/rat/mp/Copyright.java
diff --git a/apache-rat-plugin-parent/impl/src/main/java/org/apache/rat/mp/EnclosingMatcher.java b/apache-rat-maven-parent/impl/src/main/java/org/apache/rat/mp/EnclosingMatcher.java
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/main/java/org/apache/rat/mp/EnclosingMatcher.java
rename to apache-rat-maven-parent/impl/src/main/java/org/apache/rat/mp/EnclosingMatcher.java
diff --git a/apache-rat-plugin-parent/impl/src/main/java/org/apache/rat/mp/Family.java b/apache-rat-maven-parent/impl/src/main/java/org/apache/rat/mp/Family.java
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/main/java/org/apache/rat/mp/Family.java
rename to apache-rat-maven-parent/impl/src/main/java/org/apache/rat/mp/Family.java
diff --git a/apache-rat-plugin-parent/impl/src/main/java/org/apache/rat/mp/HeaderMatcherSpecification.java b/apache-rat-maven-parent/impl/src/main/java/org/apache/rat/mp/HeaderMatcherSpecification.java
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/main/java/org/apache/rat/mp/HeaderMatcherSpecification.java
rename to apache-rat-maven-parent/impl/src/main/java/org/apache/rat/mp/HeaderMatcherSpecification.java
diff --git a/apache-rat-plugin-parent/impl/src/main/java/org/apache/rat/mp/License.java b/apache-rat-maven-parent/impl/src/main/java/org/apache/rat/mp/License.java
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/main/java/org/apache/rat/mp/License.java
rename to apache-rat-maven-parent/impl/src/main/java/org/apache/rat/mp/License.java
diff --git a/apache-rat-plugin-parent/impl/src/main/java/org/apache/rat/mp/Not.java b/apache-rat-maven-parent/impl/src/main/java/org/apache/rat/mp/Not.java
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/main/java/org/apache/rat/mp/Not.java
rename to apache-rat-maven-parent/impl/src/main/java/org/apache/rat/mp/Not.java
diff --git a/apache-rat-plugin-parent/impl/src/main/java/org/apache/rat/mp/Regex.java b/apache-rat-maven-parent/impl/src/main/java/org/apache/rat/mp/Regex.java
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/main/java/org/apache/rat/mp/Regex.java
rename to apache-rat-maven-parent/impl/src/main/java/org/apache/rat/mp/Regex.java
diff --git a/apache-rat-plugin-parent/impl/src/main/java/org/apache/rat/mp/Spdx.java b/apache-rat-maven-parent/impl/src/main/java/org/apache/rat/mp/Spdx.java
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/main/java/org/apache/rat/mp/Spdx.java
rename to apache-rat-maven-parent/impl/src/main/java/org/apache/rat/mp/Spdx.java
diff --git a/apache-rat-plugin-parent/impl/src/main/java/org/apache/rat/mp/Text.java b/apache-rat-maven-parent/impl/src/main/java/org/apache/rat/mp/Text.java
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/main/java/org/apache/rat/mp/Text.java
rename to apache-rat-maven-parent/impl/src/main/java/org/apache/rat/mp/Text.java
diff --git a/apache-rat-plugin-parent/impl/src/main/resources/META-INF/m2e/lifecycle-mapping-metadata.xml b/apache-rat-maven-parent/impl/src/main/resources/META-INF/m2e/lifecycle-mapping-metadata.xml
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/main/resources/META-INF/m2e/lifecycle-mapping-metadata.xml
rename to apache-rat-maven-parent/impl/src/main/resources/META-INF/m2e/lifecycle-mapping-metadata.xml
diff --git a/apache-rat-plugin-parent/impl/src/main/resources/org/apache/rat/mp/package-info.java b/apache-rat-maven-parent/impl/src/main/resources/org/apache/rat/mp/package-info.java
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/main/resources/org/apache/rat/mp/package-info.java
rename to apache-rat-maven-parent/impl/src/main/resources/org/apache/rat/mp/package-info.java
diff --git a/apache-rat-plugin-parent/impl/src/site/apt/examples/basic.apt.vm b/apache-rat-maven-parent/impl/src/site/apt/examples/basic.apt.vm
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/site/apt/examples/basic.apt.vm
rename to apache-rat-maven-parent/impl/src/site/apt/examples/basic.apt.vm
diff --git a/apache-rat-plugin-parent/impl/src/site/apt/examples/custom-license.apt.vm b/apache-rat-maven-parent/impl/src/site/apt/examples/custom-license.apt.vm
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/site/apt/examples/custom-license.apt.vm
rename to apache-rat-maven-parent/impl/src/site/apt/examples/custom-license.apt.vm
diff --git a/apache-rat-plugin-parent/impl/src/site/apt/examples/index.apt b/apache-rat-maven-parent/impl/src/site/apt/examples/index.apt
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/site/apt/examples/index.apt
rename to apache-rat-maven-parent/impl/src/site/apt/examples/index.apt
diff --git a/apache-rat-plugin-parent/impl/src/site/apt/examples/site.apt.vm b/apache-rat-maven-parent/impl/src/site/apt/examples/site.apt.vm
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/site/apt/examples/site.apt.vm
rename to apache-rat-maven-parent/impl/src/site/apt/examples/site.apt.vm
diff --git a/apache-rat-plugin-parent/impl/src/site/apt/examples/verify.apt.vm b/apache-rat-maven-parent/impl/src/site/apt/examples/verify.apt.vm
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/site/apt/examples/verify.apt.vm
rename to apache-rat-maven-parent/impl/src/site/apt/examples/verify.apt.vm
diff --git a/apache-rat-plugin-parent/impl/src/site/apt/index.apt.vm b/apache-rat-maven-parent/impl/src/site/apt/index.apt.vm
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/site/apt/index.apt.vm
rename to apache-rat-maven-parent/impl/src/site/apt/index.apt.vm
diff --git a/apache-rat-plugin-parent/impl/src/site/apt/mvn_options.apt b/apache-rat-maven-parent/impl/src/site/apt/mvn_options.apt
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/site/apt/mvn_options.apt
rename to apache-rat-maven-parent/impl/src/site/apt/mvn_options.apt
diff --git a/apache-rat-plugin-parent/impl/src/site/fml/faq.fml b/apache-rat-maven-parent/impl/src/site/fml/faq.fml
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/site/fml/faq.fml
rename to apache-rat-maven-parent/impl/src/site/fml/faq.fml
diff --git a/apache-rat-tasks/src/site/resources/css/site.css b/apache-rat-maven-parent/impl/src/site/resources/css/site.css
similarity index 100%
rename from apache-rat-tasks/src/site/resources/css/site.css
rename to apache-rat-maven-parent/impl/src/site/resources/css/site.css
diff --git a/apache-rat-plugin-parent/impl/src/site/site.xml b/apache-rat-maven-parent/impl/src/site/site.xml
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/site/site.xml
rename to apache-rat-maven-parent/impl/src/site/site.xml
diff --git a/apache-rat-plugin-parent/impl/src/templates/apt/index.apt.vm.vm b/apache-rat-maven-parent/impl/src/templates/apt/index.apt.vm.vm
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/templates/apt/index.apt.vm.vm
rename to apache-rat-maven-parent/impl/src/templates/apt/index.apt.vm.vm
diff --git a/apache-rat-plugin-parent/impl/src/templates/apt/mvn_options.apt.vm b/apache-rat-maven-parent/impl/src/templates/apt/mvn_options.apt.vm
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/templates/apt/mvn_options.apt.vm
rename to apache-rat-maven-parent/impl/src/templates/apt/mvn_options.apt.vm
diff --git a/apache-rat-plugin-parent/impl/src/test/filtered-resources/optionTest/pom.tpl b/apache-rat-maven-parent/impl/src/test/filtered-resources/optionTest/pom.tpl
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/test/filtered-resources/optionTest/pom.tpl
rename to apache-rat-maven-parent/impl/src/test/filtered-resources/optionTest/pom.tpl
diff --git a/apache-rat-plugin-parent/impl/src/test/java/org/apache/rat/maven/RatCheckMojoTest.java b/apache-rat-maven-parent/impl/src/test/java/org/apache/rat/maven/RatCheckMojoTest.java
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/test/java/org/apache/rat/maven/RatCheckMojoTest.java
rename to apache-rat-maven-parent/impl/src/test/java/org/apache/rat/maven/RatCheckMojoTest.java
diff --git a/apache-rat-plugin-parent/impl/src/test/java/org/apache/rat/maven/SettingsStub.java b/apache-rat-maven-parent/impl/src/test/java/org/apache/rat/maven/SettingsStub.java
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/test/java/org/apache/rat/maven/SettingsStub.java
rename to apache-rat-maven-parent/impl/src/test/java/org/apache/rat/maven/SettingsStub.java
diff --git a/apache-rat-plugin-parent/impl/src/test/java/org/apache/rat/mp/BetterAbstractMojoTestCase.java b/apache-rat-maven-parent/impl/src/test/java/org/apache/rat/mp/BetterAbstractMojoTestCase.java
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/test/java/org/apache/rat/mp/BetterAbstractMojoTestCase.java
rename to apache-rat-maven-parent/impl/src/test/java/org/apache/rat/mp/BetterAbstractMojoTestCase.java
diff --git a/apache-rat-plugin-parent/impl/src/test/java/org/apache/rat/mp/MavenOption.java b/apache-rat-maven-parent/impl/src/test/java/org/apache/rat/mp/MavenOption.java
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/test/java/org/apache/rat/mp/MavenOption.java
rename to apache-rat-maven-parent/impl/src/test/java/org/apache/rat/mp/MavenOption.java
diff --git a/apache-rat-plugin-parent/impl/src/test/java/org/apache/rat/mp/OptionMojoTest.java b/apache-rat-maven-parent/impl/src/test/java/org/apache/rat/mp/OptionMojoTest.java
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/test/java/org/apache/rat/mp/OptionMojoTest.java
rename to apache-rat-maven-parent/impl/src/test/java/org/apache/rat/mp/OptionMojoTest.java
diff --git a/apache-rat-plugin-parent/impl/src/test/java/org/apache/rat/mp/RatTestHelpers.java b/apache-rat-maven-parent/impl/src/test/java/org/apache/rat/mp/RatTestHelpers.java
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/test/java/org/apache/rat/mp/RatTestHelpers.java
rename to apache-rat-maven-parent/impl/src/test/java/org/apache/rat/mp/RatTestHelpers.java
diff --git a/apache-rat-tasks/src/test/resources/OptionTools/One.xml b/apache-rat-maven-parent/impl/src/test/resources/OptionTools/One.xml
similarity index 100%
rename from apache-rat-tasks/src/test/resources/OptionTools/One.xml
rename to apache-rat-maven-parent/impl/src/test/resources/OptionTools/One.xml
diff --git a/apache-rat-tasks/src/test/resources/OptionTools/Two.xml b/apache-rat-maven-parent/impl/src/test/resources/OptionTools/Two.xml
similarity index 100%
rename from apache-rat-tasks/src/test/resources/OptionTools/Two.xml
rename to apache-rat-maven-parent/impl/src/test/resources/OptionTools/Two.xml
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/config/noDefaults/pom.xml
similarity index 76%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/config/noDefaults/pom.xml
index 588ae3db..f93353b8 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/config/noDefaults/pom.xml
@@ -18,23 +18,27 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>config-no-defaults</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>config/noDefaults Tools</name>
+    <description>Test for config/noDefaults.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <config>
+  <File>.rat/One.xml</File>
+  <File>.rat/Two.xml</File>
+</config>
+<configurationNoDefaults/>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.ConfigNoDefaults"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/config/withDefaults/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/config/withDefaults/pom.xml
index 588ae3db..653b579d 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/config/withDefaults/pom.xml
@@ -18,23 +18,26 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>config-with-defaults</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>config/withDefaults Tools</name>
+    <description>Test for config/withDefaults.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <config>
+  <File>.rat/One.xml</File>
+  <File>.rat/Two.xml</File>
+</config>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.ConfigWithDefaults"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/config_DefaultTest/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/config_DefaultTest/pom.xml
index 588ae3db..cc308c8c 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/config_DefaultTest/pom.xml
@@ -18,23 +18,22 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>config_-default-test</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>config_DefaultTest Tools</name>
+    <description>Test for config_DefaultTest.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+                        <project implementation="org.apache.rat.maven.stubs.Config_DefaultTest"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/configuration-no-defaults/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/configuration-no-defaults/pom.xml
index 588ae3db..1e2ee44c 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/configuration-no-defaults/pom.xml
@@ -18,23 +18,23 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>configuration-no-defaults</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>configuration-no-defaults Tools</name>
+    <description>Test for configuration-no-defaults.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <configurationNoDefaults/>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.ConfigurationNoDefaults"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/counter-max/Unapproved1/pom.xml
similarity index 76%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/counter-max/Unapproved1/pom.xml
index 588ae3db..cad92575 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/counter-max/Unapproved1/pom.xml
@@ -18,23 +18,25 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>counter-max-unapproved1</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>counter-max/Unapproved1 Tools</name>
+    <description>Test for counter-max/Unapproved1.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <counterMax>
+  <CounterPattern>Unapproved:1</CounterPattern>
+</counterMax>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.CounterMaxUnapproved1"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/counter-min/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/counter-min/pom.xml
index 588ae3db..84bebdbf 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/counter-min/pom.xml
@@ -18,23 +18,25 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>counter-min</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>counter-min Tools</name>
+    <description>Test for counter-min.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <counterMin>
+  <CounterPattern>Unapproved:1</CounterPattern>
+</counterMin>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.CounterMin"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/counterMax_DefaultTest/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/counterMax_DefaultTest/pom.xml
index 588ae3db..3831a331 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/counterMax_DefaultTest/pom.xml
@@ -18,23 +18,22 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>counter-max_-default-test</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>counterMax_DefaultTest Tools</name>
+    <description>Test for counterMax_DefaultTest.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+                        <project implementation="org.apache.rat.maven.stubs.CounterMax_DefaultTest"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/counterMin_DefaultTest/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/counterMin_DefaultTest/pom.xml
index 588ae3db..bf527064 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/counterMin_DefaultTest/pom.xml
@@ -18,23 +18,22 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>counter-min_-default-test</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>counterMin_DefaultTest Tools</name>
+    <description>Test for counterMin_DefaultTest.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+                        <project implementation="org.apache.rat.maven.stubs.CounterMin_DefaultTest"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/dry-run/stdRun/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/dry-run/stdRun/pom.xml
index 588ae3db..d6c3aab0 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/dry-run/stdRun/pom.xml
@@ -18,23 +18,23 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>dry-run-std-run</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>dry-run/stdRun Tools</name>
+    <description>Test for dry-run/stdRun.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <dryRun/>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.DryRunStdRun"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/dryRun_DefaultTest/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/dryRun_DefaultTest/pom.xml
index 588ae3db..42f9e23c 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/dryRun_DefaultTest/pom.xml
@@ -18,23 +18,22 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>dry-run_-default-test</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>dryRun_DefaultTest Tools</name>
+    <description>Test for dryRun_DefaultTest.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+                        <project implementation="org.apache.rat.maven.stubs.DryRun_DefaultTest"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/edit-copyright/dryRun/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/edit-copyright/dryRun/pom.xml
index 588ae3db..6ab88c9f 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/edit-copyright/dryRun/pom.xml
@@ -18,23 +18,25 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>edit-copyright-dry-run</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>edit-copyright/dryRun Tools</name>
+    <description>Test for edit-copyright/dryRun.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <editCopyright>MyCopyright</editCopyright>
+<dryRun/>
+<editLicense/>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.EditCopyrightDryRun"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/edit-copyright/editLicense/pom.xml
similarity index 76%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/edit-copyright/editLicense/pom.xml
index 588ae3db..fa5d6b6f 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/edit-copyright/editLicense/pom.xml
@@ -18,23 +18,24 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>edit-copyright-edit-license</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>edit-copyright/editLicense Tools</name>
+    <description>Test for edit-copyright/editLicense.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <editCopyright>MyCopyright</editCopyright>
+<editLicense/>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.EditCopyrightEditLicense"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/edit-copyright/editOverwrite/pom.xml
similarity index 76%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/edit-copyright/editOverwrite/pom.xml
index 588ae3db..3dd649dd 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/edit-copyright/editOverwrite/pom.xml
@@ -18,23 +18,25 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>edit-copyright-edit-overwrite</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>edit-copyright/editOverwrite Tools</name>
+    <description>Test for edit-copyright/editOverwrite.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <editCopyright>MyCopyright</editCopyright>
+<editLicense/>
+<editOverwrite/>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.EditCopyrightEditOverwrite"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/edit-copyright/noEditLicense/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/edit-copyright/noEditLicense/pom.xml
index 588ae3db..ec07c2c4 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/edit-copyright/noEditLicense/pom.xml
@@ -18,23 +18,23 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>edit-copyright-no-edit-license</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>edit-copyright/noEditLicense Tools</name>
+    <description>Test for edit-copyright/noEditLicense.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <editCopyright>MyCopyright</editCopyright>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.EditCopyrightNoEditLicense"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/edit-license/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/edit-license/pom.xml
index 588ae3db..89058b86 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/edit-license/pom.xml
@@ -18,23 +18,23 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>edit-license</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>edit-license Tools</name>
+    <description>Test for edit-license.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <editLicense/>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.EditLicense"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/edit-overwrite/noEditLicense/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/edit-overwrite/noEditLicense/pom.xml
index 588ae3db..90c7703c 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/edit-overwrite/noEditLicense/pom.xml
@@ -18,23 +18,23 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>edit-overwrite-no-edit-license</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>edit-overwrite/noEditLicense Tools</name>
+    <description>Test for edit-overwrite/noEditLicense.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <editOverwrite/>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.EditOverwriteNoEditLicense"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/edit-overwrite/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/edit-overwrite/pom.xml
index 588ae3db..79440dd5 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/edit-overwrite/pom.xml
@@ -18,23 +18,24 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>edit-overwrite</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>edit-overwrite Tools</name>
+    <description>Test for edit-overwrite.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <editOverwrite/>
+<editLicense/>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.EditOverwrite"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/help-licenses/stdOut/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/help-licenses/stdOut/pom.xml
index 588ae3db..d7ebd085 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/help-licenses/stdOut/pom.xml
@@ -18,23 +18,23 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>help-licenses-std-out</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>help-licenses/stdOut Tools</name>
+    <description>Test for help-licenses/stdOut.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <helpLicenses/>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.HelpLicensesStdOut"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-exclude-file/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-exclude-file/pom.xml
index 588ae3db..584881b4 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-exclude-file/pom.xml
@@ -18,23 +18,23 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>input-exclude-file</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>input-exclude-file Tools</name>
+    <description>Test for input-exclude-file.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <inputExcludeFile>.rat/exclude.txt</inputExcludeFile>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.InputExcludeFile"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-exclude-parsed-scm/GIT/pom.xml
similarity index 75%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-exclude-parsed-scm/GIT/pom.xml
index 588ae3db..eb6384ba 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-exclude-parsed-scm/GIT/pom.xml
@@ -18,23 +18,25 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>input-exclude-parsed-scm-g-i-t</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>input-exclude-parsed-scm/GIT Tools</name>
+    <description>Test for input-exclude-parsed-scm/GIT.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <inputExcludeParsedScm>
+  <StandardCollection>GIT</StandardCollection>
+</inputExcludeParsedScm>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.InputExcludeParsedScmGIT"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-exclude-size/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-exclude-size/pom.xml
index 588ae3db..4ac43c86 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-exclude-size/pom.xml
@@ -18,23 +18,23 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>input-exclude-size</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>input-exclude-size Tools</name>
+    <description>Test for input-exclude-size.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <inputExcludeSize>5</inputExcludeSize>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.InputExcludeSize"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-exclude-std/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-exclude-std/pom.xml
index 588ae3db..26ab3dce 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-exclude-std/pom.xml
@@ -18,23 +18,25 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>input-exclude-std</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>input-exclude-std Tools</name>
+    <description>Test for input-exclude-std.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <inputExcludeStd>
+  <StandardCollection>MAVEN</StandardCollection>
+</inputExcludeStd>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.InputExcludeStd"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-exclude/includeStdValidation/pom.xml
similarity index 74%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-exclude/includeStdValidation/pom.xml
index 588ae3db..af31dd19 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-exclude/includeStdValidation/pom.xml
@@ -18,23 +18,26 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>input-exclude-include-std-validation</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>input-exclude/includeStdValidation Tools</name>
+    <description>Test for input-exclude/includeStdValidation.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <inputExclude>
+  <Expression>*~more</Expression>
+  <Expression>*~</Expression>
+</inputExclude>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.InputExcludeIncludeStdValidation"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-exclude/inputInclude/pom.xml
similarity index 73%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-exclude/inputInclude/pom.xml
index 588ae3db..b314c3e6 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-exclude/inputInclude/pom.xml
@@ -18,23 +18,27 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>input-exclude-input-include</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>input-exclude/inputInclude Tools</name>
+    <description>Test for input-exclude/inputInclude.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <inputExclude>
+  <Expression>*.foo</Expression>
+  <Expression>%regex[[A-Z]\.bar]</Expression>
+  <Expression>justbaz</Expression>
+</inputExclude>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.InputExcludeInputInclude"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-exclude/inputIncludeFile/pom.xml
similarity index 73%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-exclude/inputIncludeFile/pom.xml
index 588ae3db..d34825d2 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-exclude/inputIncludeFile/pom.xml
@@ -18,23 +18,27 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>input-exclude-input-include-file</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>input-exclude/inputIncludeFile Tools</name>
+    <description>Test for input-exclude/inputIncludeFile.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <inputExclude>
+  <Expression>*.foo</Expression>
+  <Expression>%regex[[A-Z]\.bar]</Expression>
+  <Expression>justbaz</Expression>
+</inputExclude>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.InputExcludeInputIncludeFile"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-exclude/pom.xml
similarity index 75%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-exclude/pom.xml
index 588ae3db..007e06f6 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-exclude/pom.xml
@@ -18,23 +18,27 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>input-exclude</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>input-exclude Tools</name>
+    <description>Test for input-exclude.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <inputExclude>
+  <Expression>*.foo</Expression>
+  <Expression>%regex[[A-Z]\.bar]</Expression>
+  <Expression>justbaz</Expression>
+</inputExclude>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.InputExclude"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-include-file/pom.xml
similarity index 72%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-include-file/pom.xml
index 588ae3db..93f0f32a 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-include-file/pom.xml
@@ -18,23 +18,28 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>input-include-file</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>input-include-file Tools</name>
+    <description>Test for input-include-file.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <inputIncludeFile>.rat/include.txt</inputIncludeFile>
+<inputExclude>
+  <Expression>*.foo</Expression>
+  <Expression>%regex[[A-Z]\.bar]</Expression>
+  <Expression>justbaz</Expression>
+</inputExclude>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.InputIncludeFile"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-include-std/hidden_dir/pom.xml
similarity index 72%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-include-std/hidden_dir/pom.xml
index 588ae3db..859d53e0 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-include-std/hidden_dir/pom.xml
@@ -18,23 +18,29 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>input-include-std-hidden_dir</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>input-include-std/hidden_dir Tools</name>
+    <description>Test for input-include-std/hidden_dir.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <inputIncludeStd>
+  <StandardCollection>HIDDEN_DIR</StandardCollection>
+</inputIncludeStd>
+<inputExclude>
+  <Expression>*~more</Expression>
+  <Expression>*~</Expression>
+</inputExclude>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.InputIncludeStdHidden_dir"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-include-std/hidden_file/pom.xml
similarity index 71%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-include-std/hidden_file/pom.xml
index 588ae3db..0a0f5624 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-include-std/hidden_file/pom.xml
@@ -18,23 +18,29 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>input-include-std-hidden_file</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>input-include-std/hidden_file Tools</name>
+    <description>Test for input-include-std/hidden_file.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <inputIncludeStd>
+  <StandardCollection>HIDDEN_FILE</StandardCollection>
+</inputIncludeStd>
+<inputExclude>
+  <Expression>*~more</Expression>
+  <Expression>*~</Expression>
+</inputExclude>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.InputIncludeStdHidden_file"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-include-std/misc/pom.xml
similarity index 73%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-include-std/misc/pom.xml
index 588ae3db..6a1b43a1 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-include-std/misc/pom.xml
@@ -18,23 +18,29 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>input-include-std-misc</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>input-include-std/misc Tools</name>
+    <description>Test for input-include-std/misc.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <inputIncludeStd>
+  <StandardCollection>MISC</StandardCollection>
+</inputIncludeStd>
+<inputExclude>
+  <Expression>*~more</Expression>
+  <Expression>*~</Expression>
+</inputExclude>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.InputIncludeStdMisc"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-include/pom.xml
similarity index 72%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-include/pom.xml
index 588ae3db..5a1a9bdf 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-include/pom.xml
@@ -18,23 +18,31 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>input-include</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>input-include Tools</name>
+    <description>Test for input-include.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <inputInclude>
+  <Expression>B.bar</Expression>
+  <Expression>justbaz</Expression>
+</inputInclude>
+<inputExclude>
+  <Expression>*.foo</Expression>
+  <Expression>%regex[[A-Z]\.bar]</Expression>
+  <Expression>justbaz</Expression>
+</inputExclude>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.InputInclude"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-source/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-source/pom.xml
index 588ae3db..d4242ad0 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/input-source/pom.xml
@@ -18,23 +18,25 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>input-source</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>input-source Tools</name>
+    <description>Test for input-source.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <inputSource>
+  <File>intput.txt</File>
+</inputSource>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.InputSource"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/inputExcludeFile_DefaultTest/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/inputExcludeFile_DefaultTest/pom.xml
index 588ae3db..619f0de4 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/inputExcludeFile_DefaultTest/pom.xml
@@ -18,23 +18,22 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>input-exclude-file_-default-test</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>inputExcludeFile_DefaultTest Tools</name>
+    <description>Test for inputExcludeFile_DefaultTest.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+                        <project implementation="org.apache.rat.maven.stubs.InputExcludeFile_DefaultTest"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/inputExcludeParsedScm_DefaultTest/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/inputExcludeParsedScm_DefaultTest/pom.xml
index 588ae3db..e468f60b 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/inputExcludeParsedScm_DefaultTest/pom.xml
@@ -18,23 +18,22 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>input-exclude-parsed-scm_-default-test</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>inputExcludeParsedScm_DefaultTest Tools</name>
+    <description>Test for inputExcludeParsedScm_DefaultTest.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+                        <project implementation="org.apache.rat.maven.stubs.InputExcludeParsedScm_DefaultTest"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/inputExcludeSize_DefaultTest/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/inputExcludeSize_DefaultTest/pom.xml
index 588ae3db..d7df5f88 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/inputExcludeSize_DefaultTest/pom.xml
@@ -18,23 +18,22 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>input-exclude-size_-default-test</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>inputExcludeSize_DefaultTest Tools</name>
+    <description>Test for inputExcludeSize_DefaultTest.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+                        <project implementation="org.apache.rat.maven.stubs.InputExcludeSize_DefaultTest"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/inputExcludeStd_DefaultTest/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/inputExcludeStd_DefaultTest/pom.xml
index 588ae3db..c140461a 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/inputExcludeStd_DefaultTest/pom.xml
@@ -18,23 +18,22 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>input-exclude-std_-default-test</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>inputExcludeStd_DefaultTest Tools</name>
+    <description>Test for inputExcludeStd_DefaultTest.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+                        <project implementation="org.apache.rat.maven.stubs.InputExcludeStd_DefaultTest"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/inputExclude_DefaultTest/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/inputExclude_DefaultTest/pom.xml
index 588ae3db..4bd8aabf 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/inputExclude_DefaultTest/pom.xml
@@ -18,23 +18,22 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>input-exclude_-default-test</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>inputExclude_DefaultTest Tools</name>
+    <description>Test for inputExclude_DefaultTest.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+                        <project implementation="org.apache.rat.maven.stubs.InputExclude_DefaultTest"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/inputIncludeFile_DefaultTest/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/inputIncludeFile_DefaultTest/pom.xml
index 588ae3db..32a31fbc 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/inputIncludeFile_DefaultTest/pom.xml
@@ -18,23 +18,22 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>input-include-file_-default-test</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>inputIncludeFile_DefaultTest Tools</name>
+    <description>Test for inputIncludeFile_DefaultTest.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+                        <project implementation="org.apache.rat.maven.stubs.InputIncludeFile_DefaultTest"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/inputInclude_DefaultTest/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/inputInclude_DefaultTest/pom.xml
index 588ae3db..3eeeac92 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/inputInclude_DefaultTest/pom.xml
@@ -18,23 +18,22 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>input-include_-default-test</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>inputInclude_DefaultTest Tools</name>
+    <description>Test for inputInclude_DefaultTest.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+                        <project implementation="org.apache.rat.maven.stubs.InputInclude_DefaultTest"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/inputSource_DefaultTest/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/inputSource_DefaultTest/pom.xml
index 588ae3db..8a04c7d9 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/inputSource_DefaultTest/pom.xml
@@ -18,23 +18,22 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>input-source_-default-test</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>inputSource_DefaultTest Tools</name>
+    <description>Test for inputSource_DefaultTest.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+                        <project implementation="org.apache.rat.maven.stubs.InputSource_DefaultTest"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/license-families-approved-file/withLicenseDef/pom.xml
similarity index 71%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/license-families-approved-file/withLicenseDef/pom.xml
index 588ae3db..05af4ae9 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/license-families-approved-file/withLicenseDef/pom.xml
@@ -18,23 +18,26 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>license-families-approved-file-with-license-def</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>license-families-approved-file/withLicenseDef Tools</name>
+    <description>Test for license-families-approved-file/withLicenseDef.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <licenseFamiliesApprovedFile>.rat/familiesApproved.txt</licenseFamiliesApprovedFile>
+<config>
+  <File>.rat/catz.xml</File>
+</config>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.LicenseFamiliesApprovedFileWithLicenseDef"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/license-families-approved-file/withoutLicenseDef/pom.xml
similarity index 72%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/license-families-approved-file/withoutLicenseDef/pom.xml
index 588ae3db..8e0b24a0 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/license-families-approved-file/withoutLicenseDef/pom.xml
@@ -18,23 +18,23 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>license-families-approved-file-without-license-def</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>license-families-approved-file/withoutLicenseDef Tools</name>
+    <description>Test for license-families-approved-file/withoutLicenseDef.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <licenseFamiliesApprovedFile>.rat/familiesApproved.txt</licenseFamiliesApprovedFile>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.LicenseFamiliesApprovedFileWithoutLicenseDef"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/license-families-approved/withLicenseDef/pom.xml
similarity index 73%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/license-families-approved/withLicenseDef/pom.xml
index 588ae3db..47cc5a0e 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/license-families-approved/withLicenseDef/pom.xml
@@ -18,23 +18,26 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>license-families-approved-with-license-def</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>license-families-approved/withLicenseDef Tools</name>
+    <description>Test for license-families-approved/withLicenseDef.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <licenseFamiliesApproved>catz</licenseFamiliesApproved>
+<config>
+  <File>.rat/catz.xml</File>
+</config>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.LicenseFamiliesApprovedWithLicenseDef"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/license-families-approved/withoutLicenseDef/pom.xml
similarity index 74%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/license-families-approved/withoutLicenseDef/pom.xml
index 588ae3db..e751f033 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/license-families-approved/withoutLicenseDef/pom.xml
@@ -18,23 +18,23 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>license-families-approved-without-license-def</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>license-families-approved/withoutLicenseDef Tools</name>
+    <description>Test for license-families-approved/withoutLicenseDef.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <licenseFamiliesApproved>catz</licenseFamiliesApproved>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.LicenseFamiliesApprovedWithoutLicenseDef"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/license-families-denied-file/pom.xml
similarity index 75%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/license-families-denied-file/pom.xml
index 588ae3db..ec483f89 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/license-families-denied-file/pom.xml
@@ -18,23 +18,23 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>license-families-denied-file</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>license-families-denied-file Tools</name>
+    <description>Test for license-families-denied-file.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <licenseFamiliesDeniedFile>.rat/familiesDenied.txt</licenseFamiliesDeniedFile>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.LicenseFamiliesDeniedFile"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/license-families-denied/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/license-families-denied/pom.xml
index 588ae3db..a88319bc 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/license-families-denied/pom.xml
@@ -18,23 +18,23 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>license-families-denied</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>license-families-denied Tools</name>
+    <description>Test for license-families-denied.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <licenseFamiliesDenied>BSD-3</licenseFamiliesDenied>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.LicenseFamiliesDenied"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licenseFamiliesApprovedFile_DefaultTest/pom.xml
similarity index 76%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licenseFamiliesApprovedFile_DefaultTest/pom.xml
index 588ae3db..afbde643 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licenseFamiliesApprovedFile_DefaultTest/pom.xml
@@ -18,23 +18,22 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>license-families-approved-file_-default-test</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>licenseFamiliesApprovedFile_DefaultTest Tools</name>
+    <description>Test for licenseFamiliesApprovedFile_DefaultTest.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+                        <project implementation="org.apache.rat.maven.stubs.LicenseFamiliesApprovedFile_DefaultTest"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licenseFamiliesApproved_DefaultTest/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licenseFamiliesApproved_DefaultTest/pom.xml
index 588ae3db..17cfa77a 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licenseFamiliesApproved_DefaultTest/pom.xml
@@ -18,23 +18,22 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>license-families-approved_-default-test</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>licenseFamiliesApproved_DefaultTest Tools</name>
+    <description>Test for licenseFamiliesApproved_DefaultTest.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+                        <project implementation="org.apache.rat.maven.stubs.LicenseFamiliesApproved_DefaultTest"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licenseFamiliesDeniedFile_DefaultTest/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licenseFamiliesDeniedFile_DefaultTest/pom.xml
index 588ae3db..f3308091 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licenseFamiliesDeniedFile_DefaultTest/pom.xml
@@ -18,23 +18,22 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>license-families-denied-file_-default-test</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>licenseFamiliesDeniedFile_DefaultTest Tools</name>
+    <description>Test for licenseFamiliesDeniedFile_DefaultTest.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+                        <project implementation="org.apache.rat.maven.stubs.LicenseFamiliesDeniedFile_DefaultTest"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licenseFamiliesDenied_DefaultTest/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licenseFamiliesDenied_DefaultTest/pom.xml
index 588ae3db..512e5027 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licenseFamiliesDenied_DefaultTest/pom.xml
@@ -18,23 +18,22 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>license-families-denied_-default-test</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>licenseFamiliesDenied_DefaultTest Tools</name>
+    <description>Test for licenseFamiliesDenied_DefaultTest.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+                        <project implementation="org.apache.rat.maven.stubs.LicenseFamiliesDenied_DefaultTest"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licenses-approved-file/withLicenseDef/pom.xml
similarity index 73%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licenses-approved-file/withLicenseDef/pom.xml
index 588ae3db..4a42e50b 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licenses-approved-file/withLicenseDef/pom.xml
@@ -18,23 +18,26 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>licenses-approved-file-with-license-def</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>licenses-approved-file/withLicenseDef Tools</name>
+    <description>Test for licenses-approved-file/withLicenseDef.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <licensesApprovedFile>.rat/licensesApproved.txt</licensesApprovedFile>
+<config>
+  <File>.rat/catz.xml</File>
+</config>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.LicensesApprovedFileWithLicenseDef"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licenses-approved-file/withoutLicenseDef/pom.xml
similarity index 74%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licenses-approved-file/withoutLicenseDef/pom.xml
index 588ae3db..e5a99531 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licenses-approved-file/withoutLicenseDef/pom.xml
@@ -18,23 +18,23 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>licenses-approved-file-without-license-def</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>licenses-approved-file/withoutLicenseDef Tools</name>
+    <description>Test for licenses-approved-file/withoutLicenseDef.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <licensesApprovedFile>.rat/licensesApproved.txt</licensesApprovedFile>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.LicensesApprovedFileWithoutLicenseDef"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licenses-approved/withLicenseDef/pom.xml
similarity index 74%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licenses-approved/withLicenseDef/pom.xml
index 588ae3db..7fab0d60 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licenses-approved/withLicenseDef/pom.xml
@@ -18,23 +18,26 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>licenses-approved-with-license-def</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>licenses-approved/withLicenseDef Tools</name>
+    <description>Test for licenses-approved/withLicenseDef.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <licensesApproved>catz</licensesApproved>
+<config>
+  <File>.rat/catz.xml</File>
+</config>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.LicensesApprovedWithLicenseDef"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licenses-approved/withoutLicenseDef/pom.xml
similarity index 76%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licenses-approved/withoutLicenseDef/pom.xml
index 588ae3db..f841f365 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licenses-approved/withoutLicenseDef/pom.xml
@@ -18,23 +18,23 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>licenses-approved-without-license-def</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>licenses-approved/withoutLicenseDef Tools</name>
+    <description>Test for licenses-approved/withoutLicenseDef.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <licensesApproved>catz</licensesApproved>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.LicensesApprovedWithoutLicenseDef"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licenses-denied-file/ILLUMOS/pom.xml
similarity index 76%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licenses-denied-file/ILLUMOS/pom.xml
index 588ae3db..2a85baa0 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licenses-denied-file/ILLUMOS/pom.xml
@@ -18,23 +18,23 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>licenses-denied-file-i-l-l-u-m-o-s</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>licenses-denied-file/ILLUMOS Tools</name>
+    <description>Test for licenses-denied-file/ILLUMOS.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <licensesDeniedFile>licensesDenied.txt</licensesDeniedFile>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.LicensesDeniedFileILLUMOS"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licenses-denied/ILLUMOS/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licenses-denied/ILLUMOS/pom.xml
index 588ae3db..126c00ad 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licenses-denied/ILLUMOS/pom.xml
@@ -18,23 +18,23 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>licenses-denied-i-l-l-u-m-o-s</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>licenses-denied/ILLUMOS Tools</name>
+    <description>Test for licenses-denied/ILLUMOS.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <licensesDenied>ILLUMOS</licensesDenied>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.LicensesDeniedILLUMOS"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licensesApprovedFile_DefaultTest/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licensesApprovedFile_DefaultTest/pom.xml
index 588ae3db..08b9eb89 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licensesApprovedFile_DefaultTest/pom.xml
@@ -18,23 +18,22 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>licenses-approved-file_-default-test</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>licensesApprovedFile_DefaultTest Tools</name>
+    <description>Test for licensesApprovedFile_DefaultTest.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+                        <project implementation="org.apache.rat.maven.stubs.LicensesApprovedFile_DefaultTest"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licensesApproved_DefaultTest/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licensesApproved_DefaultTest/pom.xml
index 588ae3db..add69852 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/licensesApproved_DefaultTest/pom.xml
@@ -18,23 +18,22 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>licenses-approved_-default-test</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>licensesApproved_DefaultTest Tools</name>
+    <description>Test for licensesApproved_DefaultTest.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+                        <project implementation="org.apache.rat.maven.stubs.LicensesApproved_DefaultTest"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-archive/absence/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-archive/absence/pom.xml
index 588ae3db..592457ae 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-archive/absence/pom.xml
@@ -18,23 +18,23 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>output-archive-absence</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>output-archive/absence Tools</name>
+    <description>Test for output-archive/absence.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <outputArchive>ABSENCE</outputArchive>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.OutputArchiveAbsence"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-archive/notification/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-archive/notification/pom.xml
index 588ae3db..f77afe45 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-archive/notification/pom.xml
@@ -18,23 +18,23 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>output-archive-notification</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>output-archive/notification Tools</name>
+    <description>Test for output-archive/notification.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <outputArchive>NOTIFICATION</outputArchive>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.OutputArchiveNotification"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-archive/presence/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-archive/presence/pom.xml
index 588ae3db..cbb9fdf2 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-archive/presence/pom.xml
@@ -18,23 +18,23 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>output-archive-presence</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>output-archive/presence Tools</name>
+    <description>Test for output-archive/presence.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <outputArchive>PRESENCE</outputArchive>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.OutputArchivePresence"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-families/all/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-families/all/pom.xml
index 588ae3db..4945d8e3 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-families/all/pom.xml
@@ -18,23 +18,23 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>output-families-all</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>output-families/all Tools</name>
+    <description>Test for output-families/all.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <outputFamilies>ALL</outputFamilies>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.OutputFamiliesAll"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-families/approved/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-families/approved/pom.xml
index 588ae3db..971146a0 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-families/approved/pom.xml
@@ -18,23 +18,23 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>output-families-approved</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>output-families/approved Tools</name>
+    <description>Test for output-families/approved.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <outputFamilies>APPROVED</outputFamilies>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.OutputFamiliesApproved"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-families/none/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-families/none/pom.xml
index 588ae3db..5b50f4e3 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-families/none/pom.xml
@@ -18,23 +18,23 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>output-families-none</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>output-families/none Tools</name>
+    <description>Test for output-families/none.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <outputFamilies>NONE</outputFamilies>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.OutputFamiliesNone"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-file/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-file/pom.xml
index 588ae3db..c9cdee96 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-file/pom.xml
@@ -18,23 +18,23 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>output-file</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>output-file Tools</name>
+    <description>Test for output-file.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <outputFile>outexample</outputFile>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.OutputFile"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-licenses/ALL/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-licenses/ALL/pom.xml
index 588ae3db..63294971 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-licenses/ALL/pom.xml
@@ -18,23 +18,23 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>output-licenses-a-l-l</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>output-licenses/ALL Tools</name>
+    <description>Test for output-licenses/ALL.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <outputLicenses>ALL</outputLicenses>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.OutputLicensesALL"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-licenses/APPROVED/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-licenses/APPROVED/pom.xml
index 588ae3db..17f9be51 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-licenses/APPROVED/pom.xml
@@ -18,23 +18,23 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>output-licenses-a-p-p-r-o-v-e-d</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>output-licenses/APPROVED Tools</name>
+    <description>Test for output-licenses/APPROVED.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <outputLicenses>APPROVED</outputLicenses>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.OutputLicensesAPPROVED"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-licenses/NONE/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-licenses/NONE/pom.xml
index 588ae3db..772cc066 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-licenses/NONE/pom.xml
@@ -18,23 +18,23 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>output-licenses-n-o-n-e</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>output-licenses/NONE Tools</name>
+    <description>Test for output-licenses/NONE.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <outputLicenses>NONE</outputLicenses>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.OutputLicensesNONE"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-standard/absence/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-standard/absence/pom.xml
index 588ae3db..4ce1c0a5 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-standard/absence/pom.xml
@@ -18,23 +18,23 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>output-standard-absence</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>output-standard/absence Tools</name>
+    <description>Test for output-standard/absence.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <outputStandard>ABSENCE</outputStandard>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.OutputStandardAbsence"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-standard/notification/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-standard/notification/pom.xml
index 588ae3db..ba21a128 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-standard/notification/pom.xml
@@ -18,23 +18,23 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>output-standard-notification</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>output-standard/notification Tools</name>
+    <description>Test for output-standard/notification.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <outputStandard>NOTIFICATION</outputStandard>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.OutputStandardNotification"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-standard/presence/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-standard/presence/pom.xml
index 588ae3db..94ed35a8 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-standard/presence/pom.xml
@@ -18,23 +18,23 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>output-standard-presence</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>output-standard/presence Tools</name>
+    <description>Test for output-standard/presence.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <outputStandard>PRESENCE</outputStandard>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.OutputStandardPresence"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-style/fileStyleSheet/pom.xml
similarity index 75%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-style/fileStyleSheet/pom.xml
index 588ae3db..7d089452 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-style/fileStyleSheet/pom.xml
@@ -18,23 +18,24 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>output-style-file-style-sheet</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>output-style/fileStyleSheet Tools</name>
+    <description>Test for output-style/fileStyleSheet.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <outputStyle>fileStyleSheet.xslt</outputStyle>
+<outputFile>outputFile</outputFile>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.OutputStyleFileStyleSheet"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-style/missing_headers/pom.xml
similarity index 75%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-style/missing_headers/pom.xml
index 588ae3db..b7082dca 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-style/missing_headers/pom.xml
@@ -18,23 +18,24 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>output-style-missing_headers</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>output-style/missing_headers Tools</name>
+    <description>Test for output-style/missing_headers.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <outputStyle>missing-headers</outputStyle>
+<outputFile>outputFile</outputFile>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.OutputStyleMissing_headers"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-style/plain/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-style/plain/pom.xml
index 588ae3db..cdf45998 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-style/plain/pom.xml
@@ -18,23 +18,24 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>output-style-plain</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>output-style/plain Tools</name>
+    <description>Test for output-style/plain.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <outputStyle>plain-rat</outputStyle>
+<outputFile>outputFile</outputFile>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.OutputStylePlain"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-style/unapproved_licenses/pom.xml
similarity index 75%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-style/unapproved_licenses/pom.xml
index 588ae3db..29e839d3 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-style/unapproved_licenses/pom.xml
@@ -18,23 +18,24 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>output-style-unapproved_licenses</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>output-style/unapproved_licenses Tools</name>
+    <description>Test for output-style/unapproved_licenses.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <outputStyle>unapproved-licenses</outputStyle>
+<outputFile>outputFile</outputFile>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.OutputStyleUnapproved_licenses"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-style/xhtml5/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-style/xhtml5/pom.xml
index 588ae3db..fc5b3aa9 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-style/xhtml5/pom.xml
@@ -18,23 +18,24 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>output-style-xhtml5</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>output-style/xhtml5 Tools</name>
+    <description>Test for output-style/xhtml5.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <outputStyle>xhtml5</outputStyle>
+<outputFile>outputFile</outputFile>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.OutputStyleXhtml5"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-style/xml/pom.xml
similarity index 77%
copy from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
copy to apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-style/xml/pom.xml
index 588ae3db..9c3de2d6 100644
--- a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
+++ b/apache-rat-maven-parent/impl/src/test/resources/org/apache/rat/maven/stubs/output-style/xml/pom.xml
@@ -18,23 +18,24 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.rat.maven.test</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${rat_version}</version>
+    <artifactId>output-style-xml</artifactId>
+    <version>SPEC-VERSION</version>
     <packaging>jar</packaging>
-    <name>${testName} Tools</name>
-    <description>Test for ${testName}.</description>
+    <name>output-style/xml Tools</name>
+    <description>Test for output-style/xml.</description>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>${plugin_version}</version>
+                    <version>VERSION-NUMBER</version>
                     <configuration>
-                        ${rat_configuration}
+                        <outputStyle>xml</outputStyle>
+<outputFile>outputFile</outputFile>
 
-                        <project implementation="${packageName}.stubs.${stubName}"/>
-##                        <settings implementation="org.apache.rat.maven.SettingsStub"/>
+
+                        <project implementation="org.apache.rat.maven.stubs.OutputStyleXml"/>
                     </configuration>
                 </plugin>
             </plugins>
diff --git a/apache-rat-plugin-parent/impl/src/test/resources/unit/RAT-107/.idea/dummy b/apache-rat-maven-parent/impl/src/test/resources/unit/RAT-107/.idea/dummy
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/test/resources/unit/RAT-107/.idea/dummy
rename to apache-rat-maven-parent/impl/src/test/resources/unit/RAT-107/.idea/dummy
diff --git a/apache-rat-plugin-parent/impl/src/test/resources/unit/RAT-107/cobertura.ser b/apache-rat-maven-parent/impl/src/test/resources/unit/RAT-107/cobertura.ser
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/test/resources/unit/RAT-107/cobertura.ser
rename to apache-rat-maven-parent/impl/src/test/resources/unit/RAT-107/cobertura.ser
diff --git a/apache-rat-plugin-parent/impl/src/test/resources/unit/RAT-107/pom.xml b/apache-rat-maven-parent/impl/src/test/resources/unit/RAT-107/pom.xml
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/test/resources/unit/RAT-107/pom.xml
rename to apache-rat-maven-parent/impl/src/test/resources/unit/RAT-107/pom.xml
diff --git a/apache-rat-plugin-parent/impl/src/test/resources/unit/RAT-107/release.properties b/apache-rat-maven-parent/impl/src/test/resources/unit/RAT-107/release.properties
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/test/resources/unit/RAT-107/release.properties
rename to apache-rat-maven-parent/impl/src/test/resources/unit/RAT-107/release.properties
diff --git a/apache-rat-plugin-parent/impl/src/test/resources/unit/RAT-107/submodule/.idea/dummy b/apache-rat-maven-parent/impl/src/test/resources/unit/RAT-107/submodule/.idea/dummy
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/test/resources/unit/RAT-107/submodule/.idea/dummy
rename to apache-rat-maven-parent/impl/src/test/resources/unit/RAT-107/submodule/.idea/dummy
diff --git a/apache-rat-plugin-parent/impl/src/test/resources/unit/RAT-107/submodule/cobertura.ser b/apache-rat-maven-parent/impl/src/test/resources/unit/RAT-107/submodule/cobertura.ser
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/test/resources/unit/RAT-107/submodule/cobertura.ser
rename to apache-rat-maven-parent/impl/src/test/resources/unit/RAT-107/submodule/cobertura.ser
diff --git a/apache-rat-plugin-parent/impl/src/test/resources/unit/RAT-107/submodule/pom.xml b/apache-rat-maven-parent/impl/src/test/resources/unit/RAT-107/submodule/pom.xml
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/test/resources/unit/RAT-107/submodule/pom.xml
rename to apache-rat-maven-parent/impl/src/test/resources/unit/RAT-107/submodule/pom.xml
diff --git a/apache-rat-plugin-parent/impl/src/test/resources/unit/RAT-107/submodule/release.properties b/apache-rat-maven-parent/impl/src/test/resources/unit/RAT-107/submodule/release.properties
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/test/resources/unit/RAT-107/submodule/release.properties
rename to apache-rat-maven-parent/impl/src/test/resources/unit/RAT-107/submodule/release.properties
diff --git a/apache-rat-plugin-parent/impl/src/test/resources/unit/RAT-335/README.txt b/apache-rat-maven-parent/impl/src/test/resources/unit/RAT-335/README.txt
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/test/resources/unit/RAT-335/README.txt
rename to apache-rat-maven-parent/impl/src/test/resources/unit/RAT-335/README.txt
diff --git a/apache-rat-plugin-parent/impl/src/test/resources/unit/RAT-335/dir1/dir1.md b/apache-rat-maven-parent/impl/src/test/resources/unit/RAT-335/dir1/dir1.md
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/test/resources/unit/RAT-335/dir1/dir1.md
rename to apache-rat-maven-parent/impl/src/test/resources/unit/RAT-335/dir1/dir1.md
diff --git a/apache-rat-plugin-parent/impl/src/test/resources/unit/RAT-335/dir2/dir2.txt b/apache-rat-maven-parent/impl/src/test/resources/unit/RAT-335/dir2/dir2.txt
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/test/resources/unit/RAT-335/dir2/dir2.txt
rename to apache-rat-maven-parent/impl/src/test/resources/unit/RAT-335/dir2/dir2.txt
diff --git a/apache-rat-plugin-parent/impl/src/test/resources/unit/RAT-335/dir3/file3.log b/apache-rat-maven-parent/impl/src/test/resources/unit/RAT-335/dir3/file3.log
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/test/resources/unit/RAT-335/dir3/file3.log
rename to apache-rat-maven-parent/impl/src/test/resources/unit/RAT-335/dir3/file3.log
diff --git a/apache-rat-plugin-parent/impl/src/test/resources/unit/RAT-335/pom.xml b/apache-rat-maven-parent/impl/src/test/resources/unit/RAT-335/pom.xml
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/test/resources/unit/RAT-335/pom.xml
rename to apache-rat-maven-parent/impl/src/test/resources/unit/RAT-335/pom.xml
diff --git a/apache-rat-plugin-parent/impl/src/test/resources/unit/RAT-343/pom.xml b/apache-rat-maven-parent/impl/src/test/resources/unit/RAT-343/pom.xml
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/test/resources/unit/RAT-343/pom.xml
rename to apache-rat-maven-parent/impl/src/test/resources/unit/RAT-343/pom.xml
diff --git a/apache-rat-plugin-parent/impl/src/test/resources/unit/RAT-362/bar.md b/apache-rat-maven-parent/impl/src/test/resources/unit/RAT-362/bar.md
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/test/resources/unit/RAT-362/bar.md
rename to apache-rat-maven-parent/impl/src/test/resources/unit/RAT-362/bar.md
diff --git a/apache-rat-plugin-parent/impl/src/test/resources/unit/RAT-362/pom.xml b/apache-rat-maven-parent/impl/src/test/resources/unit/RAT-362/pom.xml
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/test/resources/unit/RAT-362/pom.xml
rename to apache-rat-maven-parent/impl/src/test/resources/unit/RAT-362/pom.xml
diff --git a/apache-rat-plugin-parent/impl/src/test/resources/unit/it1/.bzrignore b/apache-rat-maven-parent/impl/src/test/resources/unit/it1/.bzrignore
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/test/resources/unit/it1/.bzrignore
rename to apache-rat-maven-parent/impl/src/test/resources/unit/it1/.bzrignore
diff --git a/apache-rat-plugin-parent/impl/src/test/resources/unit/it1/pom.xml b/apache-rat-maven-parent/impl/src/test/resources/unit/it1/pom.xml
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/test/resources/unit/it1/pom.xml
rename to apache-rat-maven-parent/impl/src/test/resources/unit/it1/pom.xml
diff --git a/apache-rat-plugin-parent/impl/src/test/resources/unit/it2/pom.xml b/apache-rat-maven-parent/impl/src/test/resources/unit/it2/pom.xml
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/test/resources/unit/it2/pom.xml
rename to apache-rat-maven-parent/impl/src/test/resources/unit/it2/pom.xml
diff --git a/apache-rat-plugin-parent/impl/src/test/resources/unit/it2/src.txt b/apache-rat-maven-parent/impl/src/test/resources/unit/it2/src.txt
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/test/resources/unit/it2/src.txt
rename to apache-rat-maven-parent/impl/src/test/resources/unit/it2/src.txt
diff --git a/apache-rat-plugin-parent/impl/src/test/resources/unit/it3/pom.xml b/apache-rat-maven-parent/impl/src/test/resources/unit/it3/pom.xml
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/test/resources/unit/it3/pom.xml
rename to apache-rat-maven-parent/impl/src/test/resources/unit/it3/pom.xml
diff --git a/apache-rat-plugin-parent/impl/src/test/resources/unit/it3/src.apt b/apache-rat-maven-parent/impl/src/test/resources/unit/it3/src.apt
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/test/resources/unit/it3/src.apt
rename to apache-rat-maven-parent/impl/src/test/resources/unit/it3/src.apt
diff --git a/apache-rat-tasks/src/test/resources/org/example/iso-8859-1.html b/apache-rat-maven-parent/impl/src/test/resources/unit/it4/iso-8859-1.html
similarity index 100%
rename from apache-rat-tasks/src/test/resources/org/example/iso-8859-1.html
rename to apache-rat-maven-parent/impl/src/test/resources/unit/it4/iso-8859-1.html
diff --git a/apache-rat-plugin-parent/impl/src/test/resources/unit/it4/pom.xml b/apache-rat-maven-parent/impl/src/test/resources/unit/it4/pom.xml
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/test/resources/unit/it4/pom.xml
rename to apache-rat-maven-parent/impl/src/test/resources/unit/it4/pom.xml
diff --git a/apache-rat-plugin-parent/impl/src/test/resources/unit/it5/.rat/customConfig.xml b/apache-rat-maven-parent/impl/src/test/resources/unit/it5/.rat/customConfig.xml
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/test/resources/unit/it5/.rat/customConfig.xml
rename to apache-rat-maven-parent/impl/src/test/resources/unit/it5/.rat/customConfig.xml
diff --git a/apache-rat-plugin-parent/impl/src/test/resources/unit/it5/pom.xml b/apache-rat-maven-parent/impl/src/test/resources/unit/it5/pom.xml
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/test/resources/unit/it5/pom.xml
rename to apache-rat-maven-parent/impl/src/test/resources/unit/it5/pom.xml
diff --git a/apache-rat-plugin-parent/impl/src/test/resources/unit/it5/src/main/java/nl/basjes/something/Something.java b/apache-rat-maven-parent/impl/src/test/resources/unit/it5/src/main/java/nl/basjes/something/Something.java
similarity index 100%
rename from apache-rat-plugin-parent/impl/src/test/resources/unit/it5/src/main/java/nl/basjes/something/Something.java
rename to apache-rat-maven-parent/impl/src/test/resources/unit/it5/src/main/java/nl/basjes/something/Something.java
diff --git a/apache-rat-plugin-parent/pom.xml b/apache-rat-maven-parent/pom.xml
similarity index 98%
rename from apache-rat-plugin-parent/pom.xml
rename to apache-rat-maven-parent/pom.xml
index 7451f5dd..ae5451f3 100644
--- a/apache-rat-plugin-parent/pom.xml
+++ b/apache-rat-maven-parent/pom.xml
@@ -23,7 +23,7 @@
         <groupId>org.apache.rat</groupId>
         <version>1.0.0-SNAPSHOT</version>
     </parent>
-    <artifactId>apache-rat-plugin-parent</artifactId>
+    <artifactId>apache-rat-maven-parent</artifactId>
     <packaging>pom</packaging>
     <name>Apache Creadur RAT::Maven plugin parent</name>
     <description>A plugin for Apache Maven that runs Apache RAT
diff --git a/apache-rat-plugin-parent/spotbugs-ignore.xml b/apache-rat-maven-parent/spotbugs-ignore.xml
similarity index 100%
copy from apache-rat-plugin-parent/spotbugs-ignore.xml
copy to apache-rat-maven-parent/spotbugs-ignore.xml
diff --git a/apache-rat-plugin-parent/tools/pom.xml b/apache-rat-maven-parent/tools/pom.xml
similarity index 99%
rename from apache-rat-plugin-parent/tools/pom.xml
rename to apache-rat-maven-parent/tools/pom.xml
index a3943bf9..83e3c977 100644
--- a/apache-rat-plugin-parent/tools/pom.xml
+++ b/apache-rat-maven-parent/tools/pom.xml
@@ -19,7 +19,7 @@
   <modelVersion>4.0.0</modelVersion>
   <parent>
     <groupId>org.apache.rat</groupId>
-    <artifactId>apache-rat-plugin-parent</artifactId>
+    <artifactId>apache-rat-maven-parent</artifactId>
     <version>1.0.0-SNAPSHOT</version>
   </parent>
   <artifactId>apache-rat-plugin-tools</artifactId>
diff --git a/apache-rat-plugin-parent/spotbugs-ignore.xml b/apache-rat-maven-parent/tools/spotbugs-ignore.xml
similarity index 100%
rename from apache-rat-plugin-parent/spotbugs-ignore.xml
rename to apache-rat-maven-parent/tools/spotbugs-ignore.xml
diff --git a/apache-rat-plugin-parent/tools/src/main/java/org/apache/rat/maven/CodeGenerator.java b/apache-rat-maven-parent/tools/src/main/java/org/apache/rat/maven/CodeGenerator.java
similarity index 100%
rename from apache-rat-plugin-parent/tools/src/main/java/org/apache/rat/maven/CodeGenerator.java
rename to apache-rat-maven-parent/tools/src/main/java/org/apache/rat/maven/CodeGenerator.java
diff --git a/apache-rat-plugin-parent/tools/src/main/java/org/apache/rat/maven/MavenOption.java b/apache-rat-maven-parent/tools/src/main/java/org/apache/rat/maven/MavenOption.java
similarity index 95%
rename from apache-rat-plugin-parent/tools/src/main/java/org/apache/rat/maven/MavenOption.java
rename to apache-rat-maven-parent/tools/src/main/java/org/apache/rat/maven/MavenOption.java
index f8c82930..3766ce66 100644
--- a/apache-rat-plugin-parent/tools/src/main/java/org/apache/rat/maven/MavenOption.java
+++ b/apache-rat-maven-parent/tools/src/main/java/org/apache/rat/maven/MavenOption.java
@@ -41,28 +41,19 @@ import static java.lang.String.format;
  */
 public final class MavenOption extends AbstractOption<MavenOption> {
 
-    /**
-     * Default values for CLI options
-     */
+    /** Default values for CLI options */
     public static final UnmodifiableMap<Arg, String> DEFAULT_VALUES;
-    /**
-     * List of CLI options that are not supported by Maven.
-     */
+    /** Set of CLI options that are not supported by Maven. */
     public static final UnmodifiableSet<Option> UNSUPPORTED_SET;
     /** A mapping of external name to internal name if not standard. */
     public static final UnmodifiableMap<String, String> RENAME_MAP;
     /** The additional options for the maven plugin */
     static final Options ADDITIONAL_OPTIONS = new Options();
-    /**
-     * Filter to remove options not supported by Maven.
-     */
+    /** Filter to remove options not supported by Maven. */
     static final Predicate<Option> MAVEN_FILTER;
-    /**
-     * The OptionFactory configuration for MavenOptions.
-     */
+    /** The OptionFactory configuration for MavenOptions. */
     public static final OptionFactory.Config<MavenOption> FACTORY_CONFIG;
 
-
     static {
         HashMap<String, String> map = new HashMap<>();
         map.put("addLicense", "add-license");
diff --git a/apache-rat-plugin-parent/tools/src/main/java/org/apache/rat/maven/TestGenerator.java b/apache-rat-maven-parent/tools/src/main/java/org/apache/rat/maven/TestGenerator.java
similarity index 100%
rename from apache-rat-plugin-parent/tools/src/main/java/org/apache/rat/maven/TestGenerator.java
rename to apache-rat-maven-parent/tools/src/main/java/org/apache/rat/maven/TestGenerator.java
diff --git a/apache-rat-plugin-parent/tools/src/main/java/org/apache/rat/maven/package-info.java b/apache-rat-maven-parent/tools/src/main/java/org/apache/rat/maven/package-info.java
similarity index 100%
rename from apache-rat-plugin-parent/tools/src/main/java/org/apache/rat/maven/package-info.java
rename to apache-rat-maven-parent/tools/src/main/java/org/apache/rat/maven/package-info.java
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/AbstractMaven.vm b/apache-rat-maven-parent/tools/src/main/resources/org/apache/rat/maven/AbstractMaven.vm
similarity index 100%
rename from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/AbstractMaven.vm
rename to apache-rat-maven-parent/tools/src/main/resources/org/apache/rat/maven/AbstractMaven.vm
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/AbstractMavenFunc.vm b/apache-rat-maven-parent/tools/src/main/resources/org/apache/rat/maven/AbstractMavenFunc.vm
similarity index 100%
rename from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/AbstractMavenFunc.vm
rename to apache-rat-maven-parent/tools/src/main/resources/org/apache/rat/maven/AbstractMavenFunc.vm
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestJava.vm b/apache-rat-maven-parent/tools/src/main/resources/org/apache/rat/maven/TestJava.vm
similarity index 100%
rename from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestJava.vm
rename to apache-rat-maven-parent/tools/src/main/resources/org/apache/rat/maven/TestJava.vm
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestMethod.vm b/apache-rat-maven-parent/tools/src/main/resources/org/apache/rat/maven/TestMethod.vm
similarity index 100%
rename from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestMethod.vm
rename to apache-rat-maven-parent/tools/src/main/resources/org/apache/rat/maven/TestMethod.vm
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm b/apache-rat-maven-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
similarity index 100%
rename from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
rename to apache-rat-maven-parent/tools/src/main/resources/org/apache/rat/maven/TestPom.vm
diff --git a/apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestStub.vm b/apache-rat-maven-parent/tools/src/main/resources/org/apache/rat/maven/TestStub.vm
similarity index 100%
rename from apache-rat-plugin-parent/tools/src/main/resources/org/apache/rat/maven/TestStub.vm
rename to apache-rat-maven-parent/tools/src/main/resources/org/apache/rat/maven/TestStub.vm
diff --git a/apache-rat-tasks/.gitignore b/apache-rat-tasks/.gitignore
deleted file mode 100644
index bd575ac7..00000000
--- a/apache-rat-tasks/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-/target/
-**/BaseAntTask.java
-src/site/apt/ant_options.apt
-src/site/apt/index.apt.vm
diff --git a/pom.xml b/pom.xml
index a784d72c..54f9cf6b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -125,7 +125,7 @@ agnostic home for software distribution comprehension and audit tools.
       </dependency>
       <dependency>
         <groupId>org.apache.rat</groupId>
-        <artifactId>apache-rat-plugin-parent</artifactId>
+        <artifactId>apache-rat-maven-parent</artifactId>
         <version>${project.version}</version>
       </dependency>
       <dependency>
@@ -781,17 +781,22 @@ agnostic home for software distribution comprehension and audit tools.
           </dependency>
         </dependencies>
       </plugin>
-      <plugin>
-        <groupId>org.apache.rat</groupId>
-        <artifactId>apache-rat-plugin</artifactId>
-        <executions>
-          <execution>
-            <goals>
-              <goal>check</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
+<!--      <plugin>-->
+<!--        <groupId>org.apache.rat</groupId>-->
+<!--        <artifactId>apache-rat-plugin</artifactId>-->
+<!--        <executions>-->
+<!--          <execution>-->
+<!--            <goals>-->
+<!--              <goal>check</goal>-->
+<!--            </goals>-->
+<!--            <configuration>-->
+<!--              <inputExcludes>-->
+<!--                <exclude>apache-rat-tools/**</exclude>-->
+<!--              </inputExcludes>-->
+<!--            </configuration>-->
+<!--          </execution>-->
+<!--        </executions>-->
+<!--      </plugin>-->
       <plugin>
         <groupId>org.codehaus.mojo</groupId>
         <artifactId>animal-sniffer-maven-plugin</artifactId>
@@ -982,8 +987,8 @@ agnostic home for software distribution comprehension and audit tools.
     <module>apache-rat-core</module>
     <module>apache-rat-core-tests</module>
     <module>apache-rat-cli</module>
-    <module>apache-rat-plugin-parent</module>
-    <module>apache-rat-tasks</module>
+    <module>apache-rat-maven-parent</module>
+    <module>apache-rat-ant-parent</module>
     <module>apache-rat</module>
   </modules>
   <licenses>