FREEMARKER-182 Upgrade to Apache FreeMarker 2.3.31 (#34)

diff --git a/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/datasource/DataSourceLoaderTest.java b/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/datasource/DataSourceLoaderTest.java
index dfd24ec..194e67e 100644
--- a/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/datasource/DataSourceLoaderTest.java
+++ b/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/datasource/DataSourceLoaderTest.java
@@ -20,6 +20,7 @@
 import org.apache.freemarker.generator.base.datasource.DataSource;
 import org.apache.freemarker.generator.base.datasource.DataSourceLoader;
 import org.apache.freemarker.generator.base.datasource.DataSourceLoaderFactory;
+import org.apache.freemarker.generator.base.util.StringUtils;
 import org.junit.Ignore;
 import org.junit.Test;
 
@@ -162,13 +163,12 @@
     }
 
     @Test
-    @Ignore("TODO Travis build failed with: 'Environment variable not found: TRAVIS_TAG'")
     public void shouldCreateDataSourceFromEnvironmentVariable() {
         if (!hasEnvironmentVariables()) {
             return;
         }
 
-        final String anyEnvironmentVariable = System.getenv().keySet().iterator().next();
+        final String anyEnvironmentVariable = anyEnvironmentVariable();
         final String namedUriString = String.format("myenv=env:///%s", anyEnvironmentVariable);
 
         try (DataSource dataSource = dataSourceLoader().load(namedUriString)) {
@@ -199,4 +199,12 @@
     private boolean hasEnvironmentVariables() {
         return !System.getenv().isEmpty();
     }
+
+    private String anyEnvironmentVariable() {
+        return System.getenv().keySet()
+                .stream()
+                .filter(env -> StringUtils.isNotEmpty(System.getenv(env)))
+                .findFirst()
+                .orElseThrow(() -> new RuntimeException("No matching environment variable found"));
+    }
 }
diff --git a/freemarker-generator-cli/CHANGELOG.md b/freemarker-generator-cli/CHANGELOG.md
index 13055af..993890c 100644
--- a/freemarker-generator-cli/CHANGELOG.md
+++ b/freemarker-generator-cli/CHANGELOG.md
@@ -21,6 +21,7 @@
 * [FREEMARKER-129] Provide a `toString()` method for all tools
 
 ### Changed
+* [FREEMARKER-182] Upgrade to Apache FreeMarker 2.3.31
 * [FREEMARKER-175] Use latest FreeMarker version
 * [FREEMARKER-173] Allow to pass arbitrary key/value pairs to DataSource when using NamedURIs
 * [FREEMARKER-172] Use lower-case keys for DataSource metadata map
@@ -80,4 +81,5 @@
 [FREEMARKER-175]: https://issues.apache.org/jira/browse/FREEMARKER-175
 [FREEMARKER-176]: https://issues.apache.org/jira/browse/FREEMARKER-176
 [FREEMARKER-181]: https://issues.apache.org/jira/browse/FREEMARKER-181
+[FREEMARKER-182]: https://issues.apache.org/jira/browse/FREEMARKER-182
 
diff --git a/pom.xml b/pom.xml
index 8a38d18..b64f33a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -81,7 +81,8 @@
     </modules>
 
     <properties>
-        <freemarker.version>2.3.30</freemarker.version>
+        <freemarker.version>2.3.31</freemarker.version>
+        <slf4j.version>1.7.30</slf4j.version>
         <maven.compiler.source>1.8</maven.compiler.source>
         <maven.compiler.target>1.8</maven.compiler.target>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -128,17 +129,17 @@
             <dependency>
                 <groupId>org.slf4j</groupId>
                 <artifactId>slf4j-api</artifactId>
-                <version>1.7.30</version>
+                <version>${slf4j.version}</version>
             </dependency>
             <dependency>
                 <groupId>org.slf4j</groupId>
                 <artifactId>slf4j-simple</artifactId>
-                <version>1.7.30</version>
+                <version>${slf4j.version}</version>
             </dependency>
             <dependency>
                 <groupId>org.slf4j</groupId>
                 <artifactId>slf4j-nop</artifactId>
-                <version>1.7.30</version>
+                <version>${slf4j.version}</version>
             </dependency>
             <dependency>
                 <groupId>junit</groupId>