Skip to content

[MNG-7471] Resolver 1.8.0 introduces binary breakage in plugin using Resolver #9282

@jira-importer

Description

@jira-importer

Tamas Cservenak opened MNG-7471 and commented

With Maven 3.9.0-SNAPSHOT (post MNG-7453 done) there is a binary breakage introduced for plugins using Resolver, as proven by new IT MNG-7470.

Problem is following:

Maven Core exports following packages:

  • resolver-api
  • resolver-spi
  • resolver-impl

While plugin will have added its "own" versions of these below to plugin realm:

  • resolver-util
  • resolver-connector-basic

This means, that a plugin will be forced to use api/spi/imp from core (1.8.0), but they will keep using their own util and connector-basic.

Resolver 1.8.0 introduces API changes that affects all of impl, connector-basic and spi, basically their own copy of connector-basic will fail. The interface change from resolver-spi will prevent class from resolver-connector-basic to be instantiated.

Error that is thrown during execution of plugin using Resolver:
Caused by: org.apache.maven.plugin.PluginContainerException: An API incompatibility was encountered while executing io.quarkus:quarkus-maven-plugin:2.3.1.Final:build: java.lang.NoSuchMethodError: 'java.util.List org.eclipse.aether.spi.connector.layout.RepositoryLayout.getChecksums(org.eclipse.aether.artifact.Artifact, boolean, java.net.URI)'

Important note: the error is triggered only when remote download happens, so even IT will pass OK with 3.9.0-SNAPSHOT IF local repository is pre-populated, hence, no remote download happens!


Affects: 3.9.x-candidate

Issue Links:

  • MNG-7453 Upgrade Maven Resolver to 1.8.0
    ("is caused by")

  • MNG-7472 Extend Maven BOM to cover all things "provided" by Maven

  • MNG-7470 Add IT involving resolver transport

Remote Links:

Backported to: 4.0.0-alpha-2, 3.9.0

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingpriority:majorMajor loss of function

Type

No type
No fields configured for issues without a type.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions