Как вы можете заставить плагин Maven enforcer дважды не сообщать об ошибках конвергенции зависимостей?

#maven #maven-enforcer-plugin

#maven #maven-enforcer-plugin

Вопрос:

Рассмотрим следующий пример:

 [WARNING]
Dependency convergence error for org.scala-lang:scala-reflect:2.12.4 paths to dependency are:
 -com.intuit.karate:karate-gatling:0.9.2
   -io.gatling.highcharts:gatling-charts-highcharts:3.0.2
     -io.gatling:gatling-http-client:3.0.2
       -com.typesafe.scala-logging:scala-logging_2.12:3.9.0
         -org.scala-lang:scala-reflect:2.12.4
and
 -com.intuit.karate:karate-gatling:0.9.2
   -io.gatling.highcharts:gatling-charts-highcharts:3.0.2
     -io.gatling:gatling-commons:3.0.2
       -org.scala-lang:scala-reflect:2.12.8
and
 -com.intuit.karate:karate-gatling:0.9.2
   -io.gatling.highcharts:gatling-charts-highcharts:3.0.2
     -io.gatling:gatling-commons:3.0.2
       -com.dongxiguo:fastring_2.12:1.0.0
         -org.scala-lang:scala-reflect:2.12.1
and
 -com.intuit.karate:karate-gatling:0.9.2
   -io.gatling.highcharts:gatling-charts-highcharts:3.0.2
     -io.gatling:gatling-commons:3.0.2
       -com.softwaremill.quicklens:quicklens_2.12:1.4.11
         -org.scala-lang:scala-reflect:2.12.3

[WARNING] Rule 0: org.apache.maven.plugins.enforcer.DependencyConvergence failed with message:
Failed while enforcing releasability the error(s) are [
Dependency convergence error for org.scala-lang:scala-reflect:2.12.4 paths to dependency are:
 -com.intuit.karate:karate-gatling:0.9.2
   -io.gatling.highcharts:gatling-charts-highcharts:3.0.2
     -io.gatling:gatling-http-client:3.0.2
       -com.typesafe.scala-logging:scala-logging_2.12:3.9.0
         -org.scala-lang:scala-reflect:2.12.4
and
 -com.intuit.karate:karate-gatling:0.9.2
   -io.gatling.highcharts:gatling-charts-highcharts:3.0.2
     -io.gatling:gatling-commons:3.0.2
       -org.scala-lang:scala-reflect:2.12.8
and
 -com.intuit.karate:karate-gatling:0.9.2
   -io.gatling.highcharts:gatling-charts-highcharts:3.0.2
     -io.gatling:gatling-commons:3.0.2
       -com.dongxiguo:fastring_2.12:1.0.0
         -org.scala-lang:scala-reflect:2.12.1
and
 -com.intuit.karate:karate-gatling:0.9.2
   -io.gatling.highcharts:gatling-charts-highcharts:3.0.2
     -io.gatling:gatling-commons:3.0.2
       -com.softwaremill.quicklens:quicklens_2.12:1.4.11
         -org.scala-lang:scala-reflect:2.12.3
]
 

Оба эти предупреждения являются одной и той же ошибкой конвергенции. Второе — это краткое изложение предыдущих предупреждений, в котором сообщается о массиве ранее обнаруженных ошибок. Однако это просто создает много лишнего визуального шума. Этот пример не такой уж болезненный, но когда у вас есть несколько ошибок конвергенции, это становится довольно беспорядочным. У меня не было никакого успеха в поиске в документах способа заставить плагин сообщать об этом только один раз — возможно ли это?

(ПРИМЕЧАНИЕ: это maven-enforcer-plugin v. 1.4.1)

Ответ №1:

Ответ, похоже, заключается в том, что у плагина давно не было официального «стабильного» выпуска. Обновление до 3.0.0-M2 переключает это, поэтому сообщение об ошибке гласит: «Эй, у вас были некоторые ошибки. Смотрите выше. »