Skip to content

ap-loader qualifier usage is problematic with mvn versions:update-properties #4

Closed
@ginkel

Description

@ginkel

Hi there,

when referencing ap-loader from a Maven POM

<properties>
  <ap-loader.version>2.9-2-all</ap-loader.version>
</properties>

[...]

<dependency>
  <groupId>me.bechberger</groupId>
  <artifactId>ap-loader</artifactId>
  <version>${ap-loader.version}</version>
</dependency>

and afterwards running mvn -U versions:update-properties to update all dependencies to their current version, the -macos variant is chosen over the -all variant:

-        <ap-loader.version>2.9-2-all</ap-loader.version>
+        <ap-loader.version>2.9-2-macos</ap-loader.version>

This is due to the way Maven interprets qualifiers in versions using alphabetical sorting (cf. https://www.mojohaus.org/versions/versions-maven-plugin/version-rules.html).

One possible solution would be to pull the variant into the artifact name so that the qualifier only contains the ap-loader version, such as:

<dependency>
  <groupId>me.bechberger</groupId>
  <artifactId>ap-loader-all</artifactId>
  <version>2.9-2</version>
</dependency>

Thanks,
Thilo

P.S.: Using the classifier could also be an option

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions