[UIMA-6441] Update plugins

- apache parent pom 23 -> 26
- maven-dependency-plugin 3.1.1 -> 3.3.0
- maven-resources-plugin 3.1.0 -> 3.2.0
- checksum-maven-plugin 1.8 -> 1.11 (remove plugin patch to support sha512 since upstream supports that now)
- maven-assembly-plugin 3.2.0 -> 3.3.0
- maven-plugin-plugin 3.6.1 -> 3.6.4
- maven-compiler-plugin 3.8.1 -> 3.10.1
- maven-javadoc-plugin 3.1.1 -> 3.4.0
- maven-jar-plugin 3.2.0 -> 3.2.2
- maven-antrun-plugin 1.8 -> 3.1.0
- ant-apache-regexp 1.10.1 -> 1.10.12 (remove jakarta-regexp 1.4 dependency which is already included in the new version)
- maven-bundle-plugin 3.3.0 -> 5.1.5
- maven-enforcer-plugin 3.0.0-M3 -> 3.0.0
- docbkx-maven-plugin 2.0.14 -> 2.0.17
- spotbugs-maven-plugin 3.1.12.1 -> 4.6.0.0
- jacoco-maven-plugin 0.8.5 -> 0.8.8
- maven-pmd-plugin 3.12.0 -> 3.16.0
- japicmp-maven-plugin 0.14.4 -> 0.15.7
- maven-gpg-plugin -> 3.0.1 (remove plugin patch to fix MGPG-66 since 3.0.1 already includes this fix)
diff --git a/plugin-patches/checksum-maven-plugin-1.8-issue-63.patch.txt b/plugin-patches/checksum-maven-plugin-1.8-issue-63.patch.txt
deleted file mode 100644
index e74e740..0000000
--- a/plugin-patches/checksum-maven-plugin-1.8-issue-63.patch.txt
+++ /dev/null
@@ -1,652 +0,0 @@
-diff --git a/src/main/java/net/nicoulaj/maven/plugins/checksum/artifacts/ArtifactAttacher.java b/src/main/java/net/nicoulaj/maven/plugins/checksum/artifacts/ArtifactAttacher.java

-index 1da2b10..e838514 100644

---- a/src/main/java/net/nicoulaj/maven/plugins/checksum/artifacts/ArtifactAttacher.java

-+++ b/src/main/java/net/nicoulaj/maven/plugins/checksum/artifacts/ArtifactAttacher.java

-@@ -1,44 +1,53 @@

--/*

-- * checksum-maven-plugin - http://checksum-maven-plugin.nicoulaj.net

-- * Copyright © 2010-2018 checksum-maven-plugin contributors

-- *

-- * Licensed 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 net.nicoulaj.maven.plugins.checksum.artifacts;

--

--import org.apache.maven.project.MavenProject;

--import org.apache.maven.project.MavenProjectHelper;

--

--import java.io.File;

--

--public class ArtifactAttacher implements ArtifactListener {

--    private final MavenProject project;

--    private final MavenProjectHelper projectHelper;

--

--    public ArtifactAttacher(MavenProject project, MavenProjectHelper projectHelper) {

--        this.project = project;

--        this.projectHelper = projectHelper;

--    }

--

--    @Override

--    public void artifactCreated(File artifact, String checksumType, String artifactType, String artifactClassifier) {

--        if (checksumType.startsWith(".")) {

--            // Project helper expects a type without leading dot (e.g. turn ".md5" into "md5").

--            checksumType = checksumType.substring(1);

--        }

--

--        String attachmentType = artifactType == null ? checksumType : artifactType + "." + checksumType;

--

--        projectHelper.attachArtifact(project, attachmentType, artifactClassifier, artifact);

--    }

--}

-+/*

-+ * checksum-maven-plugin - http://checksum-maven-plugin.nicoulaj.net

-+ * Copyright © 2010-2018 checksum-maven-plugin contributors

-+ *

-+ * Licensed 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 net.nicoulaj.maven.plugins.checksum.artifacts;

-+

-+import org.apache.maven.project.MavenProject;

-+import org.apache.maven.project.MavenProjectHelper;

-+

-+import java.io.File;

-+

-+public class ArtifactAttacher implements ArtifactListener {

-+    private final MavenProject project;

-+    private final MavenProjectHelper projectHelper;

-+

-+    public ArtifactAttacher(MavenProject project, MavenProjectHelper projectHelper) {

-+        this.project = project;

-+        this.projectHelper = projectHelper;

-+    }

-+

-+    @Override

-+    public void artifactCreated(File artifact, String checksumType, String artifactType, String artifactClassifier) {

-+        if (checksumType.startsWith(".")) {

-+            // Project helper expects a type without leading dot (e.g. turn ".md5" into "md5").

-+            checksumType = checksumType.substring(1);

-+        }

-+

-+        String fileName = artifact.getName();

-+        int period1 = fileName.lastIndexOf('.');  // finds xxx.yyy.sha512   period in front of sha512

-+        int period2 = fileName.lastIndexOf('.', period1 - 1);

-+        String attachmentType = fileName.substring(period2 + 1);   // yyy.sha512

-+//        String attachmentType = fileType + "." + checksumType;

-+//        System.out.println("debug artifactType: " + ((artifactType == null) ? "null" : artifactType));

-+//        System.out.println("debug artifactClassifier: " + artifactClassifier);

-+//        System.out.println("debug checksumType: " + ((checksumType == null) ? "null" : checksumType));

-+//        System.out.println("debug derived attachmentType: " + attachmentType);

-+//        System.out.println("debug artifact: " + artifact.getAbsolutePath());

-+

-+        projectHelper.attachArtifact(project, attachmentType, artifactClassifier, artifact);

-+    }

-+}

-diff --git a/src/main/java/net/nicoulaj/maven/plugins/checksum/mojo/ArtifactsMojo.java b/src/main/java/net/nicoulaj/maven/plugins/checksum/mojo/ArtifactsMojo.java

-index e70347e..d654ae1 100644

---- a/src/main/java/net/nicoulaj/maven/plugins/checksum/mojo/ArtifactsMojo.java

-+++ b/src/main/java/net/nicoulaj/maven/plugins/checksum/mojo/ArtifactsMojo.java

-@@ -1,266 +1,285 @@

--/*

-- * checksum-maven-plugin - http://checksum-maven-plugin.nicoulaj.net

-- * Copyright © 2010-2018 checksum-maven-plugin contributors

-- *

-- * Licensed 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 net.nicoulaj.maven.plugins.checksum.mojo;

-+/*

-+ * checksum-maven-plugin - http://checksum-maven-plugin.nicoulaj.net

-+ * Copyright © 2010-2018 checksum-maven-plugin contributors

-+ *

-+ * Licensed 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 net.nicoulaj.maven.plugins.checksum.mojo;

-+

-+import org.apache.maven.artifact.Artifact;

-+import org.apache.maven.plugin.MojoExecutionException;

-+import org.apache.maven.plugins.annotations.LifecyclePhase;

-+import org.apache.maven.plugins.annotations.Mojo;

-+import org.apache.maven.plugins.annotations.Parameter;

-+import org.codehaus.plexus.util.FileUtils;

-+

-+import java.io.File;

-+import java.io.IOException;

-+import java.util.LinkedList;

-+import java.util.List;

-+

-+/**

-+ * Compute project artifacts checksum digests and store them in individual files and/or a summary file.

-+ *

-+ * @author <a href="mailto:julien.nicoulaud@gmail.com">Julien Nicoulaud</a>

-+ * @since 1.0

-+ */

-+@Mojo(

-+    name = ArtifactsMojo.NAME,

-+    defaultPhase = LifecyclePhase.VERIFY,

-+    requiresProject = true,

-+    inheritByDefault = false,

-+    threadSafe = true )

-+public class ArtifactsMojo

-+    extends AbstractChecksumMojo

-+{

-+

-+    /**

-+     * The mojo name.

-+     */

-+    public static final String NAME = "artifacts";

-+

-+    /**

-+     * Indicates whether the build will store checksums in separate files (one file per algorithm per artifact).

-+     *

-+     * @since 1.0

-+     */

-+    @Parameter( defaultValue = "true" )

-+    protected boolean individualFiles;

-+

-+    /**

-+     * The directory where output files will be stored. Leave unset to have each file next to the source file.

-+     *

-+     * @since 1.0

-+     */

-+    @Parameter

-+    protected String individualFilesOutputDirectory;

-+

-+    /**

-+     * Indicates whether the build will store checksums to a single CSV summary file.

-+     *

-+     * @since 1.0

-+     */

-+    @Parameter( defaultValue = "false" )

-+    protected boolean csvSummary;

-+

-+    /**

-+     * The name of the summary file created if the option is activated.

-+     *

-+     * @see #csvSummary

-+     * @since 1.0

-+     */

-+    @Parameter( defaultValue = "artifacts-checksums.csv" )

-+    protected String csvSummaryFile;

-+

-+    /**

-+     * Indicates whether the build will store checksums to a single XML summary file.

-+     *

-+     * @since 1.0

-+     */

-+    @Parameter( defaultValue = "false" )

-+    protected boolean xmlSummary;

-+

-+    /**

-+     * The name of the summary file created if the option is activated.

-+     *

-+     * @see #xmlSummary

-+     * @since 1.0

-+     */

-+    @Parameter( defaultValue = "artifacts-checksums.xml" )

-+    protected String xmlSummaryFile;

-+

-+    /**

-+     * Indicates whether the build will store checksums to a single shasum summary file.

-+     *

-+     * @since 1.3

-+     */

-+    @Parameter( defaultValue = "false" )

-+    protected boolean shasumSummary;

-+

-+    /**

-+     * The name of the summary file created if the option is activated.

-+     *

-+     * @see #shasumSummary

-+     * @since 1.3

-+     */

-+    @Parameter( defaultValue = "artifacts-checksums.sha" )

-+    protected String shasumSummaryFile;

-+

-+    /**

-+     * Append the artifact filename in the generated checksum file.

-+     * This parameter require the parameter individualFiles be equal to true.

-+     *

-+     * @see #individualFiles

-+     * @since 1.4

-+     */

-+    @Parameter (defaultValue = "false")

-+    protected boolean appendFilename;

-+

-+    /**

-+     * Constructor.

-+     */

-+    public ArtifactsMojo() {

-+        super(false, true, true);

-+    }

-+

-+    /**

-+     * Build the list of files from which digests should be generated.

-+     *

-+     * <p>The list is composed of the project main and attached artifacts.</p>

-+     *

-+     * @return the list of files that should be processed.

-+     * @see #hasValidFile(org.apache.maven.artifact.Artifact)

-+     */

-+    @Override

-+    protected List<ChecksumFile> getFilesToProcess()

-+    {

-+        List<ChecksumFile> files = new LinkedList<ChecksumFile>();

-+

-+        // add pom (copy to target)

-+        File pomToSign = new File( project.getBuild().getDirectory(), project.getBuild().getFinalName() + ".pom" );

- 

--import org.apache.maven.artifact.Artifact;

--import org.apache.maven.plugins.annotations.LifecyclePhase;

--import org.apache.maven.plugins.annotations.Mojo;

--import org.apache.maven.plugins.annotations.Parameter;

--

--import java.util.LinkedList;

--import java.util.List;

--

--/**

-- * Compute project artifacts checksum digests and store them in individual files and/or a summary file.

-- *

-- * @author <a href="mailto:julien.nicoulaud@gmail.com">Julien Nicoulaud</a>

-- * @since 1.0

-- */

--@Mojo(

--    name = ArtifactsMojo.NAME,

--    defaultPhase = LifecyclePhase.VERIFY,

--    requiresProject = true,

--    inheritByDefault = false,

--    threadSafe = true )

--public class ArtifactsMojo

--    extends AbstractChecksumMojo

--{

--

--    /**

--     * The mojo name.

--     */

--    public static final String NAME = "artifacts";

--

--    /**

--     * Indicates whether the build will store checksums in separate files (one file per algorithm per artifact).

--     *

--     * @since 1.0

--     */

--    @Parameter( defaultValue = "true" )

--    protected boolean individualFiles;

--

--    /**

--     * The directory where output files will be stored. Leave unset to have each file next to the source file.

--     *

--     * @since 1.0

--     */

--    @Parameter

--    protected String individualFilesOutputDirectory;

--

--    /**

--     * Indicates whether the build will store checksums to a single CSV summary file.

--     *

--     * @since 1.0

--     */

--    @Parameter( defaultValue = "false" )

--    protected boolean csvSummary;

--

--    /**

--     * The name of the summary file created if the option is activated.

--     *

--     * @see #csvSummary

--     * @since 1.0

--     */

--    @Parameter( defaultValue = "artifacts-checksums.csv" )

--    protected String csvSummaryFile;

--

--    /**

--     * Indicates whether the build will store checksums to a single XML summary file.

--     *

--     * @since 1.0

--     */

--    @Parameter( defaultValue = "false" )

--    protected boolean xmlSummary;

--

--    /**

--     * The name of the summary file created if the option is activated.

--     *

--     * @see #xmlSummary

--     * @since 1.0

--     */

--    @Parameter( defaultValue = "artifacts-checksums.xml" )

--    protected String xmlSummaryFile;

--

--    /**

--     * Indicates whether the build will store checksums to a single shasum summary file.

--     *

--     * @since 1.3

--     */

--    @Parameter( defaultValue = "false" )

--    protected boolean shasumSummary;

--

--    /**

--     * The name of the summary file created if the option is activated.

--     *

--     * @see #shasumSummary

--     * @since 1.3

--     */

--    @Parameter( defaultValue = "artifacts-checksums.sha" )

--    protected String shasumSummaryFile;

--

--    /**

--     * Append the artifact filename in the generated checksum file.

--     * This parameter require the parameter individualFiles be equal to true.

--     *

--     * @see #individualFiles

--     * @since 1.4

--     */

--    @Parameter (defaultValue = "false")

--    protected boolean appendFilename;

--

--    /**

--     * Constructor.

--     */

--    public ArtifactsMojo() {

--        super(false, true, true);

--    }

--

--    /**

--     * Build the list of files from which digests should be generated.

--     *

--     * <p>The list is composed of the project main and attached artifacts.</p>

--     *

--     * @return the list of files that should be processed.

--     * @see #hasValidFile(org.apache.maven.artifact.Artifact)

--     */

--    @Override

--    protected List<ChecksumFile> getFilesToProcess()

--    {

--        List<ChecksumFile> files = new LinkedList<ChecksumFile>();

--

--        // Add project main artifact.

--        if ( hasValidFile( project.getArtifact() ) )

-+        try

-         {

--            files.add( new ChecksumFile( "", project.getArtifact().getFile(), project.getArtifact().getType(),null ) );

-+            FileUtils.copyFile( project.getFile(), pomToSign );

-         }

--

--        // Add projects attached.

--        if ( project.getAttachedArtifacts() != null )

-+        catch ( IOException e )

-         {

--            for ( Artifact artifact : (List<Artifact>) project.getAttachedArtifacts() )

--            {

--                if ( hasValidFile( artifact ) )

--                {

--                    files.add( new ChecksumFile( "", artifact.getFile(), artifact.getType(), artifact.getClassifier() ) );

--                }

--            }

-+            throw new RuntimeException( new MojoExecutionException( "Error copying POM for signing.", e ) );

-         }

--        return files;

--    }

-+        

-+        files.add( new ChecksumFile( "", pomToSign, "pom", null ) ); 

- 

--    /**

--     * Decide whether the artifact file should be processed.

--     *

--     * <p>Excludes the project POM file and any file outside the build directory, because this could lead to writing

--     * files on the user local repository for example.</p>

--     *

--     * @param artifact the artifact to check.

--     * @return true if the artifact should be included in the files to process.

--     */

--    protected boolean hasValidFile( Artifact artifact )

--    {

--        // Make sure the file exists.

--        boolean hasValidFile = artifact != null && artifact.getFile() != null && artifact.getFile().exists();

--

--        // Exclude project POM file.

--        hasValidFile = hasValidFile && !artifact.getFile().getPath().equals( project.getFile().getPath() );

--

--        // Exclude files outside of build directory.

--        hasValidFile = hasValidFile && artifact.getFile().getPath().startsWith( project.getBuild().getDirectory() );

--

--        return hasValidFile;

--    }

--

--    /**

--     * {@inheritDoc}

--     */

--    @Override

--    protected boolean isIndividualFiles()

--    {

--        return individualFiles;

--    }

--

--    /**

--     * {@inheritDoc}

--     */

--    @Override

--    protected String getIndividualFilesOutputDirectory()

--    {

--        return individualFilesOutputDirectory;

--    }

--

--    /**

--     * {@inheritDoc}

--     */

--    @Override

--    protected boolean isAppendFilename(){

--        return this.appendFilename;

--    }

--

--    /**

--     * {@inheritDoc}

--     */

--    @Override

--    protected boolean isCsvSummary()

--    {

--        return csvSummary;

--    }

--

--    /**

--     * {@inheritDoc}

--     */

--    protected String getCsvSummaryFile()

--    {

--        return csvSummaryFile;

--    }

--

--    /**

--     * {@inheritDoc}

--     */

--    @Override

--    protected boolean isXmlSummary()

--    {

--        return xmlSummary;

--    }

--

--    /**

--     * {@inheritDoc}

--     */

--    @Override

--    protected String getXmlSummaryFile()

--    {

--        return xmlSummaryFile;

--    }

--

--    /**

--     * {@inheritDoc}

--     */

--    @Override

--    protected boolean isShasumSummary()

--    {

--        return shasumSummary;

--    }

--

--    /**

--     * {@inheritDoc}

--     */

--    @Override

--    protected String getShasumSummaryFile()

--    {

--        return shasumSummaryFile;

--    }

--}

-+        // Add project main artifact.

-+        if ( hasValidFile( project.getArtifact() ) )

-+        {

-+            files.add( new ChecksumFile( "", project.getArtifact().getFile(), project.getArtifact().getType(), 

-+                project.getArtifact().getClassifier() ) );

-+        }

-+

-+        // Add projects attached.

-+        if ( project.getAttachedArtifacts() != null )

-+        {

-+            for ( Artifact artifact : (List<Artifact>) project.getAttachedArtifacts() )

-+            {

-+                if ( hasValidFile( artifact ) )

-+                {

-+                    files.add( new ChecksumFile( "", artifact.getFile(), artifact.getType(), artifact.getClassifier() ) );

-+                }

-+            }

-+        }

-+        return files;

-+    }

-+

-+    /**

-+     * Decide whether the artifact file should be processed.

-+     *

-+     * <p>Excludes the project POM file and any file outside the build directory, because this could lead to writing

-+     * files on the user local repository for example.</p>

-+     *

-+     * @param artifact the artifact to check.

-+     * @return true if the artifact should be included in the files to process.

-+     */

-+    protected boolean hasValidFile( Artifact artifact )

-+    {

-+        // Make sure the file exists.

-+        boolean hasValidFile = artifact != null && artifact.getFile() != null && artifact.getFile().exists();

-+

-+        // Exclude project POM file.

-+        hasValidFile = hasValidFile && !artifact.getFile().getPath().equals( project.getFile().getPath() );

-+

-+        // Exclude files outside of build directory.

-+        hasValidFile = hasValidFile && artifact.getFile().getPath().startsWith( project.getBuild().getDirectory() );

-+

-+        return hasValidFile;

-+    }

-+

-+    /**

-+     * {@inheritDoc}

-+     */

-+    @Override

-+    protected boolean isIndividualFiles()

-+    {

-+        return individualFiles;

-+    }

-+

-+    /**

-+     * {@inheritDoc}

-+     */

-+    @Override

-+    protected String getIndividualFilesOutputDirectory()

-+    {

-+        return individualFilesOutputDirectory;

-+    }

-+

-+    /**

-+     * {@inheritDoc}

-+     */

-+    @Override

-+    protected boolean isAppendFilename(){

-+        return this.appendFilename;

-+    }

-+

-+    /**

-+     * {@inheritDoc}

-+     */

-+    @Override

-+    protected boolean isCsvSummary()

-+    {

-+        return csvSummary;

-+    }

-+

-+    /**

-+     * {@inheritDoc}

-+     */

-+    protected String getCsvSummaryFile()

-+    {

-+        return csvSummaryFile;

-+    }

-+

-+    /**

-+     * {@inheritDoc}

-+     */

-+    @Override

-+    protected boolean isXmlSummary()

-+    {

-+        return xmlSummary;

-+    }

-+

-+    /**

-+     * {@inheritDoc}

-+     */

-+    @Override

-+    protected String getXmlSummaryFile()

-+    {

-+        return xmlSummaryFile;

-+    }

-+

-+    /**

-+     * {@inheritDoc}

-+     */

-+    @Override

-+    protected boolean isShasumSummary()

-+    {

-+        return shasumSummary;

-+    }

-+

-+    /**

-+     * {@inheritDoc}

-+     */

-+    @Override

-+    protected String getShasumSummaryFile()

-+    {

-+        return shasumSummaryFile;

-+    }

-+}

diff --git a/plugin-patches/maven-gpg-plugin-MGPG-66.patch.txt b/plugin-patches/maven-gpg-plugin-MGPG-66.patch.txt
deleted file mode 100644
index 657399b..0000000
--- a/plugin-patches/maven-gpg-plugin-MGPG-66.patch.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/src/main/java/org/apache/maven/plugin/gpg/GpgSignAttachedMojo.java b/src/main/java/org/apache/maven/plugin/gpg/GpgSignAttachedMojo.java

-index eccc716..d9f0ae7 100644

---- a/src/main/java/org/apache/maven/plugin/gpg/GpgSignAttachedMojo.java

-+++ b/src/main/java/org/apache/maven/plugin/gpg/GpgSignAttachedMojo.java

-@@ -190,6 +190,9 @@

- 

-             File file = artifact.getFile();

- 

-+            if ( ! isExcluded( file.getPath() ) )

-+            {

-+

-             getLog().debug( "Generating signature for " + file );

- 

-             File signature = signer.generateSignatureForArtifact( file );

-@@ -200,6 +203,7 @@

-                                                        artifact.getClassifier(), signature ) );

-             }

-         }

-+        }

- 

-         // ----------------------------------------------------------------------------

-         // Attach all the signatures

diff --git a/pom.xml b/pom.xml
index 78793cd..ec6f363 100644
--- a/pom.xml
+++ b/pom.xml
@@ -45,9 +45,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <artifactId>apache</artifactId>
     <groupId>org.apache</groupId>
