Add support for GitHub Actions CI build.
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
new file mode 100644
index 0000000..9475935
--- /dev/null
+++ b/.github/workflows/maven.yml
@@ -0,0 +1,35 @@
+# 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.
+
+name: Java CI
+
+on: [push]
+
+jobs:
+  build:
+
+    runs-on: ubuntu-latest
+    strategy:
+      matrix:
+        java: [ '1.8', '11.0.4', '12.0.2' ]
+        
+    steps:
+    - uses: actions/checkout@v1
+    - name: Set up JDK ${{ matrix.java }}
+      uses: actions/setup-java@v1
+      with:
+        java-version: ${{ matrix.java }}
+    - name: Build with Maven
+      run: mvn -V apache-rat:check spotbugs:check javadoc:javadoc -DadditionalJOption=-Xdoclint/package:-org.apache.commons.configuration2.plist package --file pom.xml
diff --git a/pom.xml b/pom.xml
index a92d860..91dd355 100644
--- a/pom.xml
+++ b/pom.xml
@@ -571,6 +571,8 @@
     <commons.japicmp.version>0.14.1</commons.japicmp.version>

     <japicmp.skip>false</japicmp.skip>

     <commons.jacoco.version>0.8.4</commons.jacoco.version>

+    <commons.spotbugs.version>3.1.12.2</commons.spotbugs.version>

+    <commons.javadoc.version>3.1.1</commons.javadoc.version>

 

     <!-- Commons Release Plugin -->

     <commons.bc.version>2.5</commons.bc.version>

@@ -582,6 +584,7 @@
   </properties>

 

   <build>

+   <defaultGoal>clean verify apache-rat:check japicmp:cmp checkstyle:check spotbugs:check javadoc:javadoc</defaultGoal>

     <testResources>

       <testResource>

         <directory>src/test/resources</directory>

@@ -744,6 +747,7 @@
             generates javadoc that does not conform to the java 1.8 standard and causes the build to fail. For the

             sake of releasing commons-configuration-2.4.

           -->

+          <source>${maven.compiler.source}</source>

           <failOnError>false</failOnError>

           <links>

             <link>https://docs.oracle.com/javase/8/docs/api/</link>

@@ -751,8 +755,17 @@
           </links>

         </configuration>

       </plugin>

+      <plugin>

+        <groupId>com.github.spotbugs</groupId>

+        <artifactId>spotbugs-maven-plugin</artifactId>

+        <version>${commons.spotbugs.version}</version>

+        <configuration>

+          <threshold>Normal</threshold>

+          <effort>Default</effort>

+          <excludeFilterFile>${basedir}/conf/findbugs-exclude-filter.xml</excludeFilterFile>

+        </configuration>

+      </plugin>

     </plugins>

-

   </build>

   <profiles>

     <profile>

@@ -878,6 +891,7 @@
                 generates javadoc that does not conform to the java 1.8 standard and causes the build to fail. For the

                 sake of releasing commons-configuration-2.4.

               -->

+              <source>${maven.compiler.source}</source>

               <failOnError>false</failOnError>

               <links>

                 <link>https://docs.oracle.com/javase/8/docs/api/</link>