-
Notifications
You must be signed in to change notification settings - Fork 2.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
allow quarkus dev to pick random debug port #33363
Comments
Do we know if this would work with IDE launch modes? My guess is that it won't... |
What do you mean? As in quarkus dev invoked by an IDE tool? Yes and no. As in they probably won't work today but an IDE that launches quarkus dev can look for what port gets listened to and take a guess or offer choice to user what process/port to attach to. |
Yeah, that's what I meant. |
By passing a zero or negative value, Quarkus will launch the dev-mode JVM process using a random debugging port Fixes: quarkusio#33363
I just tried the built-in Quarkus Launcher that IntelliJ Ultimate has and it essentially ignored debug port setting and does what you describe. So we if we do use a random port, the IntelliJ launcher should just ignore and life will be good for everyone. So consider this my +1 and #33521 takes care of choosing a random port when the debug port is set to |
Allow Quarkus to pick a random debug port
Pick random debug port when the configured one is taken
Closes: quarkusio#33363 (cherry picked from commit ba0c261)
This MR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [flow-bin](https://github.com/flowtype/flow-bin) ([changelog](https://github.com/facebook/flow/blob/master/Changelog.md)) | devDependencies | minor | [`^0.219.0` -> `^0.220.0`](https://renovatebot.com/diffs/npm/flow-bin/0.219.0/0.220.0) | | [org.jsoup:jsoup](https://jsoup.org/) ([source](https://github.com/jhy/jsoup)) | compile | patch | `1.16.1` -> `1.16.2` | | [io.quarkus:quarkus-maven-plugin](https://github.com/quarkusio/quarkus) | build | minor | `3.4.3` -> `3.5.0` | | [io.quarkus:quarkus-universe-bom](https://github.com/quarkusio/quarkus-platform) | import | minor | `3.4.3` -> `3.5.0` | --- ### Release Notes <details> <summary>flowtype/flow-bin</summary> ### [`v0.220.0`](flow/flow-bin@f7f3f3f...030bfc6) [Compare Source](flow/flow-bin@f7f3f3f...030bfc6) ### [`v0.219.5`](flow/flow-bin@f16a6c7...f7f3f3f) [Compare Source](flow/flow-bin@f16a6c7...f7f3f3f) ### [`v0.219.4`](flow/flow-bin@9f67075...f16a6c7) [Compare Source](flow/flow-bin@9f67075...f16a6c7) ### [`v0.219.3`](flow/flow-bin@80dcea5...9f67075) [Compare Source](flow/flow-bin@80dcea5...9f67075) ### [`v0.219.2`](flow/flow-bin@c184c5d...80dcea5) [Compare Source](flow/flow-bin@c184c5d...80dcea5) </details> <details> <summary>quarkusio/quarkus</summary> ### [`v3.5.0`](https://github.com/quarkusio/quarkus/releases/tag/3.5.0) [Compare Source](quarkusio/quarkus@3.4.3...3.5.0) ##### Complete changelog - [#​36527](quarkusio/quarkus#36527) - Start MongoDB 4.4 instead of 4.0 - [#​36523](quarkusio/quarkus#36523) - Minor OIDC Auth0 updates - [#​36518](quarkusio/quarkus#36518) - Allow for setting logging scope programmatically - [#​36517](quarkusio/quarkus#36517) - Use Mandrel 23.1 in windows CI - [#​36501](quarkusio/quarkus#36501) - Let custom OIDC token propagation filters customize the exchange status - [#​36495](quarkusio/quarkus#36495) - Support external OTel exporters in CDI - [#​36490](quarkusio/quarkus#36490) - Take ReaderInterceptor into account when reading SSE events - [#​36487](quarkusio/quarkus#36487) - Upgrade to Liquibase 4.24.0 - [#​36485](quarkusio/quarkus#36485) - Fix typo in gradle-tooling.adoc - [#​36474](quarkusio/quarkus#36474) - Fix some issues in getting-started-dev-services - [#​36465](quarkusio/quarkus#36465) - Be more consistent in guides when creating projects/adding extensions - [#​36464](quarkusio/quarkus#36464) - HTTP reference guide - HTTP/2 section update, drop JDK 8 note - [#​36459](quarkusio/quarkus#36459) - Let custom OIDC token propagation filters provide client name - [#​36457](quarkusio/quarkus#36457) - Update builder images to jdk-21 - [#​36453](quarkusio/quarkus#36453) - Upgrade Oracle JDBC driver to 23.3.0.23.09 - [#​36452](quarkusio/quarkus#36452) - Fix doc extension-add.adoc - [#​36451](quarkusio/quarkus#36451) - Adjust extension name for consistency with rest of Quarkus - [#​36446](quarkusio/quarkus#36446) - Regression: Liquibase fails to migrate on Quarkus start, crashing the application - [#​36445](quarkusio/quarkus#36445) - Updates to Infinispan 14.0.19.Final - [#​36442](quarkusio/quarkus#36442) - Use default content type when X-SSE header not set - [#​36436](quarkusio/quarkus#36436) - Upgrade to Hibernate ORM 6.2.13.Final - [#​36432](quarkusio/quarkus#36432) - Hibernate Reactive Panache: improve error message - [#​36420](quarkusio/quarkus#36420) - Allow parallel execution of blocking health checks - [#​36419](quarkusio/quarkus#36419) - Blocking Health Checks should be executed in parallel, not sequentially/ordered - [#​36417](quarkusio/quarkus#36417) - Reduce timeout of the doc build to 60 minutes - [#​36413](quarkusio/quarkus#36413) - Simplify virtual threads guide by pushing users to 21 - [#​36412](quarkusio/quarkus#36412) - Drop Optaplanner from the documentation - [#​36411](quarkusio/quarkus#36411) - Drop panache topic from Hibernate Reactive guide - [#​36410](quarkusio/quarkus#36410) - Add compatibility topic to Spring guides - [#​36407](quarkusio/quarkus#36407) - Register RuntimeOverrideConfigSource in STATIC_INIT - [#​36406](quarkusio/quarkus#36406) - AssembleDownstreamDocumentation - print guide name - [#​36400](quarkusio/quarkus#36400) - Add topics and extensions metadata to guides - [#​36367](quarkusio/quarkus#36367) - Bump org.wiremock:wiremock-standalone from 3.1.0 to 3.2.0 - [#​36365](quarkusio/quarkus#36365) - Bump de.flapdoodle.embed:de.flapdoodle.embed.mongo from 4.7.0 to 4.9.2 - [#​36360](quarkusio/quarkus#36360) - Drop the old Dev UI guide - [#​36337](quarkusio/quarkus#36337) - Upgrade maven to version 3.9.5 - [#​36236](quarkusio/quarkus#36236) - No Panache session in REST endpoints defined by an interface - [#​35931](quarkusio/quarkus#35931) - Add OIDC Auth0 extended tutorial - [#​33548](quarkusio/quarkus#33548) - Pick random debug port when the configured one is taken - [#​33363](quarkusio/quarkus#33363) - allow quarkus dev to pick random debug port </details> <details> <summary>quarkusio/quarkus-platform</summary> ### [`v3.5.0`](quarkusio/quarkus-platform@3.4.3...3.5.0) [Compare Source](quarkusio/quarkus-platform@3.4.3...3.5.0) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever MR is behind base branch, or you tick the rebase/retry checkbox. 👻 **Immortal**: This MR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box --- This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4yNC4wIiwidXBkYXRlZEluVmVyIjoiMzQuMjQuMCJ9-->
Description
I tend to run a lot of quarkus dev instances on my machine and its a bit tedious having to manually find a free debug port.
We already check debug port and print "Port 5005 in use, not starting in debug mode" (in core/deployment/src/main/java/io/quarkus/deployment/dev/QuarkusDevModeLauncher.java) - couldn't we have a magic value like -1 or 0 to indicate "pick one" or a explicit flag to let quarkus dev try first on the configured port but if not free pick a random port and print it out.
Then user can either manually or using IDE's attach features figure connect to the process without having to stop, adjust flag, start again.
Implementation ideas
No response
The text was updated successfully, but these errors were encountered: