-
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 adding and removing extensions from Dev UI #43840
base: main
Are you sure you want to change the base?
Conversation
2beade2
to
3775def
Compare
🎊 PR Preview a0566a7 has been successfully built and deployed to https://quarkus-pr-main-43840-preview.surge.sh/version/main/guides/
|
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
7629b23
to
1a7e628
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Looks like it breaks a few things :-) |
@cescoffier yes I don't know why. The tests that breaks in CI runs fine on localhost. Maybe @maxandersen can comment ? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I added a micro comment but, more importantly, before merging, I think we need to make sure this doesn't slow down the startup too much:
- Creating an
ObjectMapper
can be sometimes slow. Now it might just be the firstObjectMapper
creation that is slow but we need to check for it. - The second thing that worries me is that the test failures seem to point out the fact that you're trying to update the registry even when not actually doing anything related to your new feature. Updating the registry is slow so I definitely don't want us to pay the price of updating it every day if you don't need it - and there's a good chance you won't add a dependency or create a new app every day. To test that, you will have to drop the local registry artifact and see how it performs at startup.
Not saying these are actual issues or issues we cannot solve but we need to make sure this feature is not introducing a regression in daily life developer experience.
This review can be dropped once everything is sorted out but I just want to make sure nobody merges before we have checked the situation.
1a7e628
to
f141d01
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
0276851
to
2f58b72
Compare
2f58b72
to
7be6fb0
Compare
The test broke because of Remove Dev. This is now fixed, let's see what CI does |
7be6fb0
to
2cb7138
Compare
extensions/vertx-http/dev-ui-resources/src/main/resources/dev-ui/qwc/qwc-extension.js
Outdated
Show resolved
Hide resolved
extensions/vertx-http/dev-ui-resources/src/main/resources/dev-ui/qwc/qwc-extensions.js
Outdated
Show resolved
Hide resolved
extensions/vertx-http/dev-ui-resources/src/main/resources/dev-ui/qwc/qwc-extensions.js
Outdated
Show resolved
Hide resolved
...common/src/main/java/io/quarkus/devtools/commands/handlers/ListCategoriesCommandHandler.java
Outdated
Show resolved
Hide resolved
This comment has been minimized.
This comment has been minimized.
741ea23
to
d9fa5e4
Compare
This comment has been minimized.
This comment has been minimized.
I believe @gsmet is talking about the |
Thanks @gastaldi . @gsmet deleting this does make the initial Maybe you can test this on you laptop and see if it's noticeable for you. For me it was not. |
@phillip-kruger can we somehow hit the registry when the UI to add an extension is opened? |
@gastaldi - let me play around and l'll get back here. |
This comment has been minimized.
This comment has been minimized.
61465d2
to
2e6e1a3
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
2e6e1a3
to
d4c6c85
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
d4c6c85
to
f3e7314
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Signed-off-by: Phillip Kruger <[email protected]>
f3e7314
to
4b323ec
Compare
Status for workflow
|
Status for workflow
|
Status | Name | Step | Failures | Logs | Raw logs | Build scan |
---|---|---|---|---|---|---|
✔️ | JVM Tests - JDK 17 | Logs | Raw logs | 🔍 | ||
✔️ | JVM Tests - JDK 21 | Logs | Raw logs | 🔍 | ||
✖ | JVM Tests - JDK 17 Windows | Build |
Failures | Logs | Raw logs | 🔍 |
✖ | Gradle Tests - JDK 17 | Build |
Failures | Logs | Raw logs | 🔍 |
✖ | Gradle Tests - JDK 17 Windows | Build |
Failures | Logs | Raw logs | 🔍 |
Full information is available in the Build summary check run.
You can consult the Develocity build scans.
Failures
⚙️ JVM Tests - JDK 17 Windows #
- Failing: extensions/vertx-http/deployment
! Skipped: devtools/cli extensions/agroal/deployment extensions/amazon-lambda-http/deployment and 406 more
📦 extensions/vertx-http/deployment
✖ io.quarkus.vertx.http.security.PathMatchingHttpSecurityPolicyTest.
- History - More details - Source on GitHub
java.lang.RuntimeException: io.quarkus.bootstrap.BootstrapException: Failed to create the application model for io.quarkus:quarkus-vertx-http-deployment::jar:999-SNAPSHOTnull
at io.quarkus.test.QuarkusUnitTest.beforeAll(QuarkusUnitTest.java:738)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
Caused by: io.quarkus.bootstrap.BootstrapException: Failed to create the application model for io.quarkus:quarkus-vertx-http-deployment::jar:999-SNAPSHOTnull
at io.quarkus.bootstrap.BootstrapAppModelFactory.resolveAppModel(BootstrapAppModelFactory.java:310)
at io.quarkus.bootstrap.app.QuarkusBootstrap.bootstrap(QuarkusBootstrap.java:138)
at io.quarkus.test.QuarkusUnitTest.beforeAll(QuarkusUnitTest.java:679)
... 1 more
⚙️ Gradle Tests - JDK 17 #
- Failing: integration-tests/gradle
📦 integration-tests/gradle
✖ io.quarkus.gradle.CompileOnlyDependencyFlagsTest.compileOnlyFlags
- History - More details - Source on GitHub
org.opentest4j.AssertionFailedError: Extra flags are set for io.quarkus:quarkus-bootstrap-maven-resolver:999-SNAPSHOT: 8
at app//org.junit.jupiter.api.AssertionUtils.fail(AssertionUtils.java:38)
at app//org.junit.jupiter.api.Assertions.fail(Assertions.java:138)
at app//io.quarkus.gradle.CompileOnlyDependencyFlagsTest.assertOnlyFlagsSet(CompileOnlyDependencyFlagsTest.java:126)
at app//io.quarkus.gradle.CompileOnlyDependencyFlagsTest.compileOnlyFlags(CompileOnlyDependencyFlagsTest.java:87)
at [email protected]/java.lang.reflect.Method.invoke(Method.java:569)
at [email protected]/java.util.ArrayList.forEach(ArrayList.java:1511)
at [email protected]/java.util.ArrayList.forEach(ArrayList.java:1511)
⚙️ Gradle Tests - JDK 17 Windows #
- Failing: integration-tests/gradle
📦 integration-tests/gradle
✖ io.quarkus.gradle.CompileOnlyDependencyFlagsTest.compileOnlyFlags
- History - More details - Source on GitHub
org.opentest4j.AssertionFailedError: Extra flags are set for io.quarkus:quarkus-bootstrap-maven-resolver:999-SNAPSHOT: 8
at app//org.junit.jupiter.api.AssertionUtils.fail(AssertionUtils.java:38)
at app//org.junit.jupiter.api.Assertions.fail(Assertions.java:138)
at app//io.quarkus.gradle.CompileOnlyDependencyFlagsTest.assertOnlyFlagsSet(CompileOnlyDependencyFlagsTest.java:126)
at app//io.quarkus.gradle.CompileOnlyDependencyFlagsTest.compileOnlyFlags(CompileOnlyDependencyFlagsTest.java:87)
at [email protected]/java.lang.reflect.Method.invoke(Method.java:569)
at [email protected]/java.util.ArrayList.forEach(ArrayList.java:1511)
at [email protected]/java.util.ArrayList.forEach(ArrayList.java:1511)
This PR add the "quarkus add" and "quarkus remove" to Dev UI. It allows you to browse (and search) for installable extensions in Dev UI and install them from Dev UI. It also adds a remove button on the details screen on the extension if it can be uninstalled.