You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@freemarker.apache.org by sg...@apache.org on 2020/08/12 18:38:15 UTC

[freemarker-generator] branch FREEMARKER-153 updated: FREEMARKER-153 Removing bundled "freemarker-generator.properties" from classpath

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

sgoeschl pushed a commit to branch FREEMARKER-153
in repository https://gitbox.apache.org/repos/asf/freemarker-generator.git


The following commit(s) were added to refs/heads/FREEMARKER-153 by this push:
     new edba495  FREEMARKER-153 Removing bundled "freemarker-generator.properties" from classpath
edba495 is described below

commit edba495f4914e016a31b0aa313ddafc0b308b720
Author: Siegfried Goeschl <si...@gmail.com>
AuthorDate: Wed Aug 12 20:37:59 2020 +0200

    FREEMARKER-153 Removing bundled "freemarker-generator.properties" from classpath
---
 .../org/apache/freemarker/generator/cli/Main.java  |  2 +-
 .../main/resources/freemarker-generator.properties | 40 ----------------------
 .../freemarker/generator/cli/AbstractMainTest.java |  8 +++--
 .../freemarker/generator/cli/ExamplesTest.java     |  2 ++
 .../generator/cli/TemplateLoadingTest.java         | 26 +++++++++++---
 5 files changed, 29 insertions(+), 49 deletions(-)

diff --git a/freemarker-generator-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
index d8858cd..1452ff4 100644
--- a/freemarker-generator-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
@@ -267,7 +267,7 @@ public class Main implements Callable<Integer> {
         if (properties != null) {
             return properties;
         } else {
-            throw new RuntimeException("FreeMarker Generator configuration file not found: " + fileName);
+            return new Properties();
         }
     }
 
diff --git a/freemarker-generator-cli/src/main/resources/freemarker-generator.properties b/freemarker-generator-cli/src/main/resources/freemarker-generator.properties
deleted file mode 100644
index fd4a8f9..0000000
--- a/freemarker-generator-cli/src/main/resources/freemarker-generator.properties
+++ /dev/null
@@ -1,40 +0,0 @@
-## ---------------------------------------------------------------------------
-## Licensed to the Apache Software Foundation (ASF) under one or more
-## contributor license agreements.  See the NOTICE file distributed with
-## this work for additional information regarding copyright ownership.
-## The ASF licenses this file to You under the Apache License, Version 2.0
-## (the "License"); you may not use this file except in compliance with
-## the License.  You may obtain a copy of the License at
-##
-## http://www.apache.org/licenses/LICENSE-2.0
-##
-## Unless required by applicable law or agreed to in writing, software
-## distributed under the License is distributed on an "AS IS" BASIS,
-## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-## See the License for the specific language governing permissions and
-## limitations under the License.
-## ---------------------------------------------------------------------------
-
-#############################################################################
-# General FreeMarker Configuration
-# See https://freemarker.apache.org/docs/api/freemarker/template/Configuration.html#setSetting-java.lang.String-java.lang.String-
-#############################################################################
-# freemarker.configuration.setting.locale=JVM default
-
-#############################################################################
-# Configure FreeMarker Tools (name -> implementation class)
-#############################################################################
-freemarker.tools.csv=org.apache.freemarker.generator.tools.commonscsv.CommonsCSVTool
-freemarker.tools.dataframe=org.apache.freemarker.generator.tools.dataframe.DataFrameTool
-freemarker.tools.excel=org.apache.freemarker.generator.tools.excel.ExcelTool
-freemarker.tools.exec=org.apache.freemarker.generator.tools.commonsexec.CommonsExecTool
-freemarker.tools.freemarker=org.apache.freemarker.generator.tools.freemarker.FreeMarkerTool
-freemarker.tools.grok=org.apache.freemarker.generator.tools.grok.GrokTool
-freemarker.tools.gson=org.apache.freemarker.generator.tools.gson.GsonTool
-freemarker.tools.jsonpath=org.apache.freemarker.generator.tools.jsonpath.JsonPathTool
-freemarker.tools.jsoup=org.apache.freemarker.generator.tools.jsoup.JsoupTool
-freemarker.tools.properties=org.apache.freemarker.generator.tools.properties.PropertiesTool
-freemarker.tools.system=org.apache.freemarker.generator.tools.system.SystemTool
-freemarker.tools.uuid=org.apache.freemarker.generator.tools.uuid.UUIDTool
-freemarker.tools.xml=org.apache.freemarker.generator.tools.xml.XmlTool
-freemarker.tools.yaml=org.apache.freemarker.generator.tools.snakeyaml.SnakeYamlTool
diff --git a/freemarker-generator-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
index ac92c91..0d69f5f 100644
--- a/freemarker-generator-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
@@ -22,12 +22,14 @@ import java.io.Writer;
 import java.util.Arrays;
 
 /**
- * Run unit tests with local templates directory.
+ * Run unit tests with local templates directory and configuration file.
  */
 abstract class AbstractMainTest {
 
+    protected static final String TEST_TEMPLATES_DIRECTORY = "./src/templates";
+    protected static final String TEST_CONFIG_FILE = "./src/main/config/freemarker-generator.properties";
+
     private static final String SPACE = " ";
-    private static final String TEST_TEMPLATES_DIRECTORY = "./src/templates";
 
     String execute(String commandLine) throws IOException {
         try (Writer writer = new StringWriter()) {
@@ -41,6 +43,6 @@ abstract class AbstractMainTest {
     }
 
     private String buildFinalCommandLine(String commandLine) {
-        return String.format("--basedir %s %s", TEST_TEMPLATES_DIRECTORY, commandLine);
+        return String.format("--config %s --basedir %s %s", TEST_CONFIG_FILE, TEST_TEMPLATES_DIRECTORY, commandLine);
     }
 }
diff --git a/freemarker-generator-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
index ae79148..f64c6df 100644
--- a/freemarker-generator-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
@@ -31,6 +31,8 @@ public class ExamplesTest extends AbstractMainTest {
 
     @Test
     public void shouldRunInfo() throws IOException {
+        assertValid(execute("-t src/templates/freemarker-generator/info.ftl README.md"));
+        assertValid(execute("-t ./src/templates/freemarker-generator/info.ftl README.md"));
         assertValid(execute("-t freemarker-generator/info.ftl README.md"));
         assertValid(execute("-t /freemarker-generator/info.ftl README.md"));
     }
diff --git a/freemarker-generator-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
index a1ba5e6..c1f862c 100644
--- a/freemarker-generator-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
@@ -26,21 +26,37 @@ import static org.junit.Assert.assertEquals;
 public class TemplateLoadingTest extends AbstractMainTest {
 
     private static final int SUCCESS = 0;
-    private static final String ANY_TEMPLATE_NAME = "./src/templates/freemarker-generator/info.ftl";
+    private static final String ANY_TEMPLATE_NAME = "freemarker-generator/cat.ftl";
+    private static final String ANY_TEMPLATE_FILE_NAME = "src/templates/" + ANY_TEMPLATE_NAME;
     private static final String CURR_DIR = System.getProperty("user.dir", ".");
 
     @Test
-    public void shouldLoadRelativeTemplate() {
-        final String[] args = new String[] { "-t", ANY_TEMPLATE_NAME };
+    public void shouldLoadTemplateFromRelativeFile() {
+        final String[] args = new String[] { "-t", ANY_TEMPLATE_FILE_NAME };
 
         assertEquals(SUCCESS, Main.execute(args, new NullWriter()));
     }
 
     @Test
-    public void shouldLoadAbsoluteTemplate() {
-        final String absoluteFileName = new File(CURR_DIR, ANY_TEMPLATE_NAME).getAbsolutePath();
+    public void shouldLoadTemplateFromAbsoluteFile() {
+        final String absoluteFileName = new File(CURR_DIR, ANY_TEMPLATE_FILE_NAME).getAbsolutePath();
         final String[] args = new String[] { "-t", absoluteFileName };
 
         assertEquals(SUCCESS, Main.execute(args, new NullWriter()));
     }
+
+    @Test
+    public void shouldLoadTemplateFromTemplateLoader() {
+        final String[] args = new String[] { "--basedir", TEST_TEMPLATES_DIRECTORY, "-t", ANY_TEMPLATE_NAME };
+
+        assertEquals(SUCCESS, Main.execute(args, new NullWriter()));
+    }
+
+    @Test
+    public void shouldLoadTemplateWithLeadingSlachFromTemplateLoader() {
+        final String[] args = new String[] { "--basedir", TEST_TEMPLATES_DIRECTORY, "-t", "/" + ANY_TEMPLATE_NAME };
+
+        assertEquals(SUCCESS, Main.execute(args, new NullWriter()));
+    }
+
 }