-    <version>23</version>
+    <artifactId>apache</artifactId>
+    <version>26</version>
     <relativePath />
   </parent>
 
@@ -231,7 +231,7 @@
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-dependency-plugin</artifactId>
-          <version>3.1.1</version>
+          <version>3.3.0</version>
         </plugin>
 
         <plugin>
@@ -243,7 +243,7 @@
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-resources-plugin</artifactId>
-          <version>3.1.0</version>
+          <version>3.2.0</version>
         </plugin>
 
         <plugin>
@@ -271,7 +271,7 @@
         <plugin>
           <groupId>net.nicoulaj.maven.plugins</groupId>
           <artifactId>checksum-maven-plugin</artifactId>
-          <version>1.8</version>
+          <version>1.11</version>
         </plugin>
 
         <!-- assembly plugin 
@@ -279,7 +279,7 @@
              warning message to use install instead -->
         <plugin>
           <artifactId>maven-assembly-plugin</artifactId>
-          <version>3.2.0</version>
+          <version>3.3.0</version>
           <executions>
             <execution>
               <id>default-cli</id>
@@ -306,7 +306,7 @@
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-plugin-plugin</artifactId>
-          <version>3.6.1</version>
+          <version>3.6.4</version>
           <executions>
             <execution>
               <!-- force to use process-classes phase so runs after Java Annotations are available -->
