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

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


The following commit(s) were added to refs/heads/FREEMARKER-156 by this push:
     new 35213dd  FREEMARKER-156 [freemarker-generator] Migrate to Mockito
35213dd is described below

commit 35213ddb87ed2618804f75be181c1f50cd515d1c
Author: Siegfried Goeschl <[email protected]>
AuthorDate: Tue Jan 26 21:38:44 2021 +0100

    FREEMARKER-156 [freemarker-generator] Migrate to Mockito
---
 .../generator/base/util/PropertiesFactory.java     | 13 ++++
 .../generator/cli/config/SuppliersTest.java        |  1 +
 freemarker-generator-maven-plugin/pom.xml          |  2 +-
 .../generator/maven/ConfigurationSupplier.java     | 72 ++++++++++++++++++++++
 .../freemarker/generator/maven/FactoryUtil.java    | 50 ---------------
 .../freemarker/generator/maven/FreeMarkerMojo.java | 43 ++-----------
 .../generator/maven/GeneratingFileVisitor.java     |  5 +-
 .../generator/maven/JsonPropertiesProvider.java    |  1 -
 .../generator/maven/OutputGenerator.java           |  4 +-
 .../maven/OutputGeneratorPropertiesProvider.java   |  1 -
 .../generator/maven/ConfigurationSupplierTest.java | 54 ++++++++++++++++
 .../generator/maven/FreeMarkerMojoTest.java        |  5 +-
 .../generator/maven/GeneratingFileVisitorTest.java |  1 -
 .../maven/JsonPropertiesProviderTest.java          |  1 -
 .../generator/maven/OutputGeneratorTest.java       | 42 -------------
 .../freemarker/generator/maven/UnitTestHelper.java | 18 ++++++
 freemarker-generator-tools/pom.xml                 |  6 ++
 pom.xml                                            |  5 ++
 18 files changed, 181 insertions(+), 143 deletions(-)

diff --git 
a/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/util/PropertiesFactory.java
 
b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/util/PropertiesFactory.java
index 8805150..b077cf3 100644
--- 
a/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/util/PropertiesFactory.java
+++ 
b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/util/PropertiesFactory.java
@@ -16,14 +16,27 @@
  */
 package org.apache.freemarker.generator.base.util;
 
+import java.io.File;
+import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.StringReader;
 import java.util.Map;
 import java.util.Properties;
 
