The move to Gradle makes it less obvious to see warnings Maven would emit when resolving a standard project. In the recent past, we got a few already:

  • encoding not set in starter parent leading to a warning in the log (and the lost of UTF-8 encoding in favour of the local encoding)
  • wrong version reference in maven-shade-plugin configuration, leading to a failure when trying to invoke it
  • Invalid or incomplete BOMs. The current infinispan BOM has a reference to a non-existent artifact which leads to this warning:
[WARNING] The POM for org.infinispan:infinispan-protocol-parser-generator-maven-plugin:jar:10.1.1.Final is missing, no dependency information available
[WARNING] Failed to retrieve plugin descriptor for org.infinispan:infinispan-protocol-parser-generator-maven-plugin:10.1.1.Final: Plugin org.infinispan:infinispan-protocol-parser-generator-maven-plugin:10.1.1.Final or one of its dependencies could not be resolved: Failure to find org.infinispan:infinispan-protocol-parser-generator-maven-plugin:jar:10.1.1.Final in https://repo.spring.io/milestone was cached in the local repository, resolution will not be reattempted until the update interval of spring-milestones has elapsed or updates are forced

Building small projects with Maven and validating the lack of warnings would be already a good first step. Perhaps we could use the Maven API to validate things automatically?

Comment From: wilkinsona

Hopefully, some smoke tests would catch problems like https://github.com/spring-projects/spring-boot/issues/21304 as well.

Comment From: wilkinsona

If we want to do this, it should be done as part of the release verification tests.