@@ -331,13 +331,13 @@
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-compiler-plugin</artifactId>
-          <version>3.8.1</version>
+          <version>3.10.1</version>
         </plugin>
 
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-javadoc-plugin</artifactId>
-          <version>3.1.1</version>
+          <version>3.4.0</version>
           <configuration>
             <source>${maven.compiler.source}</source>
             <!-- https://issues.apache.org/jira/browse/UIMA-5369 -->
@@ -347,7 +347,7 @@
             <!-- if next is omitted, causes all projects in reactor that don't
                      already have full javadocs built, to have them built -->
             <detectOfflineLinks>false</detectOfflineLinks>
-            <quiet>true</quiet>            
+            <quiet>true</quiet>
             <!-- identify tags we use so we don't get warning messages for them -->
             <tags>
               <tag>
@@ -389,7 +389,7 @@
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-jar-plugin</artifactId>
-          <version>3.2.0</version>
+          <version>3.2.2</version>
           <configuration>
             <archive>
               <manifestEntries>
@@ -413,7 +413,7 @@
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-antrun-plugin</artifactId>
-          <version>1.8</version>
+          <version>3.1.0</version>
           <dependencies>
             <dependency> <!-- for ant extension supporting "if" -->
               <groupId>ant-contrib</groupId>
@@ -427,16 +427,11 @@
                 </exclusion>
               </exclusions>
             </dependency>
-            <!-- next two enable <containsregexp> form for filesets -->
+            <!-- <containsregexp> form for filesets -->
             <dependency>
               <groupId>org.apache.ant</groupId>
               <artifactId>ant-apache-regexp</artifactId>
-              <version>1.10.1</version>
-            </dependency>
-            <dependency>
-              <groupId>jakarta-regexp</groupId>
-              <artifactId>jakarta-regexp</artifactId>
-              <version>1.4</version>
+              <version>1.10.12</version>
             </dependency>
           </dependencies>
         </plugin>
@@ -444,10 +439,7 @@
         <plugin>
           <groupId>org.apache.felix</groupId>
           <artifactId>maven-bundle-plugin</artifactId>
-          <!-- version 2.0.0 fails -->
-          <!-- version 2.3.4 eliminates spurious warning messages -->
-          <!-- version 2.5 has accidental dependency on Java 6 -->
-          <version>3.3.0</version>
+          <version>5.1.5</version>
           <extensions>true</extensions>
           <executions>
             <execution>
@@ -554,7 +546,7 @@
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-enforcer-plugin</artifactId>
-          <version>3.0.0-M3</version>
+          <version>3.0.0</version>
         </plugin>
       </plugins>
     </pluginManagement>
@@ -798,15 +790,12 @@
                         </fixcrlf>
                       </then>
                     </if>
+                    
+                    <!-- FIXME: Why do the checksum on the POM? I think this can be removed -->
                     <!-- copy to target so checksum-maven-plugin can sha512 checkum it -->
                     <property name="pom-file-tgt" location="${project.build.directory}/${project.build.finalName}.pom" />
                     <property name="pom-file-src" location="${project.build.directory}/../pom.xml" />
                     <copy file="${pom-file-src}" tofile="${pom-file-tgt}" />
-                    
-                    <!-- patch gpg and checksum jars in local .m2 -->
-                    <echo message="patch maven-gpg-plugin and checksum-maven-plugin. if get copy failure message, rerun this build" />
-                    <copy verbose="true" overwrite="true" failonerror="false" file="${settings.localRepository}/org/apache/uima/parent-pom/${parentPomPatchVersion}/parent-pom-${parentPomPatchVersion}-gpg-plugin-patch.jar" tofile="${settings.localRepository}/org/apache/maven/plugins/maven-gpg-plugin/1.6/maven-gpg-plugin-1.6.jar" />
-                    <copy verbose="true" overwrite="true" failonerror="false" file="${settings.localRepository}/org/apache/uima/parent-pom/${parentPomPatchVersion}/parent-pom-${parentPomPatchVersion}-checksum-plugin-patch.jar" tofile="${settings.localRepository}/net/nicoulaj/maven/plugins/checksum-maven-plugin/1.8/checksum-maven-plugin-1.8.jar" />
                   </target>
                 </configuration>
               </execution>
@@ -846,6 +835,7 @@
           <plugin>
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-gpg-plugin</artifactId>
+            <version>3.0.1</version>
             <executions>
               <execution>
                 <id>load-plugin</id>
@@ -1151,7 +1141,7 @@
           <plugin>
             <groupId>com.agilejava.docbkx</groupId>
             <artifactId>docbkx-maven-plugin</artifactId>
-            <version>2.0.14</version>
+            <version>2.0.17</version>
             <configuration>  <!-- general configuration for both HTML and PDF -->
               <sourceDirectory>${basedir}/src/docbook</sourceDirectory>
               <includes>${bookNameRoot}.xml</includes>
@@ -2636,7 +2626,7 @@
           <plugin>
             <groupId>com.github.spotbugs</groupId>
             <artifactId>spotbugs-maven-plugin</artifactId>
-            <version>3.1.12.2</version>
+            <version>4.6.0.0</version>
             <executions>
               <execution>
                 <id>default</id>
@@ -2677,7 +2667,7 @@
           <plugin>
             <groupId>org.jacoco</groupId>
             <artifactId>jacoco-maven-plugin</artifactId>
-            <version>0.8.5</version>
+            <version>0.8.8</version>
             <executions>
               <execution>
                 <id>default-prepare-agent</id>
@@ -2721,7 +2711,7 @@
           <plugin>
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-pmd-plugin</artifactId>
-            <version>3.12.0</version>
+            <version>3.16.0</version>
             <executions>
               <execution>
                 <phase>package</phase>
@@ -2809,7 +2799,7 @@
           <plugin>
             <groupId>com.github.siom79.japicmp</groupId>
             <artifactId>japicmp-maven-plugin</artifactId>
-            <version>0.14.4</version>
+            <version>0.15.7</version>
             <configuration>
               <oldVersion>
                 <dependency>
diff --git a/src/resources/checksum-maven-plugin-1.8.jar b/src/resources/checksum-maven-plugin-1.8.jar
deleted file mode 100644
index 2f8b5d0..0000000
--- a/src/resources/checksum-maven-plugin-1.8.jar
+++ /dev/null
Binary files differ
diff --git a/src/resources/maven-gpg-plugin-1.6.jar b/src/resources/maven-gpg-plugin-1.6.jar
deleted file mode 100644
index 7046e39..0000000
--- a/src/resources/maven-gpg-plugin-1.6.jar
+++ /dev/null
Binary files differ