+/**
+ * Various helper methods to load property files.
+ */
 public class PropertiesFactory {
 
+    public static Properties create(File file) {
+        try (InputStream is = new FileInputStream(file)) {
+            return create(is);
+        } catch (IOException e) {
+            throw new RuntimeException("Failed to load properties file: " + 
file.getAbsolutePath());
+        }
+    }
+
     public static Properties create(InputStream is) {
         try {
             final Properties properties = new Properties();
diff --git 
a/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/config/SuppliersTest.java
 
b/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/config/SuppliersTest.java
index c59c955..78b6d68 100644
--- 
a/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/config/SuppliersTest.java
+++ 
b/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/config/SuppliersTest.java
@@ -141,6 +141,7 @@ public class SuppliersTest {
         assertNotNull(outputGenerator.getTemplateOutput().getWriter());
         assertNull(outputGenerator.getTemplateOutput().getFile());
     }
+
     private static String fixSeparators(String str) {
         if (OperatingSystem.isWindows()) {
             return FilenameUtils.separatorsToWindows(str);
diff --git a/freemarker-generator-maven-plugin/pom.xml 
b/freemarker-generator-maven-plugin/pom.xml
index 67ef461..d1f9515 100644
--- a/freemarker-generator-maven-plugin/pom.xml
+++ b/freemarker-generator-maven-plugin/pom.xml
@@ -78,7 +78,7 @@
         <dependency>
             <groupId>org.eclipse.sisu</groupId>
             <artifactId>org.eclipse.sisu.plexus</artifactId>
-            <version>0.3.3</version>
+            <version>0.3.4</version>
             <exclusions>
                 <exclusion>
                     <groupId>org.codehaus.plexus</groupId>
diff --git 
a/freemarker-generator-maven-plugin/src/main/java/org/apache/freemarker/generator/maven/ConfigurationSupplier.java
 
b/freemarker-generator-maven-plugin/src/main/java/org/apache/freemarker/generator/maven/ConfigurationSupplier.java
new file mode 100644
index 0000000..ed44a3a
--- /dev/null
+++ 
b/freemarker-generator-maven-plugin/src/main/java/org/apache/freemarker/generator/maven/ConfigurationSupplier.java
@@ -0,0 +1,72 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.freemarker.generator.maven;
+
+import freemarker.cache.FileTemplateLoader;
+import freemarker.template.Configuration;
+import freemarker.template.Version;
+import org.apache.freemarker.generator.base.util.PropertiesFactory;
+import org.apache.freemarker.generator.base.util.Validate;
+
+import java.io.File;
+import java.util.Properties;
+import java.util.function.Supplier;
+
+import static java.util.Objects.requireNonNull;
+
+public class ConfigurationSupplier implements Supplier<Configuration> {
+
+    private final String freeMarkerVersion;
+    private final File templateDirectory;
+    private final File sourceDirectory;
+
+    public ConfigurationSupplier(String freeMarkerVersion, File 
templateDirectory, File sourceDirectory) {
+        Validate.notEmpty(freeMarkerVersion, "freeMarkerVersion is required");
+        Validate.fileExists(templateDirectory, "Required template directory 
does not exist");
+
+        this.freeMarkerVersion = requireNonNull(freeMarkerVersion);
+        this.templateDirectory = requireNonNull(templateDirectory);
+        this.sourceDirectory = requireNonNull(sourceDirectory);
+    }
+
+    @Override
+    public Configuration get() {
+        final Configuration configuration = new Configuration(new 
Version(freeMarkerVersion));
+        configuration.setDefaultEncoding("UTF-8");
+
+        try {
+            configuration.setTemplateLoader(new 
FileTemplateLoader(templateDirectory));
+        } catch (Throwable t) {
+            throw new RuntimeException("Could not establish file template 
loader for directory: " + templateDirectory, t);
+        }
+
+        final File freeMarkerProps = new File(sourceDirectory, 
"freemarker.properties");
+
+        if (freeMarkerProps.isFile()) {
+            final Properties configProperties = 
PropertiesFactory.create(freeMarkerProps);
+            try {
+                configuration.setSettings(configProperties);
+            } catch (Throwable t) {
+                throw new RuntimeException("Invalid setting(s) in " + 
freeMarkerProps, t);
+            }
+        }
+
+        return configuration;
+    }
+}
diff --git 
a/freemarker-generator-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
deleted file mode 100644
index a255d3f..0000000
--- 
a/freemarker-generator-maven-plugin/src/main/java/org/apache/freemarker/generator/maven/FactoryUtil.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.freemarker.generator.maven;
-
-import freemarker.template.Configuration;
-import freemarker.template.Version;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-
-/**
- * Simple utility class to call various constructors.
- * Needed because some jmockit features don't work well with constructors.
- */
-public class FactoryUtil {
-
-    public static Configuration createConfiguration(String freeMarkerVersion) {
-        return new Configuration(new Version(freeMarkerVersion));
-    }
-
-    public static File createFile(File parent, String child) {
-        return new File(parent, child);
-    }
-
-    public static FileInputStream createFileInputStream(File file) throws 
FileNotFoundException {
-        return new FileInputStream(file);
-    }
-
-    public static File createFile(String name) {
-        return new File(name);
-    }
-}
diff --git 
a/freemarker-generator-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
index b187e46..8137cdf 100644
--- 
a/freemarker-generator-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
@@ -16,10 +16,8 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.freemarker.generator.maven;
 
-import freemarker.cache.FileTemplateLoader;
 import freemarker.template.Configuration;
 import org.apache.maven.execution.MavenSession;
 import org.apache.maven.plugin.AbstractMojo;
@@ -30,11 +28,9 @@ import org.apache.maven.plugins.annotations.Mojo;
 import org.apache.maven.plugins.annotations.Parameter;
 
 import java.io.File;
-import java.io.InputStream;
 import java.nio.file.Files;
 import java.util.HashMap;
 import java.util.Map;
-import java.util.Properties;
 
 @Mojo(name = "generate", defaultPhase = LifecyclePhase.GENERATE_SOURCES)
 public class FreeMarkerMojo extends AbstractMojo {
@@ -69,14 +65,14 @@ public class FreeMarkerMojo extends AbstractMojo {
         }
 
         if (!generatorDirectory.isDirectory()) {
-            throw new MojoExecutionException("Required directory does not 
exist: " + generatorDirectory);
+            throw new MojoExecutionException("Required generator directory 
does not exist: " + generatorDirectory);
         }
 
         if (!templateDirectory.isDirectory()) {
-            throw new MojoExecutionException("Required directory does not 
exist: " + templateDirectory);
+            throw new MojoExecutionException("Required template directory does 
not exist: " + templateDirectory);
         }
 
-        final Configuration config = freeMarkerConfiguration();
+        final Configuration configuration = configuration();
 
         if ("generate-sources".equals(mojo.getLifecyclePhase())) {
             
session.getCurrentProject().addCompileSourceRoot(outputDirectory.toString());
@@ -87,7 +83,7 @@ public class FreeMarkerMojo extends AbstractMojo {
         final Map<String, OutputGeneratorPropertiesProvider> 
extensionToBuilders = new HashMap<>(1);
         extensionToBuilders.put(".json", 
JsonPropertiesProvider.create(generatorDirectory, templateDirectory, 
outputDirectory));
 
-        final GeneratingFileVisitor fileVisitor = 
GeneratingFileVisitor.create(config, session, extensionToBuilders);
+        final GeneratingFileVisitor fileVisitor = 
GeneratingFileVisitor.create(configuration, session, extensionToBuilders);
         try {
             Files.walkFileTree(generatorDirectory.toPath(), fileVisitor);
         } catch (Throwable t) {
@@ -96,34 +92,7 @@ public class FreeMarkerMojo extends AbstractMojo {
         }
     }
 
-    private Configuration freeMarkerConfiguration() throws 
MojoExecutionException{
-        final Configuration configuration = 
FactoryUtil.createConfiguration(freeMarkerVersion);
-        configuration.setDefaultEncoding("UTF-8");
-
-        try {
-            configuration.setTemplateLoader(new 
FileTemplateLoader(templateDirectory));
-        } catch (Throwable t) {
-            getLog().error("Could not establish file template loader for 
directory: " + templateDirectory, t);
-            throw new MojoExecutionException("Could not establish file 
template loader for directory: " + templateDirectory);
-        }
-
-        final File freeMarkerProps = FactoryUtil.createFile(sourceDirectory, 
"freemarker.properties");
-        if (freeMarkerProps.isFile()) {
-            final Properties configProperties = new Properties();
-            try (InputStream is = 
FactoryUtil.createFileInputStream(freeMarkerProps)) {
-                configProperties.load(is);
-            } catch (Throwable t) {
-                getLog().error("Failed to load " + freeMarkerProps, t);
-                throw new MojoExecutionException("Failed to load " + 
freeMarkerProps);
-            }
-            try {
-                configuration.setSettings(configProperties);
-            } catch (Throwable t) {
-                getLog().error("Invalid setting(s) in " + freeMarkerProps, t);
-                throw new MojoExecutionException("Invalid setting(s) in " + 
freeMarkerProps);
-            }
-        }
-
-        return configuration;
+    private Configuration configuration() {
+        return new ConfigurationSupplier(freeMarkerVersion, templateDirectory, 
sourceDirectory).get();
     }
 }
diff --git 
a/freemarker-generator-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
index d4ef85a..e6796c6 100644
--- 
a/freemarker-generator-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
@@ -16,7 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.freemarker.generator.maven;
 
 import freemarker.template.Configuration;
@@ -52,8 +51,8 @@ public class GeneratingFileVisitor extends 
SimpleFileVisitor<Path> {
     /**
      * Factory method that calls constructor, added to facilitate testing with 
jmockit.
      *
-     * @param config FreeMarker configuration
-     * @param session Maven session
+     * @param config             FreeMarker configuration
+     * @param session            Maven session
      * @param extensionToBuilder builder extension
      * @return GeneratingFileVisitor instance
      */
diff --git 
a/freemarker-generator-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
index 1d16822..5b8757d 100644
--- 
a/freemarker-generator-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
@@ -16,7 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.freemarker.generator.maven;
 
 import com.google.gson.Gson;
diff --git 
a/freemarker-generator-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
index 2ac3b4f..fabb1fe 100644
--- 
a/freemarker-generator-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
@@ -16,7 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.freemarker.generator.maven;
 
 import freemarker.template.Configuration;
@@ -141,8 +140,7 @@ class OutputGenerator {
      * @param config Used to load the template from the template name.
      */
     public void generate(Configuration config) {
-        //Use "createFile" for testing purposes only
-        final File outputFile = 
FactoryUtil.createFile(outputLocation.toFile().toString());
+        final File outputFile = new 
File(outputLocation.toFile().getAbsolutePath());
         final File templateFile = templateLocation.toFile();
         final File generatorFile = generatorLocation.toFile();
         if (outputFile.exists()) {
diff --git 
a/freemarker-generator-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
index 25b929b..97710c1 100644
--- 
a/freemarker-generator-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
@@ -16,7 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.freemarker.generator.maven;
 
 import java.nio.file.Path;
diff --git 
a/freemarker-generator-maven-plugin/src/test/java/org/apache/freemarker/generator/maven/ConfigurationSupplierTest.java
 
b/freemarker-generator-maven-plugin/src/test/java/org/apache/freemarker/generator/maven/ConfigurationSupplierTest.java
new file mode 100644
index 0000000..ab16e19
--- /dev/null
+++ 
b/freemarker-generator-maven-plugin/src/test/java/org/apache/freemarker/generator/maven/ConfigurationSupplierTest.java
@@ -0,0 +1,54 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.freemarker.generator.maven;
+
+import freemarker.template.Configuration;
+import org.junit.Test;
+
+import java.io.File;
+
+import static org.assertj.core.api.Assertions.*;
+
+public class ConfigurationSupplierTest {
+
+    private static final String FREEMARKER_VERSION = "2.3.30";
+    private static final File SOURCE_DIR = new 
File("src/test/data/freemarker-mojo/data");
+    private static final File SOURCE_DIR_WITH_FREEMARKER_PROPS = new 
File("src/test/data/freemarker-mojo");
+    private static final File TEMPLATE_DIR = new 
File("src/test/data/freemarker-mojo/template");
+
+    @Test
+    public void shouldCreateConfiguration() {
+        final Configuration configuration = configuration(FREEMARKER_VERSION, 
TEMPLATE_DIR, SOURCE_DIR);
+
+        assertThat(configuration.getDefaultEncoding()).isEqualTo("UTF-8");
+        assertThat(configuration.getBooleanFormat()).isEqualTo("true,false");
+    }
+
+    @Test
+    public void shouldCreateConfigurationUsingFreeMarkerPropertiesFile() {
+        final Configuration configuration = configuration(FREEMARKER_VERSION, 
TEMPLATE_DIR, SOURCE_DIR_WITH_FREEMARKER_PROPS);
+
+        assertThat(configuration.getDefaultEncoding()).isEqualTo("UTF-8");
+        assertThat(configuration.getBooleanFormat()).isEqualTo("T,F");
+    }
+
+    private static Configuration configuration(String freeMarkerVersion, File 
templateDirectory, File sourceDirectory) {
+        return new ConfigurationSupplier(freeMarkerVersion, templateDirectory, 
sourceDirectory).get();
+    }
+}
diff --git 
a/freemarker-generator-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
index e2498ec..b8f8fed 100644
--- 
a/freemarker-generator-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
@@ -16,7 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.freemarker.generator.maven;
 
 import org.apache.commons.io.FileUtils;
@@ -165,12 +164,12 @@ public class FreeMarkerMojoTest extends Assert {
 
         assertThatExceptionOfType(MojoExecutionException.class)
                 .isThrownBy(mojo::execute)
-                .withMessageStartingWith("Required directory does not exist");
+                .withMessageStartingWith("Required generator directory does 
not exist");
 
         FileUtils.forceMkdir(new File(testCaseOutputDir, "data"));
         assertThatExceptionOfType(MojoExecutionException.class)
                 .isThrownBy(mojo::execute)
-                .withMessageStartingWith("Required directory does not exist");
+                .withMessageStartingWith("Required template directory does not 
exist");
 
         FileUtils.forceMkdir(new File(testCaseOutputDir, "template"));
 
diff --git 
a/freemarker-generator-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
index 32cc3c0..2b33462 100644
--- 
a/freemarker-generator-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
@@ -16,7 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.freemarker.generator.maven;
 
 import freemarker.template.Configuration;
diff --git 
a/freemarker-generator-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
index 78ead87..bbf481a 100644
--- 
a/freemarker-generator-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
@@ -16,7 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.freemarker.generator.maven;
 
 import 
org.apache.freemarker.generator.maven.OutputGenerator.OutputGeneratorBuilder;
diff --git 
a/freemarker-generator-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
index bd8680a..d577a83 100644
--- 
a/freemarker-generator-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
@@ -16,7 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.freemarker.generator.maven;
 
 import freemarker.template.Configuration;
@@ -244,47 +243,6 @@ public class OutputGeneratorTest {
                         .getAbsolutePath());
     }
 
-    /**
-     * No idea what the tests is going to test? I assume the intention
-     * is that "mydir" can't be created because "generating-file-visitor"
-     * directory does not exist but File#mkdirs happily create the missing
-     * directory (unless you pass the mocked file instance).
-     *
-    @Test
-    public void generate_cantCreateOutputFileParentDirTest(
-            @Mocked FactoryUtil factoryUtil,
-            @Mocked File mockOutputFile) {
-
-        final File parentDir = new 
File("target/test-output/generating-file-visitor/mydir");
-        new Expectations(mockOutputFile, parentDir) {{
-            FactoryUtil.createFile(anyString);
-            result = mockOutputFile;
-            mockOutputFile.exists();
-            result = false;
-            mockOutputFile.getParentFile();
-            result = parentDir;
-            parentDir.isDirectory();
-            result = false;
-        }};
-
-        final OutputGenerator.OutputGeneratorBuilder builder = 
OutputGenerator.builder();
-        builder.addPomLastModifiedTimestamp(0);
-        final File file = new File(DATA_DIR, 
"mydir/missing-var-test.txt.json");
-        builder.addGeneratorLocation(file.toPath());
-        final File outputFile = new File(OUTPUT_DIR, 
"mydir/missing-var-test.txt");
-        builder.addOutputLocation(outputFile.toPath());
-        final File templateFile = new File(TEMPLATE_DIR, "test.ftl"); //this 
is missing a
-
-        builder.addTemplateLocation(templateFile.toPath());
-        builder.addDataModel(dataModel);
-        final OutputGenerator generator = builder.create();
-
-        Assertions.assertThatExceptionOfType(RuntimeException.class)
-                .isThrownBy(() -> generator.generate(config))
-                .withMessage("Could not create directory: " + 
parentDir.getAbsoluteFile().toString());
-    }
-    */
-
     @SuppressWarnings("unchecked")
     private static Map<String, Object> dataModel() {
         final HashMap<String, Object> result = new HashMap<>();
diff --git 
a/freemarker-generator-maven-plugin/src/test/java/org/apache/freemarker/generator/maven/UnitTestHelper.java
 
b/freemarker-generator-maven-plugin/src/test/java/org/apache/freemarker/generator/maven/UnitTestHelper.java
index 114954f..96c70df 100644
--- 
a/freemarker-generator-maven-plugin/src/test/java/org/apache/freemarker/generator/maven/UnitTestHelper.java
+++ 
b/freemarker-generator-maven-plugin/src/test/java/org/apache/freemarker/generator/maven/UnitTestHelper.java
@@ -1,3 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
 package org.apache.freemarker.generator.maven;
 
 import freemarker.cache.FileTemplateLoader;
diff --git a/freemarker-generator-tools/pom.xml 
b/freemarker-generator-tools/pom.xml
index 635b9c1..5d1bcba 100644
--- a/freemarker-generator-tools/pom.xml
+++ b/freemarker-generator-tools/pom.xml
@@ -42,6 +42,12 @@
             <artifactId>freemarker-generator-base</artifactId>
             <version>${project.version}</version>
         </dependency>
+        <!-- General -->
+        <dependency>
+            <!-- Overwrite version pulled in by fava-faker -->
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-lang3</artifactId>
+        </dependency>
         <!-- CommonsCSVTool -->
         <dependency>
             <groupId>org.apache.commons</groupId>
diff --git a/pom.xml b/pom.xml
index 8512bf7..7c44d98 100644
--- a/pom.xml
+++ b/pom.xml
@@ -111,6 +111,11 @@
                 <version>${freemarker.version}</version>
             </dependency>
             <dependency>
+                <groupId>org.apache.commons</groupId>
+                <artifactId>commons-lang3</artifactId>
+                <version>3.7</version>
+            </dependency>
+            <dependency>
                 <groupId>commons-io</groupId>
                 <artifactId>commons-io</artifactId>
                 <version>2.7</version>

Reply via email to