Skip to content

Dev mode doesn't reflect removed extension with Quarkus main #47418

@rsvoboda

Description

@rsvoboda

Describe the bug

Dev mode doesn't reflect removed extension with Quarkus main

I'm having application in dev mode, I removed quarkus-smallrye-health using cli, pom.file get adjusted, dev mode detects change pom.xml and reloads the application.
But the application still starts with quarkus-smallrye-health.

I have been trying to identify when the regression happened and the problematic piece is #47375 by @aloubyansky

To double check it, one needs to revert 3 commits or revert 468fae0 + do some manual adjustments because of conflicts

git revert 567408feb6f16b675c20e0e86a65df42861722d5
git revert 22a7ecb4570fc28f767ffe0596752b6e1927f74f
git revert 468fae0c5457645cfd23c683d6faab798e3e1d75

Another pain point is dealing with merge commits and branches it creates in commit tree, "rebase and merge" strategy on PRs would be much nicer when needing to deal with commits bisection. My first hit (#47378) was a false positive :/

Expected behavior

Application gets reloaded without removed extension.

Actual behavior

Application gets reloaded as change in pom.xml is detected, but the removed extension is still loaded.

How to Reproduce?

Terminal nr. 1:

cd ~/tmp
rm -rf app
quarkus create app app -x=quarkus-smallrye-health,quarkus-rest
cd app
quarkus dev -Dquarkus.platform.version=999-SNAPSHOT -Dquarkus.platform.group-id=io.quarkus

Terminal nr. 2:

cd ~/tmp/app
curl http://localhost:8080/q/health
quarkus extension remove quarkus-smallrye-health
sleep 5
curl http://localhost:8080/q/health

Output of uname -a or ver

macOS

Output of java -version

Java 21

Quarkus version or git rev

0061772

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

No response

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions