Merge pull request #9 from nhojpatrick/junit-4.13.1

JUnit v4.13.1
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index 3b0c099..e5a2aa4 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -23,7 +23,7 @@
     runs-on: ubuntu-latest
     strategy:
       matrix:
-        java: [ '1.8', '11.0.4', '12.0.2' ]
+        java: [ '8', '11', '15' ]
         
     steps:
     - uses: actions/checkout@v2
@@ -32,4 +32,4 @@
       with:
         java-version: ${{ matrix.java }}
     - name: Build with Maven
-      run: mvn -V apache-rat:check spotbugs:check javadoc:javadoc -Ddoclint=all package --file pom.xml
+      run: mvn -V clean test package
diff --git a/.gitignore b/.gitignore
index 528b022..f46a5ea 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,4 @@
 .java-version
-target
-.idea
+target/
+.idea/
 *.iml
-  
\ No newline at end of file
diff --git a/.travis.yml b/.travis.yml
index e7d25a5..b39a4be 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -16,10 +16,13 @@
 language: java

 sudo: false

 

+cache:

+  directories:

+    - $HOME/.m2

+

 jdk:

-  - openjdk7

   - openjdk8

   - openjdk11

 

-after_success:

-  - mvn clean cobertura:cobertura coveralls:report

+script:

+  - mvn -V -B clean test

diff --git a/README.md b/README.md
new file mode 100644
index 0000000..ce35222
--- /dev/null
+++ b/README.md
@@ -0,0 +1,20 @@
+<!---
+ 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.
+-->
+# Apache Commons OGNL
+
+[![Build Status](https://travis-ci.com/apache/commons-ognl.svg?branch=master)](https://travis-ci.com/apache/commons-ognl)
+[![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.apache.commons/commons-ognl/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.apache.commons/commons-ognl)
diff --git a/pom.xml b/pom.xml
index 09479e1..95374cf 100644
--- a/pom.xml
+++ b/pom.xml
@@ -22,10 +22,9 @@
  <parent>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-parent</artifactId>
-   <version>28</version>
+   <version>52</version>
  </parent>
 
-  <groupId>org.apache.commons</groupId>
   <artifactId>commons-ognl</artifactId>
   <version>4.0-SNAPSHOT</version>
   <packaging>jar</packaging>
@@ -175,11 +174,11 @@
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <commons.javadoc.version>2.9</commons.javadoc.version>
-    <maven.compile.source>1.5</maven.compile.source>
-    <maven.compile.target>1.5</maven.compile.target>
+    <maven.compile.source>1.7</maven.compile.source>
+    <maven.compile.target>1.7</maven.compile.target>
     <commons.componentid>ognl</commons.componentid>
     <commons.module.name>org.apache.commons.ognl</commons.module.name>
-
+    <animal-sniffer.signature>java15</animal-sniffer.signature>
     <commons.scmPubCheckoutDirectory>site-content</commons.scmPubCheckoutDirectory>
   </properties>
 
@@ -199,19 +198,18 @@
     <dependency>
       <groupId>org.javassist</groupId>
       <artifactId>javassist</artifactId>
-      <version>3.16.1-GA</version>
+      <version>3.24.1-GA</version>
     </dependency>
     <dependency>
       <groupId>com.carrotsearch</groupId>
       <artifactId>junit-benchmarks</artifactId>
-      <classifier>jdk15</classifier>
-      <version>0.3.0</version>
+      <version>0.7.2</version>
       <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>ognl</groupId>
       <artifactId>ognl</artifactId>
-      <version>3.0.2</version>
+      <version>3.2.18</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
@@ -414,10 +412,23 @@
             <groupId>org.apache.rat</groupId>
             <artifactId>apache-rat-plugin</artifactId>
             <configuration>
+              <useMavenDefaultExcludes>true</useMavenDefaultExcludes>
+              <useIdeaDefaultExcludes>true</useIdeaDefaultExcludes>
               <useDefaultExcludes>true</useDefaultExcludes>
+              <addDefaultLicenseMatchers>false</addDefaultLicenseMatchers>
+              <licenses>
+                <licens implementation="org.apache.rat.analysis.license.ApacheSoftwareLicense20"/>
+              </licenses>
+              <licenseFamilies>
+                <licenseFamily implementation="org.apache.rat.license.Apache20LicenseFamily"/>
+              </licenseFamilies>
               <includes>
-                <include>src/**/*</include>
+                <include>pom.xml</include>
+                <include>src/**</include>
               </includes>
+              <excludes>
+                <exclude>README.md</exclude>
+              </excludes>
             </configuration>
           </plugin>
           <plugin>
diff --git a/src/test/java/org/apache/commons/ognl/test/MethodTest.java b/src/test/java/org/apache/commons/ognl/test/MethodTest.java
index 7337c51..cf54b49 100644
--- a/src/test/java/org/apache/commons/ognl/test/MethodTest.java
+++ b/src/test/java/org/apache/commons/ognl/test/MethodTest.java
@@ -38,15 +38,18 @@
 
     private static BaseGeneric<GameGenericObject, Long> GENERIC = new GameGeneric();
 
-    private static Object[][] TESTS = { { "hashCode()", new Integer( ROOT.hashCode() ) },
+    private static Object[][] TESTS = {
+        { "hashCode()", new Integer( ROOT.hashCode() ) },
         { "getBooleanValue() ? \"here\" : \"\"", "" }, { "getValueIsTrue(!false) ? \"\" : \"here\" ", "" },
-        { "messages.format('ShowAllCount', one)", "foo" },
+        { "messages.format('ShowAllCount', new Object[]{one,two})", "foo" },
+        { "messages.format('ShowAllCount', one)", "first" },
         { "getTestValue(@org.apache.commons.ognl.test.objects.SimpleEnum@ONE.value)", new Integer( 2 ) },
         { "@org.apache.commons.ognl.test.MethodTest@getA().isProperty()", Boolean.FALSE },
         { "isDisabled()", Boolean.TRUE }, { "isEditorDisabled()", Boolean.FALSE },
         { LIST, "addValue(name)", Boolean.TRUE }, { "getDisplayValue(methodsTest.allowDisplay)", "test" },
         { "isThisVarArgsWorking(three, rootValue)", Boolean.TRUE },
-        { GENERIC, "service.getFullMessageFor(value, null)", "Halo 3" } };
+        { GENERIC, "service.getFullMessageFor(value, null)", "Halo 3" }
+    };
 
     public static class A
     {
diff --git a/src/test/java/org/apache/commons/ognl/test/objects/Messages.java b/src/test/java/org/apache/commons/ognl/test/objects/Messages.java
index 802cb07..74f526b 100644
--- a/src/test/java/org/apache/commons/ognl/test/objects/Messages.java
+++ b/src/test/java/org/apache/commons/ognl/test/objects/Messages.java
@@ -39,7 +39,7 @@
         return (String) _source.get( key );
     }
 
-    public String format( String key, Object[] parms )
+    public String format( String key, Object[] params )
     {
         return "foo";
     }