This is an automated email from the ASF dual-hosted git repository. sgoeschl pushed a commit to branch FREEMARKER-129 in repository https://gitbox.apache.org/repos/asf/freemarker-generator.git
commit 1c5c9ba20f6ff2e86f4b25811b24ff7498317cf5 Author: Siegfried Goeschl <[email protected]> AuthorDate: Wed Feb 5 07:57:55 2020 +0100 FREEMARKER-129 Rename / move things around --- CHANGELOG.md | 17 ++ maven-plugin/LICENSE => LICENSE | 0 base/LICENSE | 201 --------------------- cli/CHANGELOG.md | 80 -------- cli/LICENSE | 201 --------------------- freemarker-generator-base/README.md | 6 + {base => freemarker-generator-base}/pom.xml | 2 +- .../base/activation/ByteArrayDataSource.java | 1 + .../base/activation/InputStreamDataSource.java | 4 + .../base/activation/StringDataSource.java | 4 + .../generator/base/document/Document.java | 8 +- .../generator/base/document/DocumentFactory.java | 0 .../generator/base/document/Documents.java | 2 +- .../generator/base/document/DocumentsSupplier.java | 21 ++- .../base/file/PropertiesFileSupplier.java | 32 ++-- .../generator/base/file/RecursiveFileSupplier.java | 14 +- .../generator/base/util/ClosableUtils.java | 0 .../generator/base/util/CloseableReaper.java | 0 .../generator/base/util/StringUtils.java | 0 .../src/test/data/csv/file_01.csv | 0 .../src/test/data/csv/file_02.csv | 0 .../src/test/data/properties/test.properties | 1 + .../src/test/data/txt/file_01.txt | 0 .../generator/document/DocumentFactoryTest.java | 0 .../generator/document/DocumentTest.java | 0 .../generator/document/DocumentsSupplierTest.java | 32 ++-- .../generator/document/DocumentsTest.java | 0 .../generator/file/PropertiesFileSupplierTest.java | 30 +-- .../generator/file}/RecursiveFileResolverTest.java | 30 +-- {cli => freemarker-generator-cli}/README.md | 0 {cli => freemarker-generator-cli}/pom.xml | 0 {cli => freemarker-generator-cli}/run-samples.sh | 0 .../site/image/contract.png | Bin .../site/image/excel-to-html.png | Bin .../site/image/github.png | Bin .../site/image/locker-test-users-pdf.png | Bin .../site/image/transactions.png | Bin .../site/sample/accesslog/combined-access.log | 0 .../site/sample/csv/contract.csv | 0 .../site/sample/csv/excel-export-utf8.csv | 0 .../site/sample/csv/locker-test-users.csv | 0 .../site/sample/csv/transactions.csv | 0 .../site/sample/csv/user.csv | 0 .../site/sample/excel/test-multiple-sheets.xlsx | Bin .../site/sample/excel/test.xls | Bin .../site/sample/excel/test.xlsx | Bin .../site/sample/html/dependencies.html | 0 .../site/sample/json/github-users.json | 0 .../site/sample/json/swagger-spec.json | 0 .../site/sample/properties/user_0001.properties | 0 .../site/sample/properties/user_0002.properties | 0 .../site/sample/properties/user_0003.properties | 0 .../site/sample/properties/user_0004.properties | 0 .../site/sample/xml/recipients.xml | 0 .../site/sample/yaml/customer.yaml | 0 .../src/main/assembly/app.xml | 0 .../src/main/assembly/dist.xml | 0 .../src/main/assembly/small.xml | 0 .../src/main/config}/freemarker-cli.properties | 0 .../freemarker/generator/cli/FreeMarkerTask.java | 4 +- .../org/apache/freemarker/generator/cli/Main.java | 6 +- .../generator/cli/impl/ConfigurationSupplier.java | 0 .../cli/impl/TemplateDirectorySupplier.java | 0 .../generator/cli/impl/TemplateLoaderSupplier.java | 0 .../generator/cli/impl/ToolsSupplier.java | 2 +- .../freemarker/generator/cli/model/Settings.java | 4 +- .../generator/cli/picocli/GitVersionProvider.java | 0 .../cli/tools/commonscsv/CommonsCSVTool.java | 0 .../cli/tools/commonsexec/CommonsExecTool.java | 0 .../generator/cli/tools/excel/ExcelTool.java | 0 .../cli/tools/freemarker/FreeMarkerTool.java | 0 .../generator/cli/tools/grok/GrokTool.java | 0 .../generator/cli/tools/grok/GrokWrapper.java | 0 .../generator/cli/tools/jsonpath/JsonPathTool.java | 0 .../generator/cli/tools/jsoup/JsoupTool.java | 0 .../cli/tools/properties/PropertiesTool.java | 0 .../cli/tools/snakeyaml/SnakeYamlTool.java | 0 .../generator/cli/tools/system/SystemTool.java | 0 .../generator/cli/tools/uuid/UUIDTool.java | 0 .../generator/cli/tools/xml/XmlTool.java | 0 .../generator/cli}/util/LocaleUtils.java | 4 +- .../cli}/util/NonClosableWriterWrapper.java | 2 +- .../src/main/resources}/freemarker-cli.properties | 0 .../src/main/resources/patterns/firewalls | 0 .../src/main/resources/patterns/haproxy | 0 .../src/main/resources/patterns/java | 0 .../src/main/resources/patterns/linux-syslog | 0 .../src/main/resources/patterns/nagios | 0 .../src/main/resources/patterns/patterns | 0 .../src/main/resources/patterns/postfix | 0 .../src/main/resources/patterns/ruby | 0 .../src/main/scripts/run-samples.sh | 0 .../src/test/data/encoding/utf16.txt | Bin .../src/test/data/encoding/utf8.txt | 0 .../freemarker/generator/cli/AbstractMainTest.java | 0 .../freemarker/generator/cli/ExamplesTest.java | 0 .../freemarker/generator/cli/ManualTest.java | 0 .../generator/cli/SecurityRelatedTest.java | 0 .../generator/cli/SourceEncodingTest.java | 0 .../generator/cli/TemplateLoadingTest.java | 0 .../generator/cli/UserSuppliedLocaleTest.java | 0 .../cli/tools/commonscsv/CommonsCSVToolTest.java | 0 .../cli/tools/commonsexec/CommonsExecToolTest.java | 0 .../generator/cli/tools/excel/ExcelToolTest.java | 0 .../cli/tools/freemarker/FreeMarkerToolTest.java | 0 .../generator/cli/tools/grok/GrokToolTest.java | 0 .../cli/tools/jsonpath/JsonPathToolTest.java | 0 .../generator/cli/tools/jsoup/JsoupToolTest.java | 0 .../cli/tools/properties/PropertiesToolTest.java | 0 .../cli/tools/snakeyaml/SnakeYamlToolTest.java | 0 .../generator/cli/tools/system/SystemToolTest.java | 0 .../generator/cli/tools/uuid/UUIDToolTest.java | 0 .../generator/cli/tools/xml/XmlToolTest.java | 0 .../src/test/templates/echo.ftl | 0 .../src/test/templates/environment.ftl | 0 .../src/test/templates/locale.ftl | 0 .../src/test/templates/manual.ftl | 0 .../src/test/templates/security/api.ftl | 0 .../src/test/templates/security/new.ftl | 0 .../src/test/templates/tools/csv.ftl | 0 .../templates/accesslog/combined-access.ftl | 0 .../templates/cat.ftl | 0 .../templates/csv/csv/gatling-user-credentials.ftl | 0 .../templates/csv/fo/transactions.ftl | 0 .../templates/csv/fo/transform.ftl | 0 .../templates/csv/html/transactions.ftl | 0 .../templates/csv/html/transform.ftl | 0 .../templates/csv/md/transform.ftl | 0 .../templates/csv/shell/curl.ftl | 0 .../templates/csv/transform.ftl | 0 .../templates/demo.ftl | 0 .../templates/excel/csv/custom.ftl | 0 .../templates/excel/csv/transform.ftl | 0 .../templates/excel/html/transform.ftl | 0 .../templates/excel/md/transform.ftl | 0 .../templates/html/csv/dependencies.ftl | 0 .../templates/info.ftl | 0 .../templates/json/csv/swagger-endpoints.ftl | 0 .../templates/json/md/github-users.ftl | 0 .../templates/properties/csv/locker-test-users.ftl | 0 .../templates/tsv/fo/transactions.ftl | 0 .../templates/xml/txt/recipients.ftl | 0 .../templates/yaml/txt/transform.ftl | 0 .../README.md | 0 .../pom.xml | 0 .../freemarker/generator/maven/FactoryUtil.java | 0 .../freemarker/generator/maven/FreeMarkerMojo.java | 0 .../generator/maven/GeneratingFileVisitor.java | 0 .../generator/maven/JsonPropertiesProvider.java | 0 .../generator/maven/OutputGenerator.java | 0 .../maven/OutputGeneratorPropertiesProvider.java | 0 .../test/data/freemarker-mojo/data/test.txt.json | 0 .../data/freemarker-mojo/freemarker.properties | 0 .../test/data/freemarker-mojo/template/test.ftl | 0 .../badPath/success-test.txt.json | 0 .../data/badParent/bad-parent-test.txt.json | 0 .../data/mydir/bad-extension-test.txt | 0 .../data/mydir/bad-template-name.txt.json | 0 .../data/mydir/missing-template-name.txt.json | 0 .../data/mydir/missing-var-test.txt.json | 0 .../data/mydir/success-test-2.txt.json | 0 .../data/mydir/success-test.txt.json | 0 .../template/test-pom-only.ftl | 0 .../data/generating-file-visitor/template/test.ftl | 0 .../generator/maven/FreeMarkerMojoTest.java | 0 .../generator/maven/GeneratingFileVisitorTest.java | 0 .../maven/JsonPropertiesProviderTest.java | 0 .../generator/maven/OutputGeneratorTest.java | 0 maven-plugin/CHANGELOG.md | 15 -- maven-plugin/NOTICE | 5 - pom.xml | 8 +- 171 files changed, 139 insertions(+), 597 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..a476f73 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,17 @@ +# Change Log + +All notable changes to this project will be documented in this file. We try to adhere to https://github.com/olivierlacan/keep-a-changelog. + +## 0.1.0-SNAPSHOT + +### Added + +### Changed + +[FREEMARKER-129] freemarker-generator: Merge "freemarker-cli" into "freemarker-generator" + +### Deleted + +### Fixed + +[FREEMARKER-129]: https://issues.apache.org/jira/browse/FREEMARKER-129 \ No newline at end of file diff --git a/maven-plugin/LICENSE b/LICENSE similarity index 100% rename from maven-plugin/LICENSE rename to LICENSE diff --git a/base/LICENSE b/base/LICENSE deleted file mode 100644 index 8dada3e..0000000 --- a/base/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed 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. diff --git a/cli/CHANGELOG.md b/cli/CHANGELOG.md deleted file mode 100644 index 649506c..0000000 --- a/cli/CHANGELOG.md +++ /dev/null @@ -1,80 +0,0 @@ -# Change Log - -All notable changes to this project will be documented in this file. We try to adhere to https://github.com/olivierlacan/keep-a-changelog. - -## 2.0.0-BETA-6-SNAPSHOT - TBA - -### Changed -- Improve Swagger JSON to CSV example -- Using `ALLOWS_NOTHING_RESOLVER` built-in class resolver -- Silently skipped tools whose implementation classes can't be even loaded - -## [2.0.0-BETA-5] - 2019-12-22 - -### Added -- Support interactive mode (`-i` or `--interactive`) to supply FreeMarker templates on the command line -- `UUIDTool` to create random and named UUIDs -- `ExcelTool` returns raw table consisting of the underlying Java data type -- `Document#getUnsafeInputStream` to get a input stream which needs to be closed by the caller -- `CSVTool` allows parsing plain string CSV -- Tools are loaded from `freemarker-cli.properties` and freely configurable -- Add RAT & PMD report to Maven site generation -- Add `-times` command line option to execute the transformation N times - -### Changed -- Renamed `ExcelTool#parseSheet` to `ExcelTool#toTable` -- Removed various Tool constructors taking `Settings` -- Do not use `documents[0]` as top-level variable - use `Documents.get(0)` instead -- Available CSV formats are exposed using the CSVTool and not the global data model -- Expose user-supplied system properties as top-level variables when using `-E` -- Keep track of all `Closables` created & handed out to FreeMarker template rendering -- Move `ObjectConstructor`, `Statics` and `Enums` into `FreeMarkerTool` - -### Deleted -- `Environment` & `SystemProperties` were deleted and the functionality moved to `SystemTool` -- All `DataModel` classes were deleted - -## [2.0.0-BETA-4] - 2019-11-12 - -### Added -- Support executing arbitrary command based on Apache Commons Exec -- The `JsonPathTool` supports parsing a string - -## [2.0.0-BETA-3] - 2019-10-20 - -### Added -- Keeping track of internally created "Closables" of a document and closing them after rendering -- Define CSV delimiters using symbolic symbolic names, e.g. "COMMA", "TAB", etc. - -### Fixed -- Use expected order of FreeMarker MultiTemplateLoader to reolve a template - -## [2.0.0-BETA-2] - 2019-10-15 - -### Added -- Add "-E" command line option to expose all environment variable as top-level entry in the data model -- Support for [Grok](https://github.com/thekrakken/java-grok) as better alternative for regular expressions -- Support for streaming textual content over `System.in` to allow processing of arbitrary large source files -- Display Git version information when using `-V` command line option - -### Fixed -- ExcelTool uses MissingCellPolicy.CREATE_NULL_AS_BLANK to handle missing cells -- Pass the correct output encoding to writer -- Allow absolute template file names which are loaded directly instead of using TemplateLoaders - -## [2.0.0-BETA-1] - 2019-10-12 - -### Added -- Support for YAML files using SnakeYAML - -### Changed -- Upgraded dependencies -- Migrated from Groovy to plain old JDK 1.8 -- Works as standalone application with OS wrapper scripts -- Existing templates will break due to naming changes of injected helper classes - -[2.0.0-BETA-5]: https://github.com/sgoeschl/freemarker-cli/releases/tag/v2.0.0-BETA-5 -[2.0.0-BETA-4]: https://github.com/sgoeschl/freemarker-cli/releases/tag/v2.0.0-BETA-4 -[2.0.0-BETA-3]: https://github.com/sgoeschl/freemarker-cli/releases/tag/v2.0.0-BETA-3 -[2.0.0-BETA-2]: https://github.com/sgoeschl/freemarker-cli/releases/tag/v2.0.0-BETA-2 -[2.0.0-BETA-1]: https://github.com/sgoeschl/freemarker-cli/releases/tag/v2.0.0-BETA-1 diff --git a/cli/LICENSE b/cli/LICENSE deleted file mode 100644 index 8dada3e..0000000 --- a/cli/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed 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. diff --git a/freemarker-generator-base/README.md b/freemarker-generator-base/README.md new file mode 100644 index 0000000..1d6a45f --- /dev/null +++ b/freemarker-generator-base/README.md @@ -0,0 +1,6 @@ +# Overview + +This module provides common functionality for `freemarker-generator-cli` and `freemarker-generator-maven-plugin` such as + +* Various implementation of `DataSources` +* Implementation of `Document` and their handling diff --git a/base/pom.xml b/freemarker-generator-base/pom.xml similarity index 97% rename from base/pom.xml rename to freemarker-generator-base/pom.xml index 64f46da..d86e3d3 100644 --- a/base/pom.xml +++ b/freemarker-generator-base/pom.xml @@ -27,7 +27,7 @@ <artifactId>freemarker-generator-base</artifactId> <packaging>jar</packaging> - <name>Apache FreeMarker Generator: CLI Base</name> + <name>Apache FreeMarker Generator: Base</name> <description>Command-line client for Apache FreeMarker</description> <inceptionYear>2020</inceptionYear> diff --git a/base/src/main/java/org/apache/freemarker/generator/base/activation/ByteArrayDataSource.java b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/activation/ByteArrayDataSource.java similarity index 99% rename from base/src/main/java/org/apache/freemarker/generator/base/activation/ByteArrayDataSource.java rename to freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/activation/ByteArrayDataSource.java index a58328b..ef9aaf3 100644 --- a/base/src/main/java/org/apache/freemarker/generator/base/activation/ByteArrayDataSource.java +++ b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/activation/ByteArrayDataSource.java @@ -25,6 +25,7 @@ import java.io.OutputStream; import static java.util.Objects.requireNonNull; public class ByteArrayDataSource implements DataSource { + private static final String DEFAULT_CONTENT_TYPE = "application/octet-stream"; private final String name; diff --git a/base/src/main/java/org/apache/freemarker/generator/base/activation/InputStreamDataSource.java b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/activation/InputStreamDataSource.java similarity index 95% rename from base/src/main/java/org/apache/freemarker/generator/base/activation/InputStreamDataSource.java rename to freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/activation/InputStreamDataSource.java index 72c0ecb..fa404fe 100644 --- a/base/src/main/java/org/apache/freemarker/generator/base/activation/InputStreamDataSource.java +++ b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/activation/InputStreamDataSource.java @@ -22,6 +22,10 @@ import java.io.OutputStream; import static java.util.Objects.requireNonNull; +/** + * Wraps an InputStream into a DataSource. Please note that the input stream + * can be consumed only once. + */ public class InputStreamDataSource implements DataSource { private static final String DEFAULT_CONTENT_TYPE = "application/octet-stream"; diff --git a/base/src/main/java/org/apache/freemarker/generator/base/activation/StringDataSource.java b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/activation/StringDataSource.java similarity index 97% rename from base/src/main/java/org/apache/freemarker/generator/base/activation/StringDataSource.java rename to freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/activation/StringDataSource.java index 3c871c5..aea906f 100644 --- a/base/src/main/java/org/apache/freemarker/generator/base/activation/StringDataSource.java +++ b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/activation/StringDataSource.java @@ -65,6 +65,10 @@ public class StringDataSource implements DataSource { return content; } + public Charset getCharset() { + return charset; + } + @Override public String toString() { return "StringDataSource{" + diff --git a/base/src/main/java/org/apache/freemarker/generator/base/document/Document.java b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/document/Document.java similarity index 96% rename from base/src/main/java/org/apache/freemarker/generator/base/document/Document.java rename to freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/document/Document.java index b5bed63..36c51b1 100644 --- a/base/src/main/java/org/apache/freemarker/generator/base/document/Document.java +++ b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/document/Document.java @@ -103,7 +103,7 @@ public class Document implements Closeable { * @throws IOException Operation failed */ public InputStream getInputStream() throws IOException { - return closables.add(dataSource.getInputStream()); + return closables.add(getUnsafeInputStream()); } /** @@ -122,7 +122,7 @@ public class Document implements Closeable { public String getText(String charsetName) throws IOException { final StringWriter writer = new StringWriter(); - try (InputStream is = dataSource.getInputStream()) { + try (InputStream is = getUnsafeInputStream()) { IOUtils.copy(is, writer, forName(charsetName)); return writer.toString(); } @@ -148,7 +148,7 @@ public class Document implements Closeable { * @throws IOException if an I/O error occurs */ public List<String> getLines(String charsetName) throws IOException { - try (InputStream inputStream = dataSource.getInputStream()) { + try (InputStream inputStream = getUnsafeInputStream()) { return IOUtils.readLines(inputStream, charsetName); } } @@ -179,7 +179,7 @@ public class Document implements Closeable { } public byte[] getBytes() throws IOException { - try (InputStream inputStream = dataSource.getInputStream()) { + try (InputStream inputStream = getUnsafeInputStream()) { return IOUtils.toByteArray(inputStream); } } diff --git a/base/src/main/java/org/apache/freemarker/generator/base/document/DocumentFactory.java b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/document/DocumentFactory.java similarity index 100% rename from base/src/main/java/org/apache/freemarker/generator/base/document/DocumentFactory.java rename to freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/document/DocumentFactory.java diff --git a/base/src/main/java/org/apache/freemarker/generator/base/document/Documents.java b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/document/Documents.java similarity index 97% rename from base/src/main/java/org/apache/freemarker/generator/base/document/Documents.java rename to freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/document/Documents.java index f92681c..51fe18d 100644 --- a/base/src/main/java/org/apache/freemarker/generator/base/document/Documents.java +++ b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/document/Documents.java @@ -28,7 +28,7 @@ import static java.util.stream.Collectors.toList; import static org.apache.commons.io.FilenameUtils.wildcardMatch; /** - * Container for documents with a couple of convinience functions to select + * Container for documents with a couple of convenience functions to select * a subset of documents. */ public class Documents implements Closeable { diff --git a/base/src/main/java/org/apache/freemarker/generator/base/document/DocumentSupplier.java b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/document/DocumentsSupplier.java similarity index 76% rename from base/src/main/java/org/apache/freemarker/generator/base/document/DocumentSupplier.java rename to freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/document/DocumentsSupplier.java index 7a04522..0e0af1d 100644 --- a/base/src/main/java/org/apache/freemarker/generator/base/document/DocumentSupplier.java +++ b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/document/DocumentsSupplier.java @@ -17,7 +17,7 @@ package org.apache.freemarker.generator.base.document; -import org.apache.freemarker.generator.base.config.RecursiveFileResolver; +import org.apache.freemarker.generator.base.file.RecursiveFileSupplier; import java.net.MalformedURLException; import java.net.URL; @@ -31,9 +31,10 @@ import static java.util.Objects.requireNonNull; import static java.util.stream.Collectors.toList; /** - * Supplies a list of input files & directories. + * Create a list of <code>Document</code> based on a list of sources consisting of + * URLs, directories and files. */ -public class DocumentSupplier implements Supplier<List<Document>> { +public class DocumentsSupplier implements Supplier<List<Document>> { /** List of input files and/or directories */ private final Collection<String> sources; @@ -41,10 +42,10 @@ public class DocumentSupplier implements Supplier<List<Document>> { /** Include pattern for resolving files from a directory */ private final String include; - /** The charset to use for loading a text file */ + /** The charset to use for loading text files */ private final Charset charset; - public DocumentSupplier(Collection<String> sources, String include, Charset charset) { + public DocumentsSupplier(Collection<String> sources, String include, Charset charset) { this.sources = requireNonNull(sources); this.include = include; this.charset = charset; @@ -66,18 +67,18 @@ public class DocumentSupplier implements Supplier<List<Document>> { } } - private Document resolveUrl(String url) { + private static Document resolveUrl(String url) { return DocumentFactory.create(toUrl(url)); } - private List<Document> resolveFile(String source, String include, Charset charset) { - return fileResolver(source, include).resolve().stream() + private static List<Document> resolveFile(String source, String include, Charset charset) { + return fileResolver(source, include).get().stream() .map(file -> DocumentFactory.create(file, charset)) .collect(toList()); } - private RecursiveFileResolver fileResolver(String source, String include) { - return new RecursiveFileResolver(source, include); + private static RecursiveFileSupplier fileResolver(String source, String include) { + return new RecursiveFileSupplier(singletonList(source), include); } private static boolean isUrl(String value) { diff --git a/cli/src/main/java/org/apache/freemarker/generator/cli/impl/PropertiesFileResolver.java b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/file/PropertiesFileSupplier.java similarity index 71% rename from cli/src/main/java/org/apache/freemarker/generator/cli/impl/PropertiesFileResolver.java rename to freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/file/PropertiesFileSupplier.java index 935d365..67141b9 100644 --- a/cli/src/main/java/org/apache/freemarker/generator/cli/impl/PropertiesFileResolver.java +++ b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/file/PropertiesFileSupplier.java @@ -14,29 +14,35 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.freemarker.generator.cli.impl; +package org.apache.freemarker.generator.base.file; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.Properties; +import java.util.function.Supplier; import static java.util.Objects.requireNonNull; /** - * Resolve a given properties file either from the file system or the classapth. + * Resolve a given properties file either from the file system or the classpath. */ -public class PropertiesFileResolver { +public class PropertiesFileSupplier implements Supplier<Properties> { private final String fileName; - public PropertiesFileResolver(String fileName) { + public PropertiesFileSupplier(String fileName) { this.fileName = requireNonNull(fileName); } - public Properties resolve() throws IOException { - return resolveFromFileSystemOrClassPath(fileName); + @Override + public Properties get() { + try { + return resolveFromFileSystemOrClassPath(fileName); + } catch (IOException e) { + throw new RuntimeException("Failed to supply properties file:" + fileName); + } } private static Properties resolveFromFileSystemOrClassPath(String fileName) throws IOException { @@ -46,26 +52,28 @@ public class PropertiesFileResolver { private static Properties resolveFromClassPath(String fileName) throws IOException { final Properties properties = new Properties(); - final InputStream stream = PropertiesFileResolver.class.getResourceAsStream(resourceName(fileName)); + final InputStream is = PropertiesFileSupplier.class.getResourceAsStream(resourceName(fileName)); - if (stream == null) { + if (is == null) { return null; } try { - properties.load(stream); + properties.load(is); return properties; } finally { - stream.close(); + is.close(); } } private static Properties resolveFromFileSystem(String fileName) throws IOException { - if (!new File(fileName).exists()) { + final File file = new File(fileName); + + if (!file.exists()) { return null; } - try (InputStream input = new FileInputStream("fileName")) { + try (InputStream input = new FileInputStream(file)) { final Properties properties = new Properties(); properties.load(input); return properties; diff --git a/base/src/main/java/org/apache/freemarker/generator/base/config/RecursiveFileResolver.java b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/file/RecursiveFileSupplier.java similarity index 90% rename from base/src/main/java/org/apache/freemarker/generator/base/config/RecursiveFileResolver.java rename to freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/file/RecursiveFileSupplier.java index 467494b..b896383 100644 --- a/base/src/main/java/org/apache/freemarker/generator/base/config/RecursiveFileResolver.java +++ b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/file/RecursiveFileSupplier.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.freemarker.generator.base.config; +package org.apache.freemarker.generator.base.file; import org.apache.commons.io.filefilter.AndFileFilter; import org.apache.commons.io.filefilter.IOFileFilter; @@ -24,6 +24,7 @@ import java.io.File; import java.util.ArrayList; import java.util.Collection; import java.util.List; +import java.util.function.Supplier; import static java.util.Collections.emptyList; import static java.util.Collections.singletonList; @@ -36,7 +37,7 @@ import static org.apache.commons.io.filefilter.HiddenFileFilter.VISIBLE; * Resolve a list of files or directories recursively and * skip hidden files & directories. */ -public class RecursiveFileResolver { +public class RecursiveFileSupplier implements Supplier<List<File>> { public static final String MATCH_ALL = "*"; @@ -44,17 +45,14 @@ public class RecursiveFileResolver { private final IOFileFilter fileFilter; private final IOFileFilter directoryFilter; - public RecursiveFileResolver(String source, String includes) { - this(singletonList(source), includes); - } - - public RecursiveFileResolver(Collection<String> sources, String includes) { + public RecursiveFileSupplier(Collection<String> sources, String includes) { this.sources = requireNonNull(sources); this.fileFilter = fileFilter(includes); this.directoryFilter = directoryFilter(); } - public List<File> resolve() { + @Override + public List<File> get() { return sources.stream() .map(this::resolve) .flatMap(Collection::stream) diff --git a/base/src/main/java/org/apache/freemarker/generator/base/util/ClosableUtils.java b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/util/ClosableUtils.java similarity index 100% rename from base/src/main/java/org/apache/freemarker/generator/base/util/ClosableUtils.java rename to freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/util/ClosableUtils.java diff --git a/base/src/main/java/org/apache/freemarker/generator/base/util/CloseableReaper.java b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/util/CloseableReaper.java similarity index 100% rename from base/src/main/java/org/apache/freemarker/generator/base/util/CloseableReaper.java rename to freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/util/CloseableReaper.java diff --git a/base/src/main/java/org/apache/freemarker/generator/base/util/StringUtils.java b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/util/StringUtils.java similarity index 100% rename from base/src/main/java/org/apache/freemarker/generator/base/util/StringUtils.java rename to freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/util/StringUtils.java diff --git a/base/src/test/data/csv/file_01.csv b/freemarker-generator-base/src/test/data/csv/file_01.csv similarity index 100% rename from base/src/test/data/csv/file_01.csv rename to freemarker-generator-base/src/test/data/csv/file_01.csv diff --git a/base/src/test/data/csv/file_02.csv b/freemarker-generator-base/src/test/data/csv/file_02.csv similarity index 100% rename from base/src/test/data/csv/file_02.csv rename to freemarker-generator-base/src/test/data/csv/file_02.csv diff --git a/freemarker-generator-base/src/test/data/properties/test.properties b/freemarker-generator-base/src/test/data/properties/test.properties new file mode 100644 index 0000000..c9f0304 --- /dev/null +++ b/freemarker-generator-base/src/test/data/properties/test.properties @@ -0,0 +1 @@ +foo=bar \ No newline at end of file diff --git a/base/src/test/data/txt/file_01.txt b/freemarker-generator-base/src/test/data/txt/file_01.txt similarity index 100% rename from base/src/test/data/txt/file_01.txt rename to freemarker-generator-base/src/test/data/txt/file_01.txt diff --git a/base/src/test/java/org/apache/freemarker/generator/document/DocumentFactoryTest.java b/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/document/DocumentFactoryTest.java similarity index 100% rename from base/src/test/java/org/apache/freemarker/generator/document/DocumentFactoryTest.java rename to freemarker-generator-base/src/test/java/org/apache/freemarker/generator/document/DocumentFactoryTest.java diff --git a/base/src/test/java/org/apache/freemarker/generator/document/DocumentTest.java b/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/document/DocumentTest.java similarity index 100% rename from base/src/test/java/org/apache/freemarker/generator/document/DocumentTest.java rename to freemarker-generator-base/src/test/java/org/apache/freemarker/generator/document/DocumentTest.java diff --git a/base/src/test/java/org/apache/freemarker/generator/document/DocumentsResolverTest.java b/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/document/DocumentsSupplierTest.java similarity index 71% rename from base/src/test/java/org/apache/freemarker/generator/document/DocumentsResolverTest.java rename to freemarker-generator-base/src/test/java/org/apache/freemarker/generator/document/DocumentsSupplierTest.java index 1e148da..b052e0d 100644 --- a/base/src/test/java/org/apache/freemarker/generator/document/DocumentsResolverTest.java +++ b/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/document/DocumentsSupplierTest.java @@ -17,7 +17,7 @@ package org.apache.freemarker.generator.document; import org.apache.freemarker.generator.base.document.Document; -import org.apache.freemarker.generator.base.document.DocumentSupplier; +import org.apache.freemarker.generator.base.document.DocumentsSupplier; import org.junit.Test; import java.nio.charset.Charset; @@ -25,11 +25,11 @@ import java.util.Arrays; import java.util.List; import static java.util.Collections.singletonList; -import static org.apache.freemarker.generator.base.config.RecursiveFileResolver.MATCH_ALL; +import static org.apache.freemarker.generator.base.file.RecursiveFileSupplier.MATCH_ALL; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; -public class DocumentsResolverTest { +public class DocumentsSupplierTest { private static final String ANY_FILE = "./pom.xml"; private static final String ANY_DIRECTORY = "./src/test/data"; @@ -41,21 +41,21 @@ public class DocumentsResolverTest { @Test public void shouldResolveMultipleFiles() { - final List<String> sources = Arrays.asList("pom.xml", "LICENSE"); + final List<String> sources = Arrays.asList("pom.xml", "README.md"); assertEquals(2, supplier(sources, null).get().size()); assertEquals(2, supplier(sources, "").get().size()); assertEquals(2, supplier(sources, "*").get().size()); assertEquals(1, supplier(sources, "*.xml").get().size()); assertEquals(1, supplier(sources, "*.x**").get().size()); - assertEquals(1, supplier(sources, "LICENSE").get().size()); + assertEquals(1, supplier(sources, "*.md").get().size()); assertEquals(0, supplier(sources, "*.bin").get().size()); } @Test public void shouldResolveDirectory() { - assertEquals(3, supplier(ANY_DIRECTORY, null).get().size()); - assertEquals(3, supplier(ANY_DIRECTORY, "").get().size()); - assertEquals(3, supplier(ANY_DIRECTORY, "*").get().size()); + assertEquals(4, supplier(ANY_DIRECTORY, null).get().size()); + assertEquals(4, supplier(ANY_DIRECTORY, "").get().size()); + assertEquals(4, supplier(ANY_DIRECTORY, "*").get().size()); assertEquals(2, supplier(ANY_DIRECTORY, "*.csv").get().size()); assertEquals(1, supplier(ANY_DIRECTORY, "*.t*").get().size()); assertEquals(0, supplier(ANY_DIRECTORY, "*.bin").get().size()); @@ -63,10 +63,10 @@ public class DocumentsResolverTest { @Test public void shouldResolveFilesAndDirectory() { - final List<String> sources = Arrays.asList("pom.xml", "LICENSE", ANY_DIRECTORY); - assertEquals(5, supplier(sources, null).get().size()); - assertEquals(5, supplier(sources, "").get().size()); - assertEquals(5, supplier(sources, "*").get().size()); + final List<String> sources = Arrays.asList("pom.xml", "README.md", ANY_DIRECTORY); + assertEquals(6, supplier(sources, null).get().size()); + assertEquals(6, supplier(sources, "").get().size()); + assertEquals(6, supplier(sources, "*").get().size()); assertEquals(2, supplier(sources, "*.csv").get().size()); assertEquals(1, supplier(sources, "*.t*").get().size()); assertEquals(1, supplier(sources, "*.xml").get().size()); @@ -84,12 +84,12 @@ public class DocumentsResolverTest { assertEquals(0, supplier("/does-not-exist", MATCH_ALL).get().size()); } - private static DocumentSupplier supplier(String directory, String include) { - return new DocumentSupplier(singletonList(directory), include, Charset.defaultCharset()); + private static DocumentsSupplier supplier(String directory, String include) { + return new DocumentsSupplier(singletonList(directory), include, Charset.defaultCharset()); } - private static DocumentSupplier supplier(List<String> files, String include) { - return new DocumentSupplier(files, include, Charset.defaultCharset()); + private static DocumentsSupplier supplier(List<String> files, String include) { + return new DocumentsSupplier(files, include, Charset.defaultCharset()); } } diff --git a/base/src/test/java/org/apache/freemarker/generator/document/DocumentsTest.java b/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/document/DocumentsTest.java similarity index 100% rename from base/src/test/java/org/apache/freemarker/generator/document/DocumentsTest.java rename to freemarker-generator-base/src/test/java/org/apache/freemarker/generator/document/DocumentsTest.java diff --git a/cli/src/test/java/org/apache/freemarker/generator/cli/TemplateLoadingTest.java b/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/file/PropertiesFileSupplierTest.java similarity index 51% copy from cli/src/test/java/org/apache/freemarker/generator/cli/TemplateLoadingTest.java copy to freemarker-generator-base/src/test/java/org/apache/freemarker/generator/file/PropertiesFileSupplierTest.java index 723f4a8..eb44fc3 100644 --- a/cli/src/test/java/org/apache/freemarker/generator/cli/TemplateLoadingTest.java +++ b/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/file/PropertiesFileSupplierTest.java @@ -14,33 +14,35 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.freemarker.generator.cli; +package org.apache.freemarker.generator.file; -import org.apache.commons.io.output.NullWriter; +import org.apache.freemarker.generator.base.file.PropertiesFileSupplier; import org.junit.Test; -import java.io.File; +import java.util.Properties; +import static junit.framework.TestCase.assertNull; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; -public class TemplateLoadingTest extends AbstractMainTest { +public class PropertiesFileSupplierTest { - private static final int SUCCESS = 0; - private static final String ANY_TEMPLATE_NAME = "templates/info.ftl"; - private static final String CURR_DIR = System.getProperty("user.dir", "."); + private static final String ANY_PROPERTIES_FILE = "./src/test/data/properties/test.properties"; @Test - public void shouldLoadRelativeTemplate() { - final String[] args = new String[] { "-t", ANY_TEMPLATE_NAME }; + public void shouldResolveFileBasedPropertyFile() { + final Properties properties = supplier(ANY_PROPERTIES_FILE).get(); - assertEquals(SUCCESS, Main.execute(args, new NullWriter())); + assertNotNull(properties); + assertEquals("bar", properties.getProperty("foo")); } @Test - public void shouldLoadAbsoluteTemplate() { - final String absoluteFileName = new File(CURR_DIR, ANY_TEMPLATE_NAME).getAbsolutePath(); - final String[] args = new String[] { "-t", absoluteFileName }; + public void shouldReturnNullForNonExistingPropertiesFile() { + assertNull(supplier("unknown.properties").get()); + } - assertEquals(SUCCESS, Main.execute(args, new NullWriter())); + private static PropertiesFileSupplier supplier(String fileName) { + return new PropertiesFileSupplier(fileName); } } diff --git a/base/src/test/java/org/apache/freemarker/generator/resolver/RecursiveFileResolverTest.java b/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/file/RecursiveFileResolverTest.java similarity index 73% rename from base/src/test/java/org/apache/freemarker/generator/resolver/RecursiveFileResolverTest.java rename to freemarker-generator-base/src/test/java/org/apache/freemarker/generator/file/RecursiveFileResolverTest.java index dc619bf..dc215a7 100644 --- a/base/src/test/java/org/apache/freemarker/generator/resolver/RecursiveFileResolverTest.java +++ b/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/file/RecursiveFileResolverTest.java @@ -14,9 +14,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.freemarker.generator.resolver; +package org.apache.freemarker.generator.file; -import org.apache.freemarker.generator.base.config.RecursiveFileResolver; +import org.apache.freemarker.generator.base.file.RecursiveFileSupplier; import org.junit.Test; import java.io.File; @@ -35,13 +35,13 @@ public class RecursiveFileResolverTest { @Test public void shouldResolveAllFilesOfDirectory() { - assertEquals(3, fileResolver(ANY_DIRECTORY, null).resolve().size()); - assertTrue(fileResolver(ANY_DIRECTORY, UNKNOWN_FILE_NAME).resolve().isEmpty()); + assertEquals(4, fileResolver(ANY_DIRECTORY, null).get().size()); + assertTrue(fileResolver(ANY_DIRECTORY, UNKNOWN_FILE_NAME).get().isEmpty()); } @Test public void shouldResolveSingleMatchingFile() { - final List<File> files = fileResolver(ANY_DIRECTORY, ANY_FILE_NAME).resolve(); + final List<File> files = fileResolver(ANY_DIRECTORY, ANY_FILE_NAME).get(); assertEquals(1, files.size()); assertEquals(ANY_FILE_NAME, files.get(0).getName()); @@ -49,18 +49,18 @@ public class RecursiveFileResolverTest { @Test public void shouldResolveMultipleFiles() { - final List<String> sources = Arrays.asList("pom.xml", "LICENSE"); - final List<File> files = fileResolver(sources, "*").resolve(); + final List<String> sources = Arrays.asList("pom.xml", "README.md"); + final List<File> files = fileResolver(sources, "*").get(); assertEquals(2, files.size()); assertEquals("pom.xml", files.get(0).getName()); - assertEquals("LICENSE", files.get(1).getName()); + assertEquals("README.md", files.get(1).getName()); } @Test public void shouldResolveMultipleFilesWithIncludeFilter() { - final List<String> sources = Arrays.asList("pom.xml", "LICENSE"); - final List<File> files = fileResolver(sources, "*.xml").resolve(); + final List<String> sources = Arrays.asList("pom.xml", "README.md"); + final List<File> files = fileResolver(sources, "*.xml").get(); assertEquals(1, files.size()); assertEquals("pom.xml", files.get(0).getName()); @@ -68,17 +68,17 @@ public class RecursiveFileResolverTest { @Test public void shouldResolveMultipleFilesRecursivelyWithIncludes() { - final List<File> files = fileResolver(ANY_DIRECTORY, "*.csv").resolve(); + final List<File> files = fileResolver(ANY_DIRECTORY, "*.csv").get(); assertEquals(2, files.size()); } - private static RecursiveFileResolver fileResolver(String directory, String include) { - return new RecursiveFileResolver(singletonList(directory), include); + private static RecursiveFileSupplier fileResolver(String source, String include) { + return new RecursiveFileSupplier(singletonList(source), include); } - private static RecursiveFileResolver fileResolver(List<String> sources, String include) { - return new RecursiveFileResolver(sources, include); + private static RecursiveFileSupplier fileResolver(List<String> sources, String include) { + return new RecursiveFileSupplier(sources, include); } } diff --git a/cli/README.md b/freemarker-generator-cli/README.md similarity index 100% rename from cli/README.md rename to freemarker-generator-cli/README.md diff --git a/cli/pom.xml b/freemarker-generator-cli/pom.xml similarity index 100% rename from cli/pom.xml rename to freemarker-generator-cli/pom.xml diff --git a/cli/run-samples.sh b/freemarker-generator-cli/run-samples.sh similarity index 100% rename from cli/run-samples.sh rename to freemarker-generator-cli/run-samples.sh diff --git a/cli/site/image/contract.png b/freemarker-generator-cli/site/image/contract.png similarity index 100% rename from cli/site/image/contract.png rename to freemarker-generator-cli/site/image/contract.png diff --git a/cli/site/image/excel-to-html.png b/freemarker-generator-cli/site/image/excel-to-html.png similarity index 100% rename from cli/site/image/excel-to-html.png rename to freemarker-generator-cli/site/image/excel-to-html.png diff --git a/cli/site/image/github.png b/freemarker-generator-cli/site/image/github.png similarity index 100% rename from cli/site/image/github.png rename to freemarker-generator-cli/site/image/github.png diff --git a/cli/site/image/locker-test-users-pdf.png b/freemarker-generator-cli/site/image/locker-test-users-pdf.png similarity index 100% rename from cli/site/image/locker-test-users-pdf.png rename to freemarker-generator-cli/site/image/locker-test-users-pdf.png diff --git a/cli/site/image/transactions.png b/freemarker-generator-cli/site/image/transactions.png similarity index 100% rename from cli/site/image/transactions.png rename to freemarker-generator-cli/site/image/transactions.png diff --git a/cli/site/sample/accesslog/combined-access.log b/freemarker-generator-cli/site/sample/accesslog/combined-access.log similarity index 100% rename from cli/site/sample/accesslog/combined-access.log rename to freemarker-generator-cli/site/sample/accesslog/combined-access.log diff --git a/cli/site/sample/csv/contract.csv b/freemarker-generator-cli/site/sample/csv/contract.csv similarity index 100% rename from cli/site/sample/csv/contract.csv rename to freemarker-generator-cli/site/sample/csv/contract.csv diff --git a/cli/site/sample/csv/excel-export-utf8.csv b/freemarker-generator-cli/site/sample/csv/excel-export-utf8.csv similarity index 100% rename from cli/site/sample/csv/excel-export-utf8.csv rename to freemarker-generator-cli/site/sample/csv/excel-export-utf8.csv diff --git a/cli/site/sample/csv/locker-test-users.csv b/freemarker-generator-cli/site/sample/csv/locker-test-users.csv similarity index 100% rename from cli/site/sample/csv/locker-test-users.csv rename to freemarker-generator-cli/site/sample/csv/locker-test-users.csv diff --git a/cli/site/sample/csv/transactions.csv b/freemarker-generator-cli/site/sample/csv/transactions.csv similarity index 100% rename from cli/site/sample/csv/transactions.csv rename to freemarker-generator-cli/site/sample/csv/transactions.csv diff --git a/cli/site/sample/csv/user.csv b/freemarker-generator-cli/site/sample/csv/user.csv similarity index 100% rename from cli/site/sample/csv/user.csv rename to freemarker-generator-cli/site/sample/csv/user.csv diff --git a/cli/site/sample/excel/test-multiple-sheets.xlsx b/freemarker-generator-cli/site/sample/excel/test-multiple-sheets.xlsx similarity index 100% rename from cli/site/sample/excel/test-multiple-sheets.xlsx rename to freemarker-generator-cli/site/sample/excel/test-multiple-sheets.xlsx diff --git a/cli/site/sample/excel/test.xls b/freemarker-generator-cli/site/sample/excel/test.xls similarity index 100% rename from cli/site/sample/excel/test.xls rename to freemarker-generator-cli/site/sample/excel/test.xls diff --git a/cli/site/sample/excel/test.xlsx b/freemarker-generator-cli/site/sample/excel/test.xlsx similarity index 100% rename from cli/site/sample/excel/test.xlsx rename to freemarker-generator-cli/site/sample/excel/test.xlsx diff --git a/cli/site/sample/html/dependencies.html b/freemarker-generator-cli/site/sample/html/dependencies.html similarity index 100% rename from cli/site/sample/html/dependencies.html rename to freemarker-generator-cli/site/sample/html/dependencies.html diff --git a/cli/site/sample/json/github-users.json b/freemarker-generator-cli/site/sample/json/github-users.json similarity index 100% rename from cli/site/sample/json/github-users.json rename to freemarker-generator-cli/site/sample/json/github-users.json diff --git a/cli/site/sample/json/swagger-spec.json b/freemarker-generator-cli/site/sample/json/swagger-spec.json similarity index 100% rename from cli/site/sample/json/swagger-spec.json rename to freemarker-generator-cli/site/sample/json/swagger-spec.json diff --git a/cli/site/sample/properties/user_0001.properties b/freemarker-generator-cli/site/sample/properties/user_0001.properties similarity index 100% rename from cli/site/sample/properties/user_0001.properties rename to freemarker-generator-cli/site/sample/properties/user_0001.properties diff --git a/cli/site/sample/properties/user_0002.properties b/freemarker-generator-cli/site/sample/properties/user_0002.properties similarity index 100% rename from cli/site/sample/properties/user_0002.properties rename to freemarker-generator-cli/site/sample/properties/user_0002.properties diff --git a/cli/site/sample/properties/user_0003.properties b/freemarker-generator-cli/site/sample/properties/user_0003.properties similarity index 100% rename from cli/site/sample/properties/user_0003.properties rename to freemarker-generator-cli/site/sample/properties/user_0003.properties diff --git a/cli/site/sample/properties/user_0004.properties b/freemarker-generator-cli/site/sample/properties/user_0004.properties similarity index 100% rename from cli/site/sample/properties/user_0004.properties rename to freemarker-generator-cli/site/sample/properties/user_0004.properties diff --git a/cli/site/sample/xml/recipients.xml b/freemarker-generator-cli/site/sample/xml/recipients.xml similarity index 100% rename from cli/site/sample/xml/recipients.xml rename to freemarker-generator-cli/site/sample/xml/recipients.xml diff --git a/cli/site/sample/yaml/customer.yaml b/freemarker-generator-cli/site/sample/yaml/customer.yaml similarity index 100% rename from cli/site/sample/yaml/customer.yaml rename to freemarker-generator-cli/site/sample/yaml/customer.yaml diff --git a/cli/src/main/assembly/app.xml b/freemarker-generator-cli/src/main/assembly/app.xml similarity index 100% rename from cli/src/main/assembly/app.xml rename to freemarker-generator-cli/src/main/assembly/app.xml diff --git a/cli/src/main/assembly/dist.xml b/freemarker-generator-cli/src/main/assembly/dist.xml similarity index 100% rename from cli/src/main/assembly/dist.xml rename to freemarker-generator-cli/src/main/assembly/dist.xml diff --git a/cli/src/main/assembly/small.xml b/freemarker-generator-cli/src/main/assembly/small.xml similarity index 100% rename from cli/src/main/assembly/small.xml rename to freemarker-generator-cli/src/main/assembly/small.xml diff --git a/cli/src/main/resources/freemarker-cli.properties b/freemarker-generator-cli/src/main/config/freemarker-cli.properties similarity index 100% rename from cli/src/main/resources/freemarker-cli.properties rename to freemarker-generator-cli/src/main/config/freemarker-cli.properties diff --git a/cli/src/main/java/org/apache/freemarker/generator/cli/FreeMarkerTask.java b/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/FreeMarkerTask.java similarity index 97% rename from cli/src/main/java/org/apache/freemarker/generator/cli/FreeMarkerTask.java rename to freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/FreeMarkerTask.java index 9754f1e..3f10caf 100644 --- a/cli/src/main/java/org/apache/freemarker/generator/cli/FreeMarkerTask.java +++ b/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/FreeMarkerTask.java @@ -22,7 +22,7 @@ import freemarker.template.Template; import org.apache.commons.io.FileUtils; import org.apache.freemarker.generator.base.document.Document; import org.apache.freemarker.generator.base.document.DocumentFactory; -import org.apache.freemarker.generator.base.document.DocumentSupplier; +import org.apache.freemarker.generator.base.document.DocumentsSupplier; import org.apache.freemarker.generator.base.document.Documents; import org.apache.freemarker.generator.cli.impl.ConfigurationSupplier; import org.apache.freemarker.generator.cli.impl.TemplateLoaderSupplier; @@ -89,7 +89,7 @@ public class FreeMarkerTask implements Callable<Integer> { } protected Supplier<List<Document>> documentResolver(Settings settings) { - return new DocumentSupplier(settings.getSources(), settings.getInclude(), settings.getInputEncoding()); + return new DocumentsSupplier(settings.getSources(), settings.getInclude(), settings.getInputEncoding()); } protected Documents documents(Settings settings, Supplier<List<Document>> documentResolver) { diff --git a/cli/src/main/java/org/apache/freemarker/generator/cli/Main.java b/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/Main.java similarity index 97% rename from cli/src/main/java/org/apache/freemarker/generator/cli/Main.java rename to freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/Main.java index c16a617..46299b1 100644 --- a/cli/src/main/java/org/apache/freemarker/generator/cli/Main.java +++ b/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/Main.java @@ -18,7 +18,7 @@ package org.apache.freemarker.generator.cli; import org.apache.freemarker.generator.base.util.ClosableUtils; import org.apache.freemarker.generator.base.util.StringUtils; -import org.apache.freemarker.generator.cli.impl.PropertiesFileResolver; +import org.apache.freemarker.generator.base.file.PropertiesFileSupplier; import org.apache.freemarker.generator.cli.impl.TemplateDirectorySupplier; import org.apache.freemarker.generator.cli.model.Settings; import org.apache.freemarker.generator.cli.picocli.GitVersionProvider; @@ -202,13 +202,13 @@ public class Main implements Callable<Integer> { private static Properties loadFreeMarkerCliConfiguration(String fileName) { try { - final Properties properties = new PropertiesFileResolver(fileName).resolve(); + final Properties properties = new PropertiesFileSupplier(fileName).get(); if (properties != null) { return properties; } else { throw new RuntimeException("FreeMarker tools properties not found" + fileName); } - } catch (IOException e) { + } catch (RuntimeException e) { throw new RuntimeException("Failed to load FreeMarker tools properties: " + fileName, e); } } diff --git a/cli/src/main/java/org/apache/freemarker/generator/cli/impl/ConfigurationSupplier.java b/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/impl/ConfigurationSupplier.java similarity index 100% rename from cli/src/main/java/org/apache/freemarker/generator/cli/impl/ConfigurationSupplier.java rename to freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/impl/ConfigurationSupplier.java diff --git a/cli/src/main/java/org/apache/freemarker/generator/cli/impl/TemplateDirectorySupplier.java b/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/impl/TemplateDirectorySupplier.java similarity index 100% rename from cli/src/main/java/org/apache/freemarker/generator/cli/impl/TemplateDirectorySupplier.java rename to freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/impl/TemplateDirectorySupplier.java diff --git a/cli/src/main/java/org/apache/freemarker/generator/cli/impl/TemplateLoaderSupplier.java b/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/impl/TemplateLoaderSupplier.java similarity index 100% rename from cli/src/main/java/org/apache/freemarker/generator/cli/impl/TemplateLoaderSupplier.java rename to freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/impl/TemplateLoaderSupplier.java diff --git a/cli/src/main/java/org/apache/freemarker/generator/cli/impl/ToolsSupplier.java b/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/impl/ToolsSupplier.java similarity index 98% rename from cli/src/main/java/org/apache/freemarker/generator/cli/impl/ToolsSupplier.java rename to freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/impl/ToolsSupplier.java index c06c981..e6752ac 100644 --- a/cli/src/main/java/org/apache/freemarker/generator/cli/impl/ToolsSupplier.java +++ b/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/impl/ToolsSupplier.java @@ -38,7 +38,7 @@ public class ToolsSupplier implements Supplier<Map<String, Object>> { * Constructor. * * @param configuration Containing "freemarker.tools.XXX=class" - * @param settings Passed tp the instanitated tools + * @param settings Passed to the instantiated tools */ public ToolsSupplier(Properties configuration, Map<String, Object> settings) { this.configuration = requireNonNull(configuration); diff --git a/cli/src/main/java/org/apache/freemarker/generator/cli/model/Settings.java b/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/model/Settings.java similarity index 98% rename from cli/src/main/java/org/apache/freemarker/generator/cli/model/Settings.java rename to freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/model/Settings.java index 84b99be..9a6a421 100644 --- a/cli/src/main/java/org/apache/freemarker/generator/cli/model/Settings.java +++ b/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/model/Settings.java @@ -16,8 +16,8 @@ */ package org.apache.freemarker.generator.cli.model; -import org.apache.freemarker.generator.base.util.LocaleUtils; -import org.apache.freemarker.generator.base.util.NonClosableWriterWrapper; +import org.apache.freemarker.generator.cli.util.LocaleUtils; +import org.apache.freemarker.generator.cli.util.NonClosableWriterWrapper; import java.io.File; import java.io.Writer; diff --git a/cli/src/main/java/org/apache/freemarker/generator/cli/picocli/GitVersionProvider.java b/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/picocli/GitVersionProvider.java similarity index 100% rename from cli/src/main/java/org/apache/freemarker/generator/cli/picocli/GitVersionProvider.java rename to freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/picocli/GitVersionProvider.java diff --git a/cli/src/main/java/org/apache/freemarker/generator/cli/tools/commonscsv/CommonsCSVTool.java b/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/tools/commonscsv/CommonsCSVTool.java similarity index 100% rename from cli/src/main/java/org/apache/freemarker/generator/cli/tools/commonscsv/CommonsCSVTool.java rename to freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/tools/commonscsv/CommonsCSVTool.java diff --git a/cli/src/main/java/org/apache/freemarker/generator/cli/tools/commonsexec/CommonsExecTool.java b/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/tools/commonsexec/CommonsExecTool.java similarity index 100% rename from cli/src/main/java/org/apache/freemarker/generator/cli/tools/commonsexec/CommonsExecTool.java rename to freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/tools/commonsexec/CommonsExecTool.java diff --git a/cli/src/main/java/org/apache/freemarker/generator/cli/tools/excel/ExcelTool.java b/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/tools/excel/ExcelTool.java similarity index 100% rename from cli/src/main/java/org/apache/freemarker/generator/cli/tools/excel/ExcelTool.java rename to freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/tools/excel/ExcelTool.java diff --git a/cli/src/main/java/org/apache/freemarker/generator/cli/tools/freemarker/FreeMarkerTool.java b/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/tools/freemarker/FreeMarkerTool.java similarity index 100% rename from cli/src/main/java/org/apache/freemarker/generator/cli/tools/freemarker/FreeMarkerTool.java rename to freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/tools/freemarker/FreeMarkerTool.java diff --git a/cli/src/main/java/org/apache/freemarker/generator/cli/tools/grok/GrokTool.java b/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/tools/grok/GrokTool.java similarity index 100% rename from cli/src/main/java/org/apache/freemarker/generator/cli/tools/grok/GrokTool.java rename to freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/tools/grok/GrokTool.java diff --git a/cli/src/main/java/org/apache/freemarker/generator/cli/tools/grok/GrokWrapper.java b/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/tools/grok/GrokWrapper.java similarity index 100% rename from cli/src/main/java/org/apache/freemarker/generator/cli/tools/grok/GrokWrapper.java rename to freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/tools/grok/GrokWrapper.java diff --git a/cli/src/main/java/org/apache/freemarker/generator/cli/tools/jsonpath/JsonPathTool.java b/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/tools/jsonpath/JsonPathTool.java similarity index 100% rename from cli/src/main/java/org/apache/freemarker/generator/cli/tools/jsonpath/JsonPathTool.java rename to freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/tools/jsonpath/JsonPathTool.java diff --git a/cli/src/main/java/org/apache/freemarker/generator/cli/tools/jsoup/JsoupTool.java b/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/tools/jsoup/JsoupTool.java similarity index 100% rename from cli/src/main/java/org/apache/freemarker/generator/cli/tools/jsoup/JsoupTool.java rename to freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/tools/jsoup/JsoupTool.java diff --git a/cli/src/main/java/org/apache/freemarker/generator/cli/tools/properties/PropertiesTool.java b/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/tools/properties/PropertiesTool.java similarity index 100% rename from cli/src/main/java/org/apache/freemarker/generator/cli/tools/properties/PropertiesTool.java rename to freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/tools/properties/PropertiesTool.java diff --git a/cli/src/main/java/org/apache/freemarker/generator/cli/tools/snakeyaml/SnakeYamlTool.java b/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/tools/snakeyaml/SnakeYamlTool.java similarity index 100% rename from cli/src/main/java/org/apache/freemarker/generator/cli/tools/snakeyaml/SnakeYamlTool.java rename to freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/tools/snakeyaml/SnakeYamlTool.java diff --git a/cli/src/main/java/org/apache/freemarker/generator/cli/tools/system/SystemTool.java b/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/tools/system/SystemTool.java similarity index 100% rename from cli/src/main/java/org/apache/freemarker/generator/cli/tools/system/SystemTool.java rename to freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/tools/system/SystemTool.java diff --git a/cli/src/main/java/org/apache/freemarker/generator/cli/tools/uuid/UUIDTool.java b/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/tools/uuid/UUIDTool.java similarity index 100% rename from cli/src/main/java/org/apache/freemarker/generator/cli/tools/uuid/UUIDTool.java rename to freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/tools/uuid/UUIDTool.java diff --git a/cli/src/main/java/org/apache/freemarker/generator/cli/tools/xml/XmlTool.java b/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/tools/xml/XmlTool.java similarity index 100% rename from cli/src/main/java/org/apache/freemarker/generator/cli/tools/xml/XmlTool.java rename to freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/tools/xml/XmlTool.java diff --git a/base/src/main/java/org/apache/freemarker/generator/base/util/LocaleUtils.java b/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/util/LocaleUtils.java similarity index 91% rename from base/src/main/java/org/apache/freemarker/generator/base/util/LocaleUtils.java rename to freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/util/LocaleUtils.java index 0131568..ff00548 100644 --- a/base/src/main/java/org/apache/freemarker/generator/base/util/LocaleUtils.java +++ b/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/util/LocaleUtils.java @@ -14,7 +14,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.freemarker.generator.base.util; +package org.apache.freemarker.generator.cli.util; + +import org.apache.freemarker.generator.base.util.StringUtils; import java.util.Locale; diff --git a/base/src/main/java/org/apache/freemarker/generator/base/util/NonClosableWriterWrapper.java b/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/util/NonClosableWriterWrapper.java similarity index 98% rename from base/src/main/java/org/apache/freemarker/generator/base/util/NonClosableWriterWrapper.java rename to freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/util/NonClosableWriterWrapper.java index cef43f5..6e3f5ec 100644 --- a/base/src/main/java/org/apache/freemarker/generator/base/util/NonClosableWriterWrapper.java +++ b/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/util/NonClosableWriterWrapper.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.freemarker.generator.base.util; +package org.apache.freemarker.generator.cli.util; import java.io.IOException; import java.io.Writer; diff --git a/cli/src/main/config/freemarker-cli.properties b/freemarker-generator-cli/src/main/resources/freemarker-cli.properties similarity index 100% rename from cli/src/main/config/freemarker-cli.properties rename to freemarker-generator-cli/src/main/resources/freemarker-cli.properties diff --git a/cli/src/main/resources/patterns/firewalls b/freemarker-generator-cli/src/main/resources/patterns/firewalls similarity index 100% rename from cli/src/main/resources/patterns/firewalls rename to freemarker-generator-cli/src/main/resources/patterns/firewalls diff --git a/cli/src/main/resources/patterns/haproxy b/freemarker-generator-cli/src/main/resources/patterns/haproxy similarity index 100% rename from cli/src/main/resources/patterns/haproxy rename to freemarker-generator-cli/src/main/resources/patterns/haproxy diff --git a/cli/src/main/resources/patterns/java b/freemarker-generator-cli/src/main/resources/patterns/java similarity index 100% rename from cli/src/main/resources/patterns/java rename to freemarker-generator-cli/src/main/resources/patterns/java diff --git a/cli/src/main/resources/patterns/linux-syslog b/freemarker-generator-cli/src/main/resources/patterns/linux-syslog similarity index 100% rename from cli/src/main/resources/patterns/linux-syslog rename to freemarker-generator-cli/src/main/resources/patterns/linux-syslog diff --git a/cli/src/main/resources/patterns/nagios b/freemarker-generator-cli/src/main/resources/patterns/nagios similarity index 100% rename from cli/src/main/resources/patterns/nagios rename to freemarker-generator-cli/src/main/resources/patterns/nagios diff --git a/cli/src/main/resources/patterns/patterns b/freemarker-generator-cli/src/main/resources/patterns/patterns similarity index 100% rename from cli/src/main/resources/patterns/patterns rename to freemarker-generator-cli/src/main/resources/patterns/patterns diff --git a/cli/src/main/resources/patterns/postfix b/freemarker-generator-cli/src/main/resources/patterns/postfix similarity index 100% rename from cli/src/main/resources/patterns/postfix rename to freemarker-generator-cli/src/main/resources/patterns/postfix diff --git a/cli/src/main/resources/patterns/ruby b/freemarker-generator-cli/src/main/resources/patterns/ruby similarity index 100% rename from cli/src/main/resources/patterns/ruby rename to freemarker-generator-cli/src/main/resources/patterns/ruby diff --git a/cli/src/main/scripts/run-samples.sh b/freemarker-generator-cli/src/main/scripts/run-samples.sh similarity index 100% rename from cli/src/main/scripts/run-samples.sh rename to freemarker-generator-cli/src/main/scripts/run-samples.sh diff --git a/cli/src/test/data/encoding/utf16.txt b/freemarker-generator-cli/src/test/data/encoding/utf16.txt similarity index 100% rename from cli/src/test/data/encoding/utf16.txt rename to freemarker-generator-cli/src/test/data/encoding/utf16.txt diff --git a/cli/src/test/data/encoding/utf8.txt b/freemarker-generator-cli/src/test/data/encoding/utf8.txt similarity index 100% rename from cli/src/test/data/encoding/utf8.txt rename to freemarker-generator-cli/src/test/data/encoding/utf8.txt diff --git a/cli/src/test/java/org/apache/freemarker/generator/cli/AbstractMainTest.java b/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/AbstractMainTest.java similarity index 100% rename from cli/src/test/java/org/apache/freemarker/generator/cli/AbstractMainTest.java rename to freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/AbstractMainTest.java diff --git a/cli/src/test/java/org/apache/freemarker/generator/cli/ExamplesTest.java b/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/ExamplesTest.java similarity index 100% rename from cli/src/test/java/org/apache/freemarker/generator/cli/ExamplesTest.java rename to freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/ExamplesTest.java diff --git a/cli/src/test/java/org/apache/freemarker/generator/cli/ManualTest.java b/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/ManualTest.java similarity index 100% rename from cli/src/test/java/org/apache/freemarker/generator/cli/ManualTest.java rename to freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/ManualTest.java diff --git a/cli/src/test/java/org/apache/freemarker/generator/cli/SecurityRelatedTest.java b/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/SecurityRelatedTest.java similarity index 100% rename from cli/src/test/java/org/apache/freemarker/generator/cli/SecurityRelatedTest.java rename to freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/SecurityRelatedTest.java diff --git a/cli/src/test/java/org/apache/freemarker/generator/cli/SourceEncodingTest.java b/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/SourceEncodingTest.java similarity index 100% rename from cli/src/test/java/org/apache/freemarker/generator/cli/SourceEncodingTest.java rename to freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/SourceEncodingTest.java diff --git a/cli/src/test/java/org/apache/freemarker/generator/cli/TemplateLoadingTest.java b/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/TemplateLoadingTest.java similarity index 100% rename from cli/src/test/java/org/apache/freemarker/generator/cli/TemplateLoadingTest.java rename to freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/TemplateLoadingTest.java diff --git a/cli/src/test/java/org/apache/freemarker/generator/cli/UserSuppliedLocaleTest.java b/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/UserSuppliedLocaleTest.java similarity index 100% rename from cli/src/test/java/org/apache/freemarker/generator/cli/UserSuppliedLocaleTest.java rename to freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/UserSuppliedLocaleTest.java diff --git a/cli/src/test/java/org/apache/freemarker/generator/cli/tools/commonscsv/CommonsCSVToolTest.java b/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/tools/commonscsv/CommonsCSVToolTest.java similarity index 100% rename from cli/src/test/java/org/apache/freemarker/generator/cli/tools/commonscsv/CommonsCSVToolTest.java rename to freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/tools/commonscsv/CommonsCSVToolTest.java diff --git a/cli/src/test/java/org/apache/freemarker/generator/cli/tools/commonsexec/CommonsExecToolTest.java b/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/tools/commonsexec/CommonsExecToolTest.java similarity index 100% rename from cli/src/test/java/org/apache/freemarker/generator/cli/tools/commonsexec/CommonsExecToolTest.java rename to freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/tools/commonsexec/CommonsExecToolTest.java diff --git a/cli/src/test/java/org/apache/freemarker/generator/cli/tools/excel/ExcelToolTest.java b/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/tools/excel/ExcelToolTest.java similarity index 100% rename from cli/src/test/java/org/apache/freemarker/generator/cli/tools/excel/ExcelToolTest.java rename to freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/tools/excel/ExcelToolTest.java diff --git a/cli/src/test/java/org/apache/freemarker/generator/cli/tools/freemarker/FreeMarkerToolTest.java b/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/tools/freemarker/FreeMarkerToolTest.java similarity index 100% rename from cli/src/test/java/org/apache/freemarker/generator/cli/tools/freemarker/FreeMarkerToolTest.java rename to freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/tools/freemarker/FreeMarkerToolTest.java diff --git a/cli/src/test/java/org/apache/freemarker/generator/cli/tools/grok/GrokToolTest.java b/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/tools/grok/GrokToolTest.java similarity index 100% rename from cli/src/test/java/org/apache/freemarker/generator/cli/tools/grok/GrokToolTest.java rename to freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/tools/grok/GrokToolTest.java diff --git a/cli/src/test/java/org/apache/freemarker/generator/cli/tools/jsonpath/JsonPathToolTest.java b/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/tools/jsonpath/JsonPathToolTest.java similarity index 100% rename from cli/src/test/java/org/apache/freemarker/generator/cli/tools/jsonpath/JsonPathToolTest.java rename to freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/tools/jsonpath/JsonPathToolTest.java diff --git a/cli/src/test/java/org/apache/freemarker/generator/cli/tools/jsoup/JsoupToolTest.java b/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/tools/jsoup/JsoupToolTest.java similarity index 100% rename from cli/src/test/java/org/apache/freemarker/generator/cli/tools/jsoup/JsoupToolTest.java rename to freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/tools/jsoup/JsoupToolTest.java diff --git a/cli/src/test/java/org/apache/freemarker/generator/cli/tools/properties/PropertiesToolTest.java b/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/tools/properties/PropertiesToolTest.java similarity index 100% rename from cli/src/test/java/org/apache/freemarker/generator/cli/tools/properties/PropertiesToolTest.java rename to freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/tools/properties/PropertiesToolTest.java diff --git a/cli/src/test/java/org/apache/freemarker/generator/cli/tools/snakeyaml/SnakeYamlToolTest.java b/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/tools/snakeyaml/SnakeYamlToolTest.java similarity index 100% rename from cli/src/test/java/org/apache/freemarker/generator/cli/tools/snakeyaml/SnakeYamlToolTest.java rename to freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/tools/snakeyaml/SnakeYamlToolTest.java diff --git a/cli/src/test/java/org/apache/freemarker/generator/cli/tools/system/SystemToolTest.java b/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/tools/system/SystemToolTest.java similarity index 100% rename from cli/src/test/java/org/apache/freemarker/generator/cli/tools/system/SystemToolTest.java rename to freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/tools/system/SystemToolTest.java diff --git a/cli/src/test/java/org/apache/freemarker/generator/cli/tools/uuid/UUIDToolTest.java b/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/tools/uuid/UUIDToolTest.java similarity index 100% rename from cli/src/test/java/org/apache/freemarker/generator/cli/tools/uuid/UUIDToolTest.java rename to freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/tools/uuid/UUIDToolTest.java diff --git a/cli/src/test/java/org/apache/freemarker/generator/cli/tools/xml/XmlToolTest.java b/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/tools/xml/XmlToolTest.java similarity index 100% rename from cli/src/test/java/org/apache/freemarker/generator/cli/tools/xml/XmlToolTest.java rename to freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/tools/xml/XmlToolTest.java diff --git a/cli/src/test/templates/echo.ftl b/freemarker-generator-cli/src/test/templates/echo.ftl similarity index 100% rename from cli/src/test/templates/echo.ftl rename to freemarker-generator-cli/src/test/templates/echo.ftl diff --git a/cli/src/test/templates/environment.ftl b/freemarker-generator-cli/src/test/templates/environment.ftl similarity index 100% rename from cli/src/test/templates/environment.ftl rename to freemarker-generator-cli/src/test/templates/environment.ftl diff --git a/cli/src/test/templates/locale.ftl b/freemarker-generator-cli/src/test/templates/locale.ftl similarity index 100% rename from cli/src/test/templates/locale.ftl rename to freemarker-generator-cli/src/test/templates/locale.ftl diff --git a/cli/src/test/templates/manual.ftl b/freemarker-generator-cli/src/test/templates/manual.ftl similarity index 100% rename from cli/src/test/templates/manual.ftl rename to freemarker-generator-cli/src/test/templates/manual.ftl diff --git a/cli/src/test/templates/security/api.ftl b/freemarker-generator-cli/src/test/templates/security/api.ftl similarity index 100% rename from cli/src/test/templates/security/api.ftl rename to freemarker-generator-cli/src/test/templates/security/api.ftl diff --git a/cli/src/test/templates/security/new.ftl b/freemarker-generator-cli/src/test/templates/security/new.ftl similarity index 100% rename from cli/src/test/templates/security/new.ftl rename to freemarker-generator-cli/src/test/templates/security/new.ftl diff --git a/cli/src/test/templates/tools/csv.ftl b/freemarker-generator-cli/src/test/templates/tools/csv.ftl similarity index 100% rename from cli/src/test/templates/tools/csv.ftl rename to freemarker-generator-cli/src/test/templates/tools/csv.ftl diff --git a/cli/templates/accesslog/combined-access.ftl b/freemarker-generator-cli/templates/accesslog/combined-access.ftl similarity index 100% rename from cli/templates/accesslog/combined-access.ftl rename to freemarker-generator-cli/templates/accesslog/combined-access.ftl diff --git a/cli/templates/cat.ftl b/freemarker-generator-cli/templates/cat.ftl similarity index 100% rename from cli/templates/cat.ftl rename to freemarker-generator-cli/templates/cat.ftl diff --git a/cli/templates/csv/csv/gatling-user-credentials.ftl b/freemarker-generator-cli/templates/csv/csv/gatling-user-credentials.ftl similarity index 100% rename from cli/templates/csv/csv/gatling-user-credentials.ftl rename to freemarker-generator-cli/templates/csv/csv/gatling-user-credentials.ftl diff --git a/cli/templates/csv/fo/transactions.ftl b/freemarker-generator-cli/templates/csv/fo/transactions.ftl similarity index 100% rename from cli/templates/csv/fo/transactions.ftl rename to freemarker-generator-cli/templates/csv/fo/transactions.ftl diff --git a/cli/templates/csv/fo/transform.ftl b/freemarker-generator-cli/templates/csv/fo/transform.ftl similarity index 100% rename from cli/templates/csv/fo/transform.ftl rename to freemarker-generator-cli/templates/csv/fo/transform.ftl diff --git a/cli/templates/csv/html/transactions.ftl b/freemarker-generator-cli/templates/csv/html/transactions.ftl similarity index 100% rename from cli/templates/csv/html/transactions.ftl rename to freemarker-generator-cli/templates/csv/html/transactions.ftl diff --git a/cli/templates/csv/html/transform.ftl b/freemarker-generator-cli/templates/csv/html/transform.ftl similarity index 100% rename from cli/templates/csv/html/transform.ftl rename to freemarker-generator-cli/templates/csv/html/transform.ftl diff --git a/cli/templates/csv/md/transform.ftl b/freemarker-generator-cli/templates/csv/md/transform.ftl similarity index 100% rename from cli/templates/csv/md/transform.ftl rename to freemarker-generator-cli/templates/csv/md/transform.ftl diff --git a/cli/templates/csv/shell/curl.ftl b/freemarker-generator-cli/templates/csv/shell/curl.ftl similarity index 100% rename from cli/templates/csv/shell/curl.ftl rename to freemarker-generator-cli/templates/csv/shell/curl.ftl diff --git a/cli/templates/csv/transform.ftl b/freemarker-generator-cli/templates/csv/transform.ftl similarity index 100% rename from cli/templates/csv/transform.ftl rename to freemarker-generator-cli/templates/csv/transform.ftl diff --git a/cli/templates/demo.ftl b/freemarker-generator-cli/templates/demo.ftl similarity index 100% rename from cli/templates/demo.ftl rename to freemarker-generator-cli/templates/demo.ftl diff --git a/cli/templates/excel/csv/custom.ftl b/freemarker-generator-cli/templates/excel/csv/custom.ftl similarity index 100% rename from cli/templates/excel/csv/custom.ftl rename to freemarker-generator-cli/templates/excel/csv/custom.ftl diff --git a/cli/templates/excel/csv/transform.ftl b/freemarker-generator-cli/templates/excel/csv/transform.ftl similarity index 100% rename from cli/templates/excel/csv/transform.ftl rename to freemarker-generator-cli/templates/excel/csv/transform.ftl diff --git a/cli/templates/excel/html/transform.ftl b/freemarker-generator-cli/templates/excel/html/transform.ftl similarity index 100% rename from cli/templates/excel/html/transform.ftl rename to freemarker-generator-cli/templates/excel/html/transform.ftl diff --git a/cli/templates/excel/md/transform.ftl b/freemarker-generator-cli/templates/excel/md/transform.ftl similarity index 100% rename from cli/templates/excel/md/transform.ftl rename to freemarker-generator-cli/templates/excel/md/transform.ftl diff --git a/cli/templates/html/csv/dependencies.ftl b/freemarker-generator-cli/templates/html/csv/dependencies.ftl similarity index 100% rename from cli/templates/html/csv/dependencies.ftl rename to freemarker-generator-cli/templates/html/csv/dependencies.ftl diff --git a/cli/templates/info.ftl b/freemarker-generator-cli/templates/info.ftl similarity index 100% rename from cli/templates/info.ftl rename to freemarker-generator-cli/templates/info.ftl diff --git a/cli/templates/json/csv/swagger-endpoints.ftl b/freemarker-generator-cli/templates/json/csv/swagger-endpoints.ftl similarity index 100% rename from cli/templates/json/csv/swagger-endpoints.ftl rename to freemarker-generator-cli/templates/json/csv/swagger-endpoints.ftl diff --git a/cli/templates/json/md/github-users.ftl b/freemarker-generator-cli/templates/json/md/github-users.ftl similarity index 100% rename from cli/templates/json/md/github-users.ftl rename to freemarker-generator-cli/templates/json/md/github-users.ftl diff --git a/cli/templates/properties/csv/locker-test-users.ftl b/freemarker-generator-cli/templates/properties/csv/locker-test-users.ftl similarity index 100% rename from cli/templates/properties/csv/locker-test-users.ftl rename to freemarker-generator-cli/templates/properties/csv/locker-test-users.ftl diff --git a/cli/templates/tsv/fo/transactions.ftl b/freemarker-generator-cli/templates/tsv/fo/transactions.ftl similarity index 100% rename from cli/templates/tsv/fo/transactions.ftl rename to freemarker-generator-cli/templates/tsv/fo/transactions.ftl diff --git a/cli/templates/xml/txt/recipients.ftl b/freemarker-generator-cli/templates/xml/txt/recipients.ftl similarity index 100% rename from cli/templates/xml/txt/recipients.ftl rename to freemarker-generator-cli/templates/xml/txt/recipients.ftl diff --git a/cli/templates/yaml/txt/transform.ftl b/freemarker-generator-cli/templates/yaml/txt/transform.ftl similarity index 100% rename from cli/templates/yaml/txt/transform.ftl rename to freemarker-generator-cli/templates/yaml/txt/transform.ftl diff --git a/maven-plugin/README.md b/freemarker-generator-maven-plugin/README.md similarity index 100% rename from maven-plugin/README.md rename to freemarker-generator-maven-plugin/README.md diff --git a/maven-plugin/pom.xml b/freemarker-generator-maven-plugin/pom.xml similarity index 100% rename from maven-plugin/pom.xml rename to freemarker-generator-maven-plugin/pom.xml diff --git a/maven-plugin/src/main/java/org/apache/freemarker/generator/maven/FactoryUtil.java b/freemarker-generator-maven-plugin/src/main/java/org/apache/freemarker/generator/maven/FactoryUtil.java similarity index 100% rename from maven-plugin/src/main/java/org/apache/freemarker/generator/maven/FactoryUtil.java rename to freemarker-generator-maven-plugin/src/main/java/org/apache/freemarker/generator/maven/FactoryUtil.java diff --git a/maven-plugin/src/main/java/org/apache/freemarker/generator/maven/FreeMarkerMojo.java b/freemarker-generator-maven-plugin/src/main/java/org/apache/freemarker/generator/maven/FreeMarkerMojo.java similarity index 100% rename from maven-plugin/src/main/java/org/apache/freemarker/generator/maven/FreeMarkerMojo.java rename to freemarker-generator-maven-plugin/src/main/java/org/apache/freemarker/generator/maven/FreeMarkerMojo.java diff --git a/maven-plugin/src/main/java/org/apache/freemarker/generator/maven/GeneratingFileVisitor.java b/freemarker-generator-maven-plugin/src/main/java/org/apache/freemarker/generator/maven/GeneratingFileVisitor.java similarity index 100% rename from maven-plugin/src/main/java/org/apache/freemarker/generator/maven/GeneratingFileVisitor.java rename to freemarker-generator-maven-plugin/src/main/java/org/apache/freemarker/generator/maven/GeneratingFileVisitor.java diff --git a/maven-plugin/src/main/java/org/apache/freemarker/generator/maven/JsonPropertiesProvider.java b/freemarker-generator-maven-plugin/src/main/java/org/apache/freemarker/generator/maven/JsonPropertiesProvider.java similarity index 100% rename from maven-plugin/src/main/java/org/apache/freemarker/generator/maven/JsonPropertiesProvider.java rename to freemarker-generator-maven-plugin/src/main/java/org/apache/freemarker/generator/maven/JsonPropertiesProvider.java diff --git a/maven-plugin/src/main/java/org/apache/freemarker/generator/maven/OutputGenerator.java b/freemarker-generator-maven-plugin/src/main/java/org/apache/freemarker/generator/maven/OutputGenerator.java similarity index 100% rename from maven-plugin/src/main/java/org/apache/freemarker/generator/maven/OutputGenerator.java rename to freemarker-generator-maven-plugin/src/main/java/org/apache/freemarker/generator/maven/OutputGenerator.java diff --git a/maven-plugin/src/main/java/org/apache/freemarker/generator/maven/OutputGeneratorPropertiesProvider.java b/freemarker-generator-maven-plugin/src/main/java/org/apache/freemarker/generator/maven/OutputGeneratorPropertiesProvider.java similarity index 100% rename from maven-plugin/src/main/java/org/apache/freemarker/generator/maven/OutputGeneratorPropertiesProvider.java rename to freemarker-generator-maven-plugin/src/main/java/org/apache/freemarker/generator/maven/OutputGeneratorPropertiesProvider.java diff --git a/maven-plugin/src/test/data/freemarker-mojo/data/test.txt.json b/freemarker-generator-maven-plugin/src/test/data/freemarker-mojo/data/test.txt.json similarity index 100% rename from maven-plugin/src/test/data/freemarker-mojo/data/test.txt.json rename to freemarker-generator-maven-plugin/src/test/data/freemarker-mojo/data/test.txt.json diff --git a/maven-plugin/src/test/data/freemarker-mojo/freemarker.properties b/freemarker-generator-maven-plugin/src/test/data/freemarker-mojo/freemarker.properties similarity index 100% rename from maven-plugin/src/test/data/freemarker-mojo/freemarker.properties rename to freemarker-generator-maven-plugin/src/test/data/freemarker-mojo/freemarker.properties diff --git a/maven-plugin/src/test/data/freemarker-mojo/template/test.ftl b/freemarker-generator-maven-plugin/src/test/data/freemarker-mojo/template/test.ftl similarity index 100% rename from maven-plugin/src/test/data/freemarker-mojo/template/test.ftl rename to freemarker-generator-maven-plugin/src/test/data/freemarker-mojo/template/test.ftl diff --git a/maven-plugin/src/test/data/generating-file-visitor/badPath/success-test.txt.json b/freemarker-generator-maven-plugin/src/test/data/generating-file-visitor/badPath/success-test.txt.json similarity index 100% rename from maven-plugin/src/test/data/generating-file-visitor/badPath/success-test.txt.json rename to freemarker-generator-maven-plugin/src/test/data/generating-file-visitor/badPath/success-test.txt.json diff --git a/maven-plugin/src/test/data/generating-file-visitor/data/badParent/bad-parent-test.txt.json b/freemarker-generator-maven-plugin/src/test/data/generating-file-visitor/data/badParent/bad-parent-test.txt.json similarity index 100% rename from maven-plugin/src/test/data/generating-file-visitor/data/badParent/bad-parent-test.txt.json rename to freemarker-generator-maven-plugin/src/test/data/generating-file-visitor/data/badParent/bad-parent-test.txt.json diff --git a/maven-plugin/src/test/data/generating-file-visitor/data/mydir/bad-extension-test.txt b/freemarker-generator-maven-plugin/src/test/data/generating-file-visitor/data/mydir/bad-extension-test.txt similarity index 100% rename from maven-plugin/src/test/data/generating-file-visitor/data/mydir/bad-extension-test.txt rename to freemarker-generator-maven-plugin/src/test/data/generating-file-visitor/data/mydir/bad-extension-test.txt diff --git a/maven-plugin/src/test/data/generating-file-visitor/data/mydir/bad-template-name.txt.json b/freemarker-generator-maven-plugin/src/test/data/generating-file-visitor/data/mydir/bad-template-name.txt.json similarity index 100% rename from maven-plugin/src/test/data/generating-file-visitor/data/mydir/bad-template-name.txt.json rename to freemarker-generator-maven-plugin/src/test/data/generating-file-visitor/data/mydir/bad-template-name.txt.json diff --git a/maven-plugin/src/test/data/generating-file-visitor/data/mydir/missing-template-name.txt.json b/freemarker-generator-maven-plugin/src/test/data/generating-file-visitor/data/mydir/missing-template-name.txt.json similarity index 100% rename from maven-plugin/src/test/data/generating-file-visitor/data/mydir/missing-template-name.txt.json rename to freemarker-generator-maven-plugin/src/test/data/generating-file-visitor/data/mydir/missing-template-name.txt.json diff --git a/maven-plugin/src/test/data/generating-file-visitor/data/mydir/missing-var-test.txt.json b/freemarker-generator-maven-plugin/src/test/data/generating-file-visitor/data/mydir/missing-var-test.txt.json similarity index 100% rename from maven-plugin/src/test/data/generating-file-visitor/data/mydir/missing-var-test.txt.json rename to freemarker-generator-maven-plugin/src/test/data/generating-file-visitor/data/mydir/missing-var-test.txt.json diff --git a/maven-plugin/src/test/data/generating-file-visitor/data/mydir/success-test-2.txt.json b/freemarker-generator-maven-plugin/src/test/data/generating-file-visitor/data/mydir/success-test-2.txt.json similarity index 100% rename from maven-plugin/src/test/data/generating-file-visitor/data/mydir/success-test-2.txt.json rename to freemarker-generator-maven-plugin/src/test/data/generating-file-visitor/data/mydir/success-test-2.txt.json diff --git a/maven-plugin/src/test/data/generating-file-visitor/data/mydir/success-test.txt.json b/freemarker-generator-maven-plugin/src/test/data/generating-file-visitor/data/mydir/success-test.txt.json similarity index 100% rename from maven-plugin/src/test/data/generating-file-visitor/data/mydir/success-test.txt.json rename to freemarker-generator-maven-plugin/src/test/data/generating-file-visitor/data/mydir/success-test.txt.json diff --git a/maven-plugin/src/test/data/generating-file-visitor/template/test-pom-only.ftl b/freemarker-generator-maven-plugin/src/test/data/generating-file-visitor/template/test-pom-only.ftl similarity index 100% rename from maven-plugin/src/test/data/generating-file-visitor/template/test-pom-only.ftl rename to freemarker-generator-maven-plugin/src/test/data/generating-file-visitor/template/test-pom-only.ftl diff --git a/maven-plugin/src/test/data/generating-file-visitor/template/test.ftl b/freemarker-generator-maven-plugin/src/test/data/generating-file-visitor/template/test.ftl similarity index 100% rename from maven-plugin/src/test/data/generating-file-visitor/template/test.ftl rename to freemarker-generator-maven-plugin/src/test/data/generating-file-visitor/template/test.ftl diff --git a/maven-plugin/src/test/java/org/apache/freemarker/generator/maven/FreeMarkerMojoTest.java b/freemarker-generator-maven-plugin/src/test/java/org/apache/freemarker/generator/maven/FreeMarkerMojoTest.java similarity index 100% rename from maven-plugin/src/test/java/org/apache/freemarker/generator/maven/FreeMarkerMojoTest.java rename to freemarker-generator-maven-plugin/src/test/java/org/apache/freemarker/generator/maven/FreeMarkerMojoTest.java diff --git a/maven-plugin/src/test/java/org/apache/freemarker/generator/maven/GeneratingFileVisitorTest.java b/freemarker-generator-maven-plugin/src/test/java/org/apache/freemarker/generator/maven/GeneratingFileVisitorTest.java similarity index 100% rename from maven-plugin/src/test/java/org/apache/freemarker/generator/maven/GeneratingFileVisitorTest.java rename to freemarker-generator-maven-plugin/src/test/java/org/apache/freemarker/generator/maven/GeneratingFileVisitorTest.java diff --git a/maven-plugin/src/test/java/org/apache/freemarker/generator/maven/JsonPropertiesProviderTest.java b/freemarker-generator-maven-plugin/src/test/java/org/apache/freemarker/generator/maven/JsonPropertiesProviderTest.java similarity index 100% rename from maven-plugin/src/test/java/org/apache/freemarker/generator/maven/JsonPropertiesProviderTest.java rename to freemarker-generator-maven-plugin/src/test/java/org/apache/freemarker/generator/maven/JsonPropertiesProviderTest.java diff --git a/maven-plugin/src/test/java/org/apache/freemarker/generator/maven/OutputGeneratorTest.java b/freemarker-generator-maven-plugin/src/test/java/org/apache/freemarker/generator/maven/OutputGeneratorTest.java similarity index 100% rename from maven-plugin/src/test/java/org/apache/freemarker/generator/maven/OutputGeneratorTest.java rename to freemarker-generator-maven-plugin/src/test/java/org/apache/freemarker/generator/maven/OutputGeneratorTest.java diff --git a/maven-plugin/CHANGELOG.md b/maven-plugin/CHANGELOG.md deleted file mode 100644 index 2c19081..0000000 --- a/maven-plugin/CHANGELOG.md +++ /dev/null @@ -1,15 +0,0 @@ -# Changelog - -## 1.0.0-SNAPSHOT - -### Added - -### Changed - -### Fixed - -[FREEMARKER-127] Site build fails with missing "org/apache/maven/doxia/siterenderer/DocumentContent" - -### Removed - -[FREEMARKER-127]: https://issues.apache.org/jira/browse/FREEMARKER-127 diff --git a/maven-plugin/NOTICE b/maven-plugin/NOTICE deleted file mode 100644 index 929539f..0000000 --- a/maven-plugin/NOTICE +++ /dev/null @@ -1,5 +0,0 @@ -Apache FreeMarker -Copyright 2015-2018 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). diff --git a/pom.xml b/pom.xml index 4a82971..beef682 100644 --- a/pom.xml +++ b/pom.xml @@ -12,7 +12,7 @@ <artifactId>parent</artifactId> <packaging>pom</packaging> <version>0.1.0-SNAPSHOT</version> - <name>Apache FreeMarker Generator: Root</name> + <name>Apache FreeMarker Generator: Parent</name> <url>https://freemarker.apache.org/</url> <issueManagement> @@ -50,9 +50,9 @@ </scm> <modules> - <module>base</module> - <module>cli</module> - <module>maven-plugin</module> + <module>freemarker-generator-base</module> + <module>freemarker-generator-cli</module> + <module>freemarker-generator-maven-plugin</module> </modules> <properties>
