Skip to content

Maven CLI: add wildcard matching into recipes detection #36573

@JiriOndrusek

Description

@JiriOndrusek

Describe the bug

The recent change #34391, bringing the detection of extensions based on dependencies, revealed a problem with transitive dependencies.

Custom recipies for the Camel-Quarkus are executed only if camel-quarkus-core is present in the pom as a top level dependency.

In the reality, the camel-quarkus project contains usually dependencies for the extensions (like camel-quarkus-file), which bring camel-quarkus-core transitively.
Such project is not updated correctly, because CQ-core dependency is not detected and CQ recipes are not applied.

What do I suggest?

The dependency groupId/artifactId is matched with the folder structure of recipes (see https://github.com/quarkusio/quarkus-updates/tree/main/recipes/src/main/resources/quarkus-updates/org.apache.camel.quarkus/camel-quarkus-core)
Simple solution would be to use a "wildcard" in the name of the artifactId folder. For example org.apache.camel.quarkus/camel-quarkus-*. Such folder would be matched both by camel-quarkus-file or camel-quarkus-core

(We could use also startsWith instead of equals and keep the name of the folder camel-quarkus-, but this approach might not be desired. (for example ext-custom and ext-custom-better should not be matched together)

Expected behavior

No response

Actual behavior

No response

How to Reproduce?

No response

Output of uname -a or ver

No response

Output of java -version

No response

Quarkus version or git rev

No response

Build tool (ie. output of mvnw --version or gradlew --version)

No response

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/cliRelated to quarkus cli (not maven/gradle/etc.)area/mavenkind/bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions