You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ma...@apache.org on 2019/06/16 21:56:31 UTC

[lucene-solr] branch jira/SOLR-13452_gradle_4 updated: SOLR-13452: More work on dependencies and missingDependencies task.

This is an automated email from the ASF dual-hosted git repository.

markrmiller pushed a commit to branch jira/SOLR-13452_gradle_4
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git


The following commit(s) were added to refs/heads/jira/SOLR-13452_gradle_4 by this push:
     new 81a4ef1  SOLR-13452: More work on dependencies and missingDependencies task.
81a4ef1 is described below

commit 81a4ef1262a0f03dda2e190634dee2e0670106f1
Author: markrmiller <ma...@apache.org>
AuthorDate: Sun Jun 16 16:56:19 2019 -0500

    SOLR-13452: More work on dependencies and missingDependencies task.
---
 build.gradle                                       | 20 ++++++--
 .../org/apache/lucene/gradle/MissingDeps.groovy    | 55 ++++++++++++++++++++--
 solr/contrib/analysis-extras/build.gradle          |  2 +-
 solr/contrib/analytics/build.gradle                |  2 +-
 solr/contrib/dataimporthandler/build.gradle        |  4 +-
 solr/contrib/extraction/build.gradle               |  2 +-
 solr/contrib/ltr/build.gradle                      |  2 +-
 solr/contrib/prometheus-exporter/build.gradle      |  2 +-
 solr/contrib/velocity/build.gradle                 |  2 +-
 solr/core/build.gradle                             | 11 ++---
 .../test/org/apache/hadoop/http/HttpServer2.java   |  1 -
 solr/solr-ref-guide/build.gradle                   |  2 +-
 solr/solrj/build.gradle                            | 20 +++++---
 solr/test-framework/build.gradle                   | 11 ++++-
 versions.lock                                      | 14 ++----
 15 files changed, 105 insertions(+), 45 deletions(-)

diff --git a/build.gradle b/build.gradle
index 6f04e85..7bf503c 100644
--- a/build.gradle
+++ b/build.gradle
@@ -54,12 +54,11 @@ apply from: mfile(rootProjectDir, 'buildSrc/common/build-help.gradle')
 
 // -> lucene-solr all module config - configure all lucene-solr projects, including root project
 configure(luceneSolrProjects) {
-
+  buildDir = file("build")
+  
   // setup repositories
   apply from: mfile(rootProjectDir, 'buildSrc/common/configure-repositories.gradle')
   
-  buildDir = file("build")
-  
   apply plugin: 'idea'
   apply plugin: 'eclipse'
   
@@ -174,10 +173,25 @@ configure(allprojects) {
       exclude group: 'javax.xml.stream', module: 'stax-api'
       exclude group: 'stax', module: 'stax-api'
       exclude group: 'stax', module: 'stax'
+      
+      // logging jars we don't want, we use slf4j
+      exclude group: 'log4j', module: 'log4j'
+      exclude group: 'commons-logging', module: 'commons-logging'
+      
+      // exclude annotation jars that come with guave
+      exclude group: 'com.google.code.findbugs', module: 'jsr305'
+      exclude group: 'org.checkerframework', module: 'checker-qual'
+      exclude group: 'com.google.errorprone', module: 'error_prone_annotations'
+      exclude group: 'com.google.j2objc', module: 'j2objc-annotations'
+      exclude group: 'org.codehaus.mojo', module: 'animal-sniffer-annotations'
+      
+      exclude group: 'org.apache.yetus', module: 'audience-annotations' // annotations jar brought in by zk
+      exclude group: 'org.slf4j', module: 'slf4j-log4j12' // zk and perhaps others can bring in log4j12 binding
     }
     
     modules {
       module("commons-logging:commons-logging") { replacedBy("org.slf4j:jcl-over-slf4j") }
+      module("log4j:log4j") { replacedBy("org.slf4j:log4j-over-slf4j") }
     }
   }
   
diff --git a/buildSrc/src/main/groovy/org/apache/lucene/gradle/MissingDeps.groovy b/buildSrc/src/main/groovy/org/apache/lucene/gradle/MissingDeps.groovy
index 7ee40b1..b9c7835 100644
--- a/buildSrc/src/main/groovy/org/apache/lucene/gradle/MissingDeps.groovy
+++ b/buildSrc/src/main/groovy/org/apache/lucene/gradle/MissingDeps.groovy
@@ -52,8 +52,11 @@ class MissingDeps extends DefaultTask {
   File inputDirectory
   
   private List<String> depExcludes = new ArrayList<>()
+  private List<String> exportedDepExcludes = new ArrayList<>()
   private List<String> classExcludes = new ArrayList<>()
+  private List<String> exportedClassExcludes = new ArrayList<>()
   private List<String> foundInClassExcludes = new ArrayList<>()
+  private List<String> exportedFoundInClassExcludes = new ArrayList<>()
   
   protected configuration = "runtimeClasspath"
   
@@ -158,19 +161,47 @@ class MissingDeps extends DefaultTask {
     return foundInClassExcludes
   }
   
-  public MissingDeps foundInClassExclude(String... arg0) {
+  @Input
+  public Set<String> getExportedFoundInClassExcludes() {
+    return exportedFoundInClassExcludes
+  }
+  
+  public MissingDeps foundInClassExclude(boolean exported, String... arg0) {
+    if (exported) {
+      for (String pattern : arg0) {
+        exportedFoundInClassExcludes.add(pattern)
+      }
+    }
     for (String pattern : arg0) {
-      foundInClassExcludes.add(pattern);
+      foundInClassExcludes.add(pattern)
     }
     return this;
   }
   
+  public MissingDeps foundInClassExclude(String... arg0) {
+    return foundInClassExclude(true, arg0)
+  }
+  
   @Input
   public Set<String> getClassExcludes() {
     return classExcludes
   }
   
+  @Input
+  public Set<String> getExportedClassExcludes() {
+    return exportedClassExcludes
+  }
+  
   public MissingDeps classExclude(String... arg0) {
+    return classExclude(true, arg0)
+  }
+  
+  public MissingDeps classExclude(boolean exclude, String... arg0) {
+    if (exclude) {
+      for (String pattern : arg0) {
+        exportedClassExcludes.add(pattern)
+      }
+    }
     for (String pattern : arg0) {
       classExcludes.add(pattern);
     }
@@ -182,7 +213,21 @@ class MissingDeps extends DefaultTask {
     return depExcludes
   }
   
+  @Input
+  public Set<String> getExportedDepExcludes() {
+    return exportedDepExcludes
+  }
+  
   public MissingDeps depExclude(String... arg0) {
+    return depExclude(true, arg0)
+  }
+  
+  public MissingDeps depExclude(boolean exported, String... arg0) {
+    if (exported) {
+      for (String pattern : arg0) {
+        exportedDepExcludes.add(pattern)
+      }
+    }
     for (String pattern : arg0) {
       depExcludes.add(pattern);
     }
@@ -206,15 +251,15 @@ class MissingDeps extends DefaultTask {
     
     MissingDeps to = toProject.missingDeps
     
-    Set<String> depExcludes = fromProject.missingDeps.getDepExcludes()
+    Set<String> depExcludes = fromProject.missingDeps.getExportedDepExcludes()
     for (String exclude : depExcludes) {
       to.depExclude exclude
     }
-    Set<String> classExcludes = fromProject.missingDeps.getClassExcludes()
+    Set<String> classExcludes = fromProject.missingDeps.getExportedClassExcludes()
     for (String exclude : classExcludes) {
       to.classExclude exclude
     }
-    Set<String> foundInClassExcludes = fromProject.missingDeps.getFoundInClassExcludes()
+    Set<String> foundInClassExcludes = fromProject.missingDeps.getExportedFoundInClassExcludes()
     for (String exclude : foundInClassExcludes) {
       to.foundInClassExclude exclude
     }
diff --git a/solr/contrib/analysis-extras/build.gradle b/solr/contrib/analysis-extras/build.gradle
index cf50f50..3c5af02 100644
--- a/solr/contrib/analysis-extras/build.gradle
+++ b/solr/contrib/analysis-extras/build.gradle
@@ -33,7 +33,7 @@ dependencies {
   
   implementation ('org.slf4j:slf4j-api') { transitive = false }
   implementation ('commons-io:commons-io') { transitive = false }
-  implementation ('com.google.guava:guava') { transitive = false }
+  implementation ('com.google.guava:guava')
   implementation ('commons-codec:commons-codec') { transitive = false }
   
   testImplementation project(path: ':lucene:analysis:lucene-analyzers-common', configuration: 'testOutput')
diff --git a/solr/contrib/analytics/build.gradle b/solr/contrib/analytics/build.gradle
index 083c41b..865cf67 100644
--- a/solr/contrib/analytics/build.gradle
+++ b/solr/contrib/analytics/build.gradle
@@ -27,7 +27,7 @@ dependencies {
   implementation ('com.fasterxml.jackson.core:jackson-core') { transitive = false }
   implementation ('com.fasterxml.jackson.core:jackson-databind') { transitive = false }
   implementation ('com.fasterxml.jackson.core:jackson-annotations') { transitive = false }
-  implementation ('com.google.guava:guava') { transitive = false }
+  implementation ('com.google.guava:guava')
   implementation ('commons-codec:commons-codec') { transitive = false }
   implementation ('commons-io:commons-io') { transitive = false }
   implementation ('org.apache.commons:commons-lang3') { transitive = false }
diff --git a/solr/contrib/dataimporthandler/build.gradle b/solr/contrib/dataimporthandler/build.gradle
index d00d8da..fe08abf 100644
--- a/solr/contrib/dataimporthandler/build.gradle
+++ b/solr/contrib/dataimporthandler/build.gradle
@@ -44,9 +44,7 @@ dependencies {
   
   implementation ('org.slf4j:slf4j-api') { transitive = false }
   implementation ('commons-io:commons-io') { transitive = false }
-  implementation ('com.google.guava:guava') {
-    exclude group: '*', module: '*' // many annotation deps we don't need
-  }
+  implementation ('com.google.guava:guava')
   implementation ('org.apache.httpcomponents:httpclient') { transitive = false }
   implementation ('org.apache.zookeeper:zookeeper') { transitive = false }
   implementation ('org.apache.zookeeper:zookeeper-jute')
diff --git a/solr/contrib/extraction/build.gradle b/solr/contrib/extraction/build.gradle
index 0172817..d16a088 100644
--- a/solr/contrib/extraction/build.gradle
+++ b/solr/contrib/extraction/build.gradle
@@ -71,7 +71,7 @@ dependencies {
   implementation ('xerces:xercesImpl') { transitive = false }
   implementation ('commons-io:commons-io') { transitive = false }
   implementation ('commons-codec:commons-codec') { transitive = false }
-  implementation ('com.google.guava:guava') { transitive = false }
+  implementation ('com.google.guava:guava')
   
   testImplementation project(':lucene:lucene-test-framework')
   testImplementation project(':solr:solr-test-framework')
diff --git a/solr/contrib/ltr/build.gradle b/solr/contrib/ltr/build.gradle
index 9580077..18ae823 100644
--- a/solr/contrib/ltr/build.gradle
+++ b/solr/contrib/ltr/build.gradle
@@ -29,7 +29,7 @@ dependencies {
   implementation ('org.slf4j:slf4j-api') { transitive = false }
   implementation ('org.restlet.jee:org.restlet') { transitive = false }
   implementation ('commons-io:commons-io') { transitive = false }
-  implementation ('com.google.guava:guava') { transitive = false }
+  implementation ('com.google.guava:guava')
   implementation ('commons-codec:commons-codec') { transitive = false }
   
   testRuntimeOnly ("org.slf4j:jcl-over-slf4j") { transitive = false }
diff --git a/solr/contrib/prometheus-exporter/build.gradle b/solr/contrib/prometheus-exporter/build.gradle
index 8e2e1a2..be8571d 100644
--- a/solr/contrib/prometheus-exporter/build.gradle
+++ b/solr/contrib/prometheus-exporter/build.gradle
@@ -35,7 +35,7 @@ dependencies {
   implementation ('net.thisptr:jackson-jq') { transitive = false }
   implementation ('net.sourceforge.argparse4j:argparse4j') { transitive = false }
   implementation ('org.slf4j:slf4j-api') { transitive = false }
-  implementation ('com.google.guava:guava') { transitive = false }
+  implementation ('com.google.guava:guava')
   implementation ('org.apache.zookeeper:zookeeper') { transitive = false }
   implementation ('org.apache.zookeeper:zookeeper-jute')
   implementation ('commons-codec:commons-codec') { transitive = false }
diff --git a/solr/contrib/velocity/build.gradle b/solr/contrib/velocity/build.gradle
index f368b40..5aa8a53 100644
--- a/solr/contrib/velocity/build.gradle
+++ b/solr/contrib/velocity/build.gradle
@@ -31,7 +31,7 @@ dependencies {
   implementation ("org.apache.velocity.tools:velocity-tools-view") { transitive = false }
   implementation ("org.apache.velocity.tools:velocity-tools-view-jsp") { transitive = false }
   implementation ('commons-io:commons-io') { transitive = false }
-  implementation ('com.google.guava:guava') { transitive = false }
+  implementation ('com.google.guava:guava')
   implementation ('commons-codec:commons-codec') { transitive = false }
   implementation ('org.slf4j:slf4j-api') { transitive = false }
   
diff --git a/solr/core/build.gradle b/solr/core/build.gradle
index b665793..ce68dcf 100644
--- a/solr/core/build.gradle
+++ b/solr/core/build.gradle
@@ -73,7 +73,7 @@ dependencies {
   implementation 'io.opentracing:opentracing-noop'
   implementation 'io.opentracing:opentracing-util'
   
-  implementation ('org.apache.zookeeper:zookeeper') { transitive = false } // brings in a lot we don't use
+  implementation ('org.apache.zookeeper:zookeeper')
   implementation ('org.apache.zookeeper:zookeeper-jute')
   implementation ('org.apache.httpcomponents:httpclient')
   implementation ('org.apache.httpcomponents:httpcore')
@@ -93,7 +93,7 @@ dependencies {
   implementation ('commons-fileupload:commons-fileupload')
   implementation ('commons-cli:commons-cli')
   implementation ('org.apache.commons:commons-text')
-  implementation ('com.google.guava:guava') { transitive = false } // many annotation deps we don't need
+  implementation ('com.google.guava:guava')
   implementation ('org.locationtech.spatial4j:spatial4j')
   implementation ('org.apache.commons:commons-math3')
   implementation ('org.ow2.asm:asm')
@@ -203,11 +203,6 @@ forbiddenApisTest {
 missingDeps {
   depExclude  '**/*hadoop*.dot' // we exclude examining hadoop jars because we don't need lots of these deps
   
-  // annotations
-  classExclude 'org\\.apache\\.yetus\\.audience\\.InterfaceAudience.*'
-  classExclude 'javax\\.annotation\\..*'
-  classExclude 'com\\.google\\.errorprone\\.annotations\\..*'
-  
   // log4j extra functionality we don't use
   classExclude 'org\\.fusesource\\.jansi\\..*'
   classExclude 'org\\.slf4j\\.ext\\.EventData'
@@ -216,7 +211,7 @@ missingDeps {
   classExclude 'org\\.apache\\.log4j\\.jmx\\.HierarchyDynamicMBean' // zookeeper refs this log4j class directly
   classExclude 'org\\.locationtech\\.jts\\..*' // spatial4j does not currently use jts (6/2019)
   
-  // calcite sql stuff we appraently don't need
+  // calcite sql stuff we apparently don't need
   classExclude 'com\\.esri\\.core.geometry\\..*'
   classExclude 'org\\.pentaho\\.aggdes\\..*'
   classExclude 'org\\.apache\\.commons\\.dbcp2\\.BasicDataSource'
diff --git a/solr/core/src/test/org/apache/hadoop/http/HttpServer2.java b/solr/core/src/test/org/apache/hadoop/http/HttpServer2.java
index 5962beb..5e66ff5 100644
--- a/solr/core/src/test/org/apache/hadoop/http/HttpServer2.java
+++ b/solr/core/src/test/org/apache/hadoop/http/HttpServer2.java
@@ -1459,7 +1459,6 @@ public final class HttpServer2 implements FilterContainer {
           response.getOutputStream(), false, "UTF-8")) {
         ReflectionUtils.printThreadInfo(out, "");
       }
-      ReflectionUtils.logThreadInfo(LOG, "jsp requested", 1);
     }
   }
 
diff --git a/solr/solr-ref-guide/build.gradle b/solr/solr-ref-guide/build.gradle
index eea9bf7..9ee61f6 100644
--- a/solr/solr-ref-guide/build.gradle
+++ b/solr/solr-ref-guide/build.gradle
@@ -35,7 +35,7 @@
    tools ('org.slf4j:slf4j-simple') { transitive = false }
    tools ('org.apache.logging.log4j:log4j-api') { transitive = false }
    tools ('org.apache.logging.log4j:log4j-core') { transitive = false }
-   tools ('com.google.guava:guava') { transitive = false }
+   tools ('com.google.guava:guava')
    tools ('commons-codec:commons-codec') { transitive = false }
  }
  
diff --git a/solr/solrj/build.gradle b/solr/solrj/build.gradle
index 756143c..83c3cd1 100644
--- a/solr/solrj/build.gradle
+++ b/solr/solrj/build.gradle
@@ -21,14 +21,14 @@ apply plugin: org.apache.lucene.gradle.PartOfDist
 
 dependencies {
 
-  api ('org.apache.zookeeper:zookeeper') { transitive = false } // // zk has annotation deps we don't need
+  api ('org.apache.zookeeper:zookeeper')
   api ('org.apache.zookeeper:zookeeper-jute')
   
   runtimeOnly ('org.slf4j:log4j-over-slf4j') // bridge for deps that use log4j12 directly
+  runtimeOnly ('org.slf4j:jcl-over-slf4j') // bridge for jcl
   runtimeOnly ('io.netty:netty-all') // used by zookeeper
   
   implementation ('org.slf4j:slf4j-api')
-  implementation ('org.slf4j:jcl-over-slf4j')
   implementation ('org.apache.httpcomponents:httpclient')
   implementation ('org.apache.httpcomponents:httpmime')
   implementation ('org.apache.httpcomponents:httpcore')
@@ -47,7 +47,7 @@ dependencies {
   testImplementation ('org.eclipse.jetty:jetty-server')
   testImplementation ('org.eclipse.jetty:jetty-xml')
   testImplementation ('commons-collections:commons-collections')
-  testImplementation ('com.google.guava:guava') { transitive = false } // has many deps we don't need
+  testImplementation ('com.google.guava:guava')
   testImplementation ('org.apache.commons:commons-compress')
   testImplementation ('org.mockito:mockito-core')
   testImplementation ('net.bytebuddy:byte-buddy')
@@ -65,9 +65,15 @@ dependencies {
 
 missingDeps {
   foundInClassExclude 'io\\.netty\\.handler\\.ssl\\..*' // zookeeper brings netty-all and ssl stuff we don't use
+  foundInClassExclude 'io\\.netty\\.util\\.internal\\.logging\\.Log4J2Logger.*' // netty dependency on log4j2
   
-  // we are a lib and don't distribute logging impl
-  classExclude 'org.slf4j.impl.StaticLoggerBinder'
-  classExclude 'org.slf4j.impl.StaticMDCBinder'
-  classExclude 'org.slf4j.impl.StaticMarkerBinder'
+  // annotations, mostly from zk
+  classExclude 'org\\.apache\\.yetus\\.audience\\.InterfaceAudience.*'
+  classExclude 'javax\\.annotation\\..*'
+  classExclude 'com\\.google\\.errorprone\\.annotations\\..*'
+  
+  // we are a lib and don't distribute logging impl - dont export these excludes to other modules
+  classExclude false, 'org.slf4j.impl.StaticLoggerBinder'
+  classExclude false, 'org.slf4j.impl.StaticMDCBinder'
+  classExclude false, 'org.slf4j.impl.StaticMarkerBinder'
 }
diff --git a/solr/test-framework/build.gradle b/solr/test-framework/build.gradle
index 5d4bfab..406465b 100644
--- a/solr/test-framework/build.gradle
+++ b/solr/test-framework/build.gradle
@@ -15,6 +15,8 @@
  * limitations under the License.
  */
 
+import org.apache.lucene.gradle.MissingDeps
+ 
 apply plugin: 'java-library'
 apply plugin: 'maven-publish'
 apply plugin: org.apache.lucene.gradle.PartOfDist
@@ -48,7 +50,7 @@ dependencies {
   api ('javax.servlet:javax.servlet-api') { transitive = false }
   implementation ('io.dropwizard.metrics:metrics-core') { transitive = false }
   implementation ('org.bitbucket.b_c:jose4j') { transitive = false }
-  implementation ('com.google.guava:guava') { transitive = false }
+  implementation ('com.google.guava:guava')
   api ('org.eclipse.jetty:jetty-server') { transitive = false }
   api ('org.eclipse.jetty:jetty-servlet') { transitive = false }
   implementation ('io.dropwizard.metrics:metrics-jetty9') { transitive = false }
@@ -87,3 +89,10 @@ dependencies {
   
 }
 
+missingDeps {
+
+  // add solr-core exclusions
+  MissingDeps.addExclusionsFrom(project(':solr:solr-core'), project)
+}
+
+
diff --git a/versions.lock b/versions.lock
index 50bc0f5..a6afa90 100644
--- a/versions.lock
+++ b/versions.lock
@@ -18,11 +18,8 @@ com.github.jai-imageio:jai-imageio-core:1.4.0 (1 constraints: 5c0ced01)
 com.github.junrar:junrar:2.0.0 (1 constraints: 590ce601)
 com.github.openjson:openjson:1.0.10 (1 constraints: 890c6b0e)
 com.github.virtuald:curvesapi:1.04 (2 constraints: 730fc68c)
-com.google.code.findbugs:jsr305:3.0.2 (1 constraints: 170aecb4)
 com.google.code.gson:gson:2.8.5 (1 constraints: 660c0302)
-com.google.errorprone:error_prone_annotations:2.1.3 (1 constraints: 180aebb4)
 com.google.guava:guava:25.1-jre (2 constraints: 400c4e0d)
-com.google.j2objc:j2objc-annotations:1.1 (1 constraints: b609eba0)
 com.google.protobuf:protobuf-java:3.7.1 (3 constraints: c311263b)
 com.google.re2j:re2j:1.2 (1 constraints: a7041c2c)
 com.googlecode.javaewah:JavaEWAH:1.1.6 (1 constraints: 480e7e50)
@@ -62,7 +59,7 @@ io.dropwizard.metrics:metrics-graphite:4.0.5 (1 constraints: 0b050436)
 io.dropwizard.metrics:metrics-jetty9:4.0.5 (1 constraints: 0b050436)
 io.dropwizard.metrics:metrics-jmx:4.0.5 (1 constraints: 0b050436)
 io.dropwizard.metrics:metrics-jvm:4.0.5 (1 constraints: 0b050436)
-io.netty:netty-all:4.0.52.Final (1 constraints: 55073d61)
+io.netty:netty-all:4.1.29.Final (2 constraints: 2c177041)
 io.opentracing:opentracing-api:0.33.0 (4 constraints: a62f7e64)
 io.opentracing:opentracing-mock:0.33.0 (1 constraints: 3805343b)
 io.opentracing:opentracing-noop:0.33.0 (3 constraints: 7c2142bd)
@@ -159,9 +156,8 @@ org.apache.velocity.tools:velocity-tools-view:3.0 (1 constraints: a704202c)
 org.apache.velocity.tools:velocity-tools-view-jsp:3.0 (1 constraints: a704202c)
 org.apache.ws.xmlschema:xmlschema-core:2.2.3 (1 constraints: 370a5abc)
 org.apache.xmlbeans:xmlbeans:3.0.1 (2 constraints: de126c41)
-org.apache.yetus:audience-annotations:0.5.0 (1 constraints: 6a0ff479)
 org.apache.zookeeper:zookeeper:3.5.5 (1 constraints: 0f050e36)
-org.apache.zookeeper:zookeeper-jute:3.5.5 (1 constraints: 0f050e36)
+org.apache.zookeeper:zookeeper-jute:3.5.5 (2 constraints: 9b127823)
 org.aspectj:aspectjrt:1.8.0 (1 constraints: 0b050836)
 org.bitbucket.b_c:jose4j:0.6.5 (1 constraints: 0d050236)
 org.bouncycastle:bcmail-jdk15on:1.60 (2 constraints: 0a113ad5)
@@ -175,10 +171,8 @@ org.carrot2:morfologik-stemming:2.1.5 (1 constraints: 0a05fd35)
 org.carrot2.attributes:attributes-binder:1.3.3 (2 constraints: ab0f86a6)
 org.carrot2.shaded:carrot2-guava:18.0 (3 constraints: 8f202231)
 org.ccil.cowan.tagsoup:tagsoup:1.2.1 (2 constraints: 601198f1)
-org.checkerframework:checker-qual:2.0.0 (1 constraints: 140ae5b4)
 org.codehaus.janino:commons-compiler:3.0.9 (2 constraints: d910f7d1)
 org.codehaus.janino:janino:3.0.9 (1 constraints: 0e050336)
-org.codehaus.mojo:animal-sniffer-annotations:1.14 (1 constraints: ea09d5aa)
 org.codehaus.woodstox:stax2-api:4.1 (3 constraints: f125f836)
 org.codehaus.woodstox:woodstox-core-asl:4.4.1 (1 constraints: 0b050c36)
 org.codelibs:jhighlight:1.0.3 (1 constraints: 5b0ce401)
@@ -225,10 +219,10 @@ org.quartz-scheduler:quartz:2.2.0 (1 constraints: 2106eb4d)
 org.restlet.jee:org.restlet:2.3.0 (1 constraints: 0705fe35)
 org.rrd4j:rrd4j:3.5 (1 constraints: ac04252c)
 org.simpleframework:simple-xml:2.7.1 (3 constraints: bd20563c)
-org.slf4j:jcl-over-slf4j:1.7.25 (4 constraints: f629cf87)
+org.slf4j:jcl-over-slf4j:1.7.25 (3 constraints: 0018d6b7)
 org.slf4j:jul-to-slf4j:1.7.25 (2 constraints: d5113e11)
 org.slf4j:log4j-over-slf4j:1.7.25 (1 constraints: 4005473b)
-org.slf4j:slf4j-api:1.7.25 (25 constraints: 251bf0a0)
+org.slf4j:slf4j-api:1.7.25 (26 constraints: e3280af0)
 org.tallison:jmatio:1.5 (2 constraints: a810a0b8)
 org.tukaani:xz:1.8 (2 constraints: ae100fb9)
 org.yaml:snakeyaml:1.23 (1 constraints: 6e17f627)