From 2e0ba46af1d64f9a9ceabbde5dad08f90d0ff4cc Mon Sep 17 00:00:00 2001 From: Marian Koncek Date: Thu, 31 Oct 2019 15:42:53 +0100 Subject: [PATCH] Port to OpenJDK 11 Port to apache-commons-lang3 --- 0001-Port-to-apache-commons-lang3.patch | 464 ++++++++++++++++++++++++ 0002-Port-to-OpenJDK-11.patch | 33 ++ velocity.spec | 12 +- 3 files changed, 507 insertions(+), 2 deletions(-) create mode 100644 0001-Port-to-apache-commons-lang3.patch create mode 100644 0002-Port-to-OpenJDK-11.patch diff --git a/0001-Port-to-apache-commons-lang3.patch b/0001-Port-to-apache-commons-lang3.patch new file mode 100644 index 0000000..c4247c4 --- /dev/null +++ b/0001-Port-to-apache-commons-lang3.patch @@ -0,0 +1,464 @@ +From afc1005f123933e3441833651a558ab88d7cbee4 Mon Sep 17 00:00:00 2001 +From: Marian Koncek +Date: Thu, 31 Oct 2019 14:35:40 +0100 +Subject: [PATCH] Port to apache-commons-lang3 + +--- + pom.xml | 6 +++--- + .../velocity/app/event/implement/EscapeHtmlReference.java | 4 ++-- + .../app/event/implement/EscapeJavaScriptReference.java | 4 ++-- + .../velocity/app/event/implement/EscapeSqlReference.java | 5 +++-- + .../velocity/app/event/implement/EscapeXmlReference.java | 2 +- + src/java/org/apache/velocity/runtime/RuntimeInstance.java | 2 +- + .../org/apache/velocity/runtime/VelocimacroFactory.java | 2 +- + src/java/org/apache/velocity/runtime/directive/Block.java | 2 +- + .../org/apache/velocity/runtime/directive/RuntimeMacro.java | 2 +- + src/java/org/apache/velocity/runtime/parser/Parser.java | 2 +- + .../apache/velocity/runtime/parser/ParserTokenManager.java | 2 +- + .../apache/velocity/runtime/parser/node/ASTDirective.java | 2 +- + .../org/apache/velocity/runtime/parser/node/ASTMethod.java | 4 ++-- + .../velocity/runtime/parser/node/ASTStringLiteral.java | 2 +- + .../org/apache/velocity/runtime/parser/node/NodeUtils.java | 2 +- + .../velocity/runtime/parser/node/PropertyExecutor.java | 2 +- + .../velocity/runtime/parser/node/SetPropertyExecutor.java | 4 ++-- + .../org/apache/velocity/runtime/parser/node/SimpleNode.java | 4 ++-- + .../velocity/runtime/resource/ResourceManagerImpl.java | 4 ++-- + .../runtime/resource/loader/ClasspathResourceLoader.java | 2 +- + .../runtime/resource/loader/DataSourceResourceLoader.java | 2 +- + .../runtime/resource/loader/FileResourceLoader.java | 2 +- + .../velocity/runtime/resource/loader/JarResourceLoader.java | 2 +- + .../runtime/resource/loader/StringResourceLoader.java | 2 +- + .../velocity/runtime/resource/loader/URLResourceLoader.java | 2 +- + .../org/apache/velocity/util/introspection/ClassMap.java | 2 +- + .../org/apache/velocity/io/UnicodeInputStreamTestCase.java | 2 +- + src/test/org/apache/velocity/test/BaseTestCase.java | 2 +- + .../org/apache/velocity/test/MethodCacheKeyTestCase.java | 2 +- + 29 files changed, 39 insertions(+), 38 deletions(-) + +diff --git a/pom.xml b/pom.xml +index e2c7004..273fc9d 100644 +--- a/pom.xml ++++ b/pom.xml +@@ -143,9 +143,9 @@ + 3.2.1 + + +- commons-lang +- commons-lang +- 2.4 ++ org.apache.commons ++ commons-lang3 ++ 3.9 + + + oro +diff --git a/src/java/org/apache/velocity/app/event/implement/EscapeHtmlReference.java b/src/java/org/apache/velocity/app/event/implement/EscapeHtmlReference.java +index 6d98b45..e146995 100644 +--- a/src/java/org/apache/velocity/app/event/implement/EscapeHtmlReference.java ++++ b/src/java/org/apache/velocity/app/event/implement/EscapeHtmlReference.java +@@ -19,7 +19,7 @@ package org.apache.velocity.app.event.implement; + * under the License. + */ + +-import org.apache.commons.lang.StringEscapeUtils; ++import org.apache.commons.lang3.StringEscapeUtils; + + /** + * Escape all HTML entities. +@@ -39,7 +39,7 @@ public class EscapeHtmlReference extends EscapeReference + */ + protected String escape(Object text) + { +- return StringEscapeUtils.escapeHtml(text.toString()); ++ return StringEscapeUtils.escapeHtml4(text.toString()); + } + + /** +diff --git a/src/java/org/apache/velocity/app/event/implement/EscapeJavaScriptReference.java b/src/java/org/apache/velocity/app/event/implement/EscapeJavaScriptReference.java +index ea49ddb..12f38f4 100644 +--- a/src/java/org/apache/velocity/app/event/implement/EscapeJavaScriptReference.java ++++ b/src/java/org/apache/velocity/app/event/implement/EscapeJavaScriptReference.java +@@ -19,7 +19,7 @@ package org.apache.velocity.app.event.implement; + * under the License. + */ + +-import org.apache.commons.lang.StringEscapeUtils; ++import org.apache.commons.lang3.StringEscapeUtils; + + /** + * Escapes the characters in a String to be suitable for use in JavaScript. +@@ -39,7 +39,7 @@ public class EscapeJavaScriptReference extends EscapeReference + */ + protected String escape(Object text) + { +- return StringEscapeUtils.escapeJavaScript(text.toString()); ++ return StringEscapeUtils.escapeEcmaScript(text.toString()); + } + + /** +diff --git a/src/java/org/apache/velocity/app/event/implement/EscapeSqlReference.java b/src/java/org/apache/velocity/app/event/implement/EscapeSqlReference.java +index 585cb6c..39e04f4 100644 +--- a/src/java/org/apache/velocity/app/event/implement/EscapeSqlReference.java ++++ b/src/java/org/apache/velocity/app/event/implement/EscapeSqlReference.java +@@ -19,7 +19,7 @@ package org.apache.velocity.app.event.implement; + * under the License. + */ + +-import org.apache.commons.lang.StringEscapeUtils; ++import org.apache.commons.lang3.StringUtils; + + /** + * Escapes the characters in a String to be suitable to pass to an SQL query. +@@ -39,7 +39,8 @@ public class EscapeSqlReference extends EscapeReference + */ + protected String escape(Object text) + { +- return StringEscapeUtils.escapeSql(text.toString()); ++ // See https://commons.apache.org/proper/commons-lang/javadocs/api-2.6/org/apache/commons/lang/StringEscapeUtils.html#escapeSql(java.lang.String) ++ return StringUtils.replace(text.toString(), "'", "''"); + } + + /** +diff --git a/src/java/org/apache/velocity/app/event/implement/EscapeXmlReference.java b/src/java/org/apache/velocity/app/event/implement/EscapeXmlReference.java +index 3d5b40f..fbb525c 100644 +--- a/src/java/org/apache/velocity/app/event/implement/EscapeXmlReference.java ++++ b/src/java/org/apache/velocity/app/event/implement/EscapeXmlReference.java +@@ -19,7 +19,7 @@ package org.apache.velocity.app.event.implement; + * under the License. + */ + +-import org.apache.commons.lang.StringEscapeUtils; ++import org.apache.commons.lang3.StringEscapeUtils; + + /** + * Escape all XML entities. +diff --git a/src/java/org/apache/velocity/runtime/RuntimeInstance.java b/src/java/org/apache/velocity/runtime/RuntimeInstance.java +index bf99faa..a79d42c 100644 +--- a/src/java/org/apache/velocity/runtime/RuntimeInstance.java ++++ b/src/java/org/apache/velocity/runtime/RuntimeInstance.java +@@ -32,7 +32,7 @@ import java.util.Map; + import java.util.Properties; + + import org.apache.commons.collections.ExtendedProperties; +-import org.apache.commons.lang.text.StrBuilder; ++import org.apache.commons.lang3.text.StrBuilder; + import org.apache.velocity.Template; + import org.apache.velocity.app.event.EventCartridge; + import org.apache.velocity.app.event.EventHandler; +diff --git a/src/java/org/apache/velocity/runtime/VelocimacroFactory.java b/src/java/org/apache/velocity/runtime/VelocimacroFactory.java +index 2737b3b..956ab05 100644 +--- a/src/java/org/apache/velocity/runtime/VelocimacroFactory.java ++++ b/src/java/org/apache/velocity/runtime/VelocimacroFactory.java +@@ -26,7 +26,7 @@ import java.util.Map; + import java.util.Vector; + import java.util.ArrayList; + +-import org.apache.commons.lang.StringUtils; ++import org.apache.commons.lang3.StringUtils; + import org.apache.velocity.Template; + import org.apache.velocity.exception.VelocityException; + import org.apache.velocity.runtime.directive.Directive; +diff --git a/src/java/org/apache/velocity/runtime/directive/Block.java b/src/java/org/apache/velocity/runtime/directive/Block.java +index f5fdfa8..b136543 100644 +--- a/src/java/org/apache/velocity/runtime/directive/Block.java ++++ b/src/java/org/apache/velocity/runtime/directive/Block.java +@@ -23,7 +23,7 @@ import java.io.IOException; + import java.io.StringWriter; + import java.io.Writer; + +-import org.apache.commons.lang.text.StrBuilder; ++import org.apache.commons.lang3.text.StrBuilder; + import org.apache.velocity.context.InternalContextAdapter; + import org.apache.velocity.exception.TemplateInitException; + import org.apache.velocity.runtime.Renderable; +diff --git a/src/java/org/apache/velocity/runtime/directive/RuntimeMacro.java b/src/java/org/apache/velocity/runtime/directive/RuntimeMacro.java +index 090b552..d22ac4e 100644 +--- a/src/java/org/apache/velocity/runtime/directive/RuntimeMacro.java ++++ b/src/java/org/apache/velocity/runtime/directive/RuntimeMacro.java +@@ -23,7 +23,7 @@ import java.io.IOException; + import java.io.Writer; + import java.util.List; + +-import org.apache.commons.lang.text.StrBuilder; ++import org.apache.commons.lang3.text.StrBuilder; + import org.apache.velocity.context.InternalContextAdapter; + import org.apache.velocity.exception.MethodInvocationException; + import org.apache.velocity.exception.ParseErrorException; +diff --git a/src/java/org/apache/velocity/runtime/parser/Parser.java b/src/java/org/apache/velocity/runtime/parser/Parser.java +index 085e7a4..62dfe48 100644 +--- a/src/java/org/apache/velocity/runtime/parser/Parser.java ++++ b/src/java/org/apache/velocity/runtime/parser/Parser.java +@@ -10,7 +10,7 @@ import org.apache.velocity.runtime.directive.Directive; + import org.apache.velocity.runtime.directive.Macro; + import org.apache.velocity.runtime.directive.MacroParseException; + import org.apache.velocity.util.StringUtils; +-import org.apache.commons.lang.text.StrBuilder; ++import org.apache.commons.lang3.text.StrBuilder; + import org.apache.velocity.runtime.RuntimeConstants; + + /** +diff --git a/src/java/org/apache/velocity/runtime/parser/ParserTokenManager.java b/src/java/org/apache/velocity/runtime/parser/ParserTokenManager.java +index ce00d99..9563a1f 100644 +--- a/src/java/org/apache/velocity/runtime/parser/ParserTokenManager.java ++++ b/src/java/org/apache/velocity/runtime/parser/ParserTokenManager.java +@@ -9,7 +9,7 @@ import org.apache.velocity.runtime.directive.Directive; + import org.apache.velocity.runtime.directive.Macro; + import org.apache.velocity.runtime.directive.MacroParseException; + import org.apache.velocity.util.StringUtils; +-import org.apache.commons.lang.text.StrBuilder; ++import org.apache.commons.lang3.text.StrBuilder; + import org.apache.velocity.runtime.RuntimeConstants; + + /** Token Manager. */ +diff --git a/src/java/org/apache/velocity/runtime/parser/node/ASTDirective.java b/src/java/org/apache/velocity/runtime/parser/node/ASTDirective.java +index 86e86b7..f1ab78d 100644 +--- a/src/java/org/apache/velocity/runtime/parser/node/ASTDirective.java ++++ b/src/java/org/apache/velocity/runtime/parser/node/ASTDirective.java +@@ -22,7 +22,7 @@ package org.apache.velocity.runtime.parser.node; + import java.io.IOException; + import java.io.Writer; + +-import org.apache.commons.lang.builder.ToStringBuilder; ++import org.apache.commons.lang3.builder.ToStringBuilder; + import org.apache.velocity.context.InternalContextAdapter; + import org.apache.velocity.exception.MethodInvocationException; + import org.apache.velocity.exception.ParseErrorException; +diff --git a/src/java/org/apache/velocity/runtime/parser/node/ASTMethod.java b/src/java/org/apache/velocity/runtime/parser/node/ASTMethod.java +index a1545e5..7354c9a 100644 +--- a/src/java/org/apache/velocity/runtime/parser/node/ASTMethod.java ++++ b/src/java/org/apache/velocity/runtime/parser/node/ASTMethod.java +@@ -21,8 +21,8 @@ package org.apache.velocity.runtime.parser.node; + + import java.lang.reflect.InvocationTargetException; + +-import org.apache.commons.lang.ArrayUtils; +-import org.apache.commons.lang.StringUtils; ++import org.apache.commons.lang3.ArrayUtils; ++import org.apache.commons.lang3.StringUtils; + import org.apache.velocity.app.event.EventHandlerUtil; + import org.apache.velocity.context.InternalContextAdapter; + import org.apache.velocity.exception.MethodInvocationException; +diff --git a/src/java/org/apache/velocity/runtime/parser/node/ASTStringLiteral.java b/src/java/org/apache/velocity/runtime/parser/node/ASTStringLiteral.java +index bb56cd9..0bc63bc 100644 +--- a/src/java/org/apache/velocity/runtime/parser/node/ASTStringLiteral.java ++++ b/src/java/org/apache/velocity/runtime/parser/node/ASTStringLiteral.java +@@ -21,7 +21,7 @@ import java.io.IOException; + import java.io.StringReader; + import java.io.StringWriter; + +-import org.apache.commons.lang.text.StrBuilder; ++import org.apache.commons.lang3.text.StrBuilder; + import org.apache.velocity.context.InternalContextAdapter; + import org.apache.velocity.exception.TemplateInitException; + import org.apache.velocity.exception.VelocityException; +diff --git a/src/java/org/apache/velocity/runtime/parser/node/NodeUtils.java b/src/java/org/apache/velocity/runtime/parser/node/NodeUtils.java +index 52bcda9..8362c3e 100644 +--- a/src/java/org/apache/velocity/runtime/parser/node/NodeUtils.java ++++ b/src/java/org/apache/velocity/runtime/parser/node/NodeUtils.java +@@ -19,7 +19,7 @@ package org.apache.velocity.runtime.parser.node; + * under the License. + */ + +-import org.apache.commons.lang.text.StrBuilder; ++import org.apache.commons.lang3.text.StrBuilder; + import org.apache.velocity.context.Context; + import org.apache.velocity.exception.MethodInvocationException; + import org.apache.velocity.runtime.parser.ParserConstants; +diff --git a/src/java/org/apache/velocity/runtime/parser/node/PropertyExecutor.java b/src/java/org/apache/velocity/runtime/parser/node/PropertyExecutor.java +index 8c78228..20d6c18 100644 +--- a/src/java/org/apache/velocity/runtime/parser/node/PropertyExecutor.java ++++ b/src/java/org/apache/velocity/runtime/parser/node/PropertyExecutor.java +@@ -21,7 +21,7 @@ package org.apache.velocity.runtime.parser.node; + + import java.lang.reflect.InvocationTargetException; + +-import org.apache.commons.lang.StringUtils; ++import org.apache.commons.lang3.StringUtils; + import org.apache.velocity.exception.VelocityException; + import org.apache.velocity.runtime.RuntimeLogger; + import org.apache.velocity.runtime.log.Log; +diff --git a/src/java/org/apache/velocity/runtime/parser/node/SetPropertyExecutor.java b/src/java/org/apache/velocity/runtime/parser/node/SetPropertyExecutor.java +index 0b27b45..ba5d512 100644 +--- a/src/java/org/apache/velocity/runtime/parser/node/SetPropertyExecutor.java ++++ b/src/java/org/apache/velocity/runtime/parser/node/SetPropertyExecutor.java +@@ -21,8 +21,8 @@ package org.apache.velocity.runtime.parser.node; + + import java.lang.reflect.InvocationTargetException; + +-import org.apache.commons.lang.StringUtils; +-import org.apache.commons.lang.text.StrBuilder; ++import org.apache.commons.lang3.StringUtils; ++import org.apache.commons.lang3.text.StrBuilder; + import org.apache.velocity.exception.VelocityException; + import org.apache.velocity.runtime.log.Log; + import org.apache.velocity.util.introspection.Introspector; +diff --git a/src/java/org/apache/velocity/runtime/parser/node/SimpleNode.java b/src/java/org/apache/velocity/runtime/parser/node/SimpleNode.java +index 108846f..6372830 100644 +--- a/src/java/org/apache/velocity/runtime/parser/node/SimpleNode.java ++++ b/src/java/org/apache/velocity/runtime/parser/node/SimpleNode.java +@@ -22,8 +22,8 @@ package org.apache.velocity.runtime.parser.node; + import java.io.IOException; + import java.io.Writer; + +-import org.apache.commons.lang.builder.ToStringBuilder; +-import org.apache.commons.lang.text.StrBuilder; ++import org.apache.commons.lang3.builder.ToStringBuilder; ++import org.apache.commons.lang3.text.StrBuilder; + import org.apache.velocity.context.InternalContextAdapter; + import org.apache.velocity.exception.MethodInvocationException; + import org.apache.velocity.exception.ParseErrorException; +diff --git a/src/java/org/apache/velocity/runtime/resource/ResourceManagerImpl.java b/src/java/org/apache/velocity/runtime/resource/ResourceManagerImpl.java +index 1b504eb..b33d4ed 100644 +--- a/src/java/org/apache/velocity/runtime/resource/ResourceManagerImpl.java ++++ b/src/java/org/apache/velocity/runtime/resource/ResourceManagerImpl.java +@@ -158,7 +158,7 @@ public class ResourceManagerImpl + + Object cacheObject = null; + +- if (org.apache.commons.lang.StringUtils.isNotEmpty(cacheClassName)) ++ if (org.apache.commons.lang3.StringUtils.isNotEmpty(cacheClassName)) + { + try + { +@@ -534,7 +534,7 @@ public class ResourceManagerImpl + * this strikes me as bad... + */ + +- if (!org.apache.commons.lang.StringUtils.equals(resource.getEncoding(), encoding)) ++ if (!org.apache.commons.lang3.StringUtils.equals(resource.getEncoding(), encoding)) + { + log.warn("Declared encoding for template '" + + resource.getName() + +diff --git a/src/java/org/apache/velocity/runtime/resource/loader/ClasspathResourceLoader.java b/src/java/org/apache/velocity/runtime/resource/loader/ClasspathResourceLoader.java +index 623766f..a7cc276 100644 +--- a/src/java/org/apache/velocity/runtime/resource/loader/ClasspathResourceLoader.java ++++ b/src/java/org/apache/velocity/runtime/resource/loader/ClasspathResourceLoader.java +@@ -22,7 +22,7 @@ package org.apache.velocity.runtime.resource.loader; + import java.io.InputStream; + + import org.apache.commons.collections.ExtendedProperties; +-import org.apache.commons.lang.StringUtils; ++import org.apache.commons.lang3.StringUtils; + import org.apache.velocity.exception.ResourceNotFoundException; + import org.apache.velocity.runtime.resource.Resource; + import org.apache.velocity.util.ClassUtils; +diff --git a/src/java/org/apache/velocity/runtime/resource/loader/DataSourceResourceLoader.java b/src/java/org/apache/velocity/runtime/resource/loader/DataSourceResourceLoader.java +index 833e0ac..7414913 100644 +--- a/src/java/org/apache/velocity/runtime/resource/loader/DataSourceResourceLoader.java ++++ b/src/java/org/apache/velocity/runtime/resource/loader/DataSourceResourceLoader.java +@@ -218,7 +218,7 @@ public class DataSourceResourceLoader extends ResourceLoader + public synchronized InputStream getResourceStream(final String name) + throws ResourceNotFoundException + { +- if (org.apache.commons.lang.StringUtils.isEmpty(name)) ++ if (org.apache.commons.lang3.StringUtils.isEmpty(name)) + { + throw new ResourceNotFoundException("DataSourceResourceLoader: Template name was empty or null"); + } +diff --git a/src/java/org/apache/velocity/runtime/resource/loader/FileResourceLoader.java b/src/java/org/apache/velocity/runtime/resource/loader/FileResourceLoader.java +index 462ed16..3898889 100644 +--- a/src/java/org/apache/velocity/runtime/resource/loader/FileResourceLoader.java ++++ b/src/java/org/apache/velocity/runtime/resource/loader/FileResourceLoader.java +@@ -118,7 +118,7 @@ public class FileResourceLoader extends ResourceLoader + /* + * Make sure we have a valid templateName. + */ +- if (org.apache.commons.lang.StringUtils.isEmpty(templateName)) ++ if (org.apache.commons.lang3.StringUtils.isEmpty(templateName)) + { + /* + * If we don't get a properly formed templateName then +diff --git a/src/java/org/apache/velocity/runtime/resource/loader/JarResourceLoader.java b/src/java/org/apache/velocity/runtime/resource/loader/JarResourceLoader.java +index 172384e..b7fb1a7 100644 +--- a/src/java/org/apache/velocity/runtime/resource/loader/JarResourceLoader.java ++++ b/src/java/org/apache/velocity/runtime/resource/loader/JarResourceLoader.java +@@ -195,7 +195,7 @@ public class JarResourceLoader extends ResourceLoader + { + InputStream results = null; + +- if (org.apache.commons.lang.StringUtils.isEmpty(source)) ++ if (org.apache.commons.lang3.StringUtils.isEmpty(source)) + { + throw new ResourceNotFoundException("Need to have a resource!"); + } +diff --git a/src/java/org/apache/velocity/runtime/resource/loader/StringResourceLoader.java b/src/java/org/apache/velocity/runtime/resource/loader/StringResourceLoader.java +index 895182d..41c0ec9 100644 +--- a/src/java/org/apache/velocity/runtime/resource/loader/StringResourceLoader.java ++++ b/src/java/org/apache/velocity/runtime/resource/loader/StringResourceLoader.java +@@ -26,7 +26,7 @@ import java.io.ByteArrayInputStream; + import java.io.InputStream; + import java.io.UnsupportedEncodingException; + import org.apache.commons.collections.ExtendedProperties; +-import org.apache.commons.lang.StringUtils; ++import org.apache.commons.lang3.StringUtils; + import org.apache.velocity.exception.ResourceNotFoundException; + import org.apache.velocity.exception.VelocityException; + import org.apache.velocity.runtime.resource.Resource; +diff --git a/src/java/org/apache/velocity/runtime/resource/loader/URLResourceLoader.java b/src/java/org/apache/velocity/runtime/resource/loader/URLResourceLoader.java +index de06636..74ab86a 100644 +--- a/src/java/org/apache/velocity/runtime/resource/loader/URLResourceLoader.java ++++ b/src/java/org/apache/velocity/runtime/resource/loader/URLResourceLoader.java +@@ -26,7 +26,7 @@ import java.net.URL; + import java.net.URLConnection; + import java.util.HashMap; + import org.apache.commons.collections.ExtendedProperties; +-import org.apache.commons.lang.StringUtils; ++import org.apache.commons.lang3.StringUtils; + import org.apache.velocity.exception.VelocityException; + import org.apache.velocity.exception.ResourceNotFoundException; + import org.apache.velocity.runtime.resource.Resource; +diff --git a/src/java/org/apache/velocity/util/introspection/ClassMap.java b/src/java/org/apache/velocity/util/introspection/ClassMap.java +index 66bc7b1..77c1c8b 100644 +--- a/src/java/org/apache/velocity/util/introspection/ClassMap.java ++++ b/src/java/org/apache/velocity/util/introspection/ClassMap.java +@@ -23,7 +23,7 @@ import java.lang.reflect.Method; + import java.lang.reflect.Modifier; + import java.util.HashMap; + import java.util.Map; +-import org.apache.commons.lang.text.StrBuilder; ++import org.apache.commons.lang3.text.StrBuilder; + import org.apache.velocity.runtime.log.Log; + import org.apache.velocity.util.MapFactory; + +diff --git a/src/test/org/apache/velocity/io/UnicodeInputStreamTestCase.java b/src/test/org/apache/velocity/io/UnicodeInputStreamTestCase.java +index 3142f45..ff36682 100644 +--- a/src/test/org/apache/velocity/io/UnicodeInputStreamTestCase.java ++++ b/src/test/org/apache/velocity/io/UnicodeInputStreamTestCase.java +@@ -27,7 +27,7 @@ import junit.framework.Test; + import junit.framework.TestCase; + import junit.framework.TestSuite; + +-import org.apache.commons.lang.ArrayUtils; ++import org.apache.commons.lang3.ArrayUtils; + + + /** +diff --git a/src/test/org/apache/velocity/test/BaseTestCase.java b/src/test/org/apache/velocity/test/BaseTestCase.java +index 9faf585..f893d0f 100644 +--- a/src/test/org/apache/velocity/test/BaseTestCase.java ++++ b/src/test/org/apache/velocity/test/BaseTestCase.java +@@ -353,7 +353,7 @@ public abstract class BaseTestCase extends TestCase implements TemplateTestBase + buf.append(baseFile.getPath()); + } + +- if (org.apache.commons.lang.StringUtils.isNotEmpty(ext)) ++ if (org.apache.commons.lang3.StringUtils.isNotEmpty(ext)) + { + buf.append('.').append(ext); + } +diff --git a/src/test/org/apache/velocity/test/MethodCacheKeyTestCase.java b/src/test/org/apache/velocity/test/MethodCacheKeyTestCase.java +index d1ad1db..e70c5f2 100644 +--- a/src/test/org/apache/velocity/test/MethodCacheKeyTestCase.java ++++ b/src/test/org/apache/velocity/test/MethodCacheKeyTestCase.java +@@ -21,7 +21,7 @@ package org.apache.velocity.test; + + import junit.framework.TestCase; + +-import org.apache.commons.lang.ArrayUtils; ++import org.apache.commons.lang3.ArrayUtils; + import org.apache.velocity.runtime.parser.node.ASTMethod; + + /** +-- +2.21.0 + diff --git a/0002-Port-to-OpenJDK-11.patch b/0002-Port-to-OpenJDK-11.patch new file mode 100644 index 0000000..5c5efe2 --- /dev/null +++ b/0002-Port-to-OpenJDK-11.patch @@ -0,0 +1,33 @@ +From a7d58ff8edefb992d4989a4e2d8f4eec104e4e93 Mon Sep 17 00:00:00 2001 +From: Marian Koncek +Date: Thu, 31 Oct 2019 15:38:55 +0100 +Subject: [PATCH] Port to OpenJDK 11 + +--- + .../org/apache/velocity/test/BuiltInEventHandlerTestCase.java | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/test/org/apache/velocity/test/BuiltInEventHandlerTestCase.java b/src/test/org/apache/velocity/test/BuiltInEventHandlerTestCase.java +index 2005b0b..fb29ce3 100644 +--- a/src/test/org/apache/velocity/test/BuiltInEventHandlerTestCase.java ++++ b/src/test/org/apache/velocity/test/BuiltInEventHandlerTestCase.java +@@ -339,14 +339,14 @@ public class BuiltInEventHandlerTestCase extends BaseTestCase { + writer = new StringWriter(); + ve1.evaluate(context,writer,"test","$list.get(0)"); + assertTrue(writer.toString().indexOf("IndexOutOfBoundsException") != -1); +- assertTrue(writer.toString().indexOf("Index: 0, Size: 0") == -1); ++ assertTrue(writer.toString().indexOf("Index 0 out of bounds for length 0") == -1); + assertTrue(writer.toString().indexOf("ArrayList") == -1); + + // message + writer = new StringWriter(); + ve2.evaluate(context,writer,"test","$list.get(0)"); + assertTrue(writer.toString().indexOf("IndexOutOfBoundsException") != -1); +- assertTrue(writer.toString().indexOf("Index: 0, Size: 0") != -1); ++ assertTrue(writer.toString().indexOf("Index 0 out of bounds for length 0") != -1); + assertTrue(writer.toString().indexOf("ArrayList") == -1); + + // stack trace +-- +2.21.0 + diff --git a/velocity.spec b/velocity.spec index 944e7a0..1d3185b 100644 --- a/velocity.spec +++ b/velocity.spec @@ -21,6 +21,8 @@ Patch4: 0001-Don-t-use-Werken-XPath.patch Patch5: 0006-Skip-Java-8-incompatible-test.patch Patch6: velocity-1.7-doclint.patch Patch7: velocity-1.7-osgi.patch +Patch8: 0001-Port-to-apache-commons-lang3.patch +Patch9: 0002-Port-to-OpenJDK-11.patch BuildRequires: javapackages-local BuildRequires: ant @@ -29,7 +31,7 @@ BuildRequires: junit BuildRequires: ant-junit BuildRequires: apache-commons-collections BuildRequires: apache-commons-logging -BuildRequires: apache-commons-lang +BuildRequires: apache-commons-lang3 BuildRequires: glassfish-servlet-api BuildRequires: jakarta-oro BuildRequires: jaxen @@ -127,6 +129,12 @@ cp %{SOURCE1} ./pom.xml # Remove werken-xpath Import/Export refences in OSGi manifest file %patch7 -p1 +# Port to apache-commons-lang3 +%patch8 -p1 + +# Tests compare the string content of thrown exceptions which changed with jdk 11 +%patch9 -p1 + rm -r src/test/org/apache/velocity/test/sql # ----------------------------------------------------------------------------- @@ -136,7 +144,7 @@ rm -r src/test/org/apache/velocity/test/sql export CLASSPATH=$(build-classpath \ antlr \ apache-commons-collections \ -commons-lang \ +commons-lang3 \ commons-logging \ glassfish-servlet-api \ junit \