-
Notifications
You must be signed in to change notification settings - Fork 3k
API to store real Runtime values #51209
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
base: main
Are you sure you want to change the base?
Conversation
dmlloyd
left a 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.
For compatibility reasons, these values are still exposed in a
ConfigSource, but at least internally, we can start dropping the use ofConfigdirectly and useRuntimeValuesinstead (might need a different name :)).
As stated in the review comments, I don't think this is necessary. The API can be introduced incrementally without doing a single thing to configuration one way or another.
This also includes a rewrite in Vertx HTTP to show how we would use the API with the HTTP ports, and the introduction of a proper (incomplete) API to retrieve the runtime ports instead of relying on
Config.
See my comments about registering port numbers versus socket addresses.
core/runtime/src/main/java/io/quarkus/runtime/RuntimeValues.java
Outdated
Show resolved
Hide resolved
core/runtime/src/main/java/io/quarkus/runtime/RuntimeValues.java
Outdated
Show resolved
Hide resolved
core/runtime/src/main/java/io/quarkus/runtime/RuntimeValues.java
Outdated
Show resolved
Hide resolved
core/runtime/src/main/java/io/quarkus/runtime/RuntimeValues.java
Outdated
Show resolved
Hide resolved
core/runtime/src/main/java/io/quarkus/runtime/RuntimeValues.java
Outdated
Show resolved
Hide resolved
core/runtime/src/main/java/io/quarkus/runtime/RuntimeValues.java
Outdated
Show resolved
Hide resolved
| public class RuntimeValuesConfigSource extends AbstractConfigSource { | ||
|
|
||
| public RuntimeValuesConfigSource() { | ||
| super("io.quarkus.runtime.RuntimeValuesConfigSource", Integer.MAX_VALUE - 10); | ||
| } | ||
|
|
||
| @Override | ||
| public Set<String> getPropertyNames() { | ||
| return Set.of(); | ||
| } | ||
|
|
||
| @Override | ||
| public String getValue(String propertyName) { | ||
| // TODO - avoid alloc for lookup | ||
| Object value = RuntimeValues.config().get(propertyName); | ||
| return value != null ? value.toString() : null; | ||
| } | ||
| } |
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 think this compatibility layer is completely unnecessary, and probably harmful. I would just introduce the new mechanism, by itself, and then slowly start moving things over to use it.
Changing the code to register things into the map does not break compatibility in any way. Then, changing code to read from the map also doesn't break anything.
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.
True, but that would mean that we would still have to keep the old mutations of the config in place:
https://github.com/quarkusio/quarkus/pull/51209/files#diff-902af2bee29f3da057d18e68c0836c03bcaeeff5e40e17524801c1261af1bc2fR1355-R1369
The goal here was also to have a way to get rid of this Config mutation. You still have it indirectly via this source, but I think it would be easier to get rid of it once we decide on what to do with the discovery mechanism.
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 agree we should get rid of the config mutations, however replacing one interim solution with another isn't worth it IMO. They don't have to be removed immediately as long as there is a plan to remove them eventually.
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.
This is a first step for eventually:
- We are going to touch on the same areas where the config mutations are happening to register the runtime values.
- We don't really have "an official" way to mutate the config, so there are plenty of solutions and workarounds around the code to achieve. This would be a single indirect way.
- This would give us a possible list of configuration names that users refer to (or we use internally), expecting certain values. We know some, but we don't know all. This could allow us to build such a list.
- With that list, we could start issuing warnings saying that the name shouldn't be accessed through
Configand point to the proper API. - It would be easier to remove once we have our complete solution without having to revisit all the places around the code again.
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.
OK. If you feel strongly about it, then I'm with you. But we do need to ensure the thread-safety of what's going on here.
| public static final RuntimeKey<Integer> HTTP_PORT = RuntimeKey.intKey("quarkus.http.port"); | ||
| public static final RuntimeKey<Integer> HTTP_TEST_PORT = RuntimeKey.intKey("quarkus.http.test-port"); | ||
| public static final RuntimeKey<Integer> HTTPS_PORT = RuntimeKey.intKey("quarkus.http.ssl-port"); | ||
| public static final RuntimeKey<Integer> HTTPS_TEST_PORT = RuntimeKey.intKey("quarkus.http.test-ssl-port"); | ||
| public static final RuntimeKey<Integer> MANAGEMENT_PORT = RuntimeKey.intKey("quarkus.management.port"); | ||
| public static final RuntimeKey<Integer> MANAGEMENT_TEST_PORT = RuntimeKey.intKey("quarkus.management.test-port"); |
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.
Wouldn't we want to store the actual socket address(es) rather than just the port number?
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.
Yes, this is something we can add. This was just to showcase it with the port number.
core/runtime/src/main/java/io/quarkus/runtime/RuntimeValues.java
Outdated
Show resolved
Hide resolved
core/runtime/src/main/java/io/quarkus/runtime/RuntimeValues.java
Outdated
Show resolved
Hide resolved
This comment has been minimized.
This comment has been minimized.
0f4e377 to
c8d2d14
Compare
This comment has been minimized.
This comment has been minimized.
|
Heads-up: the PR now has conflicts. |
|
Yes, I'll fix those. |
c8d2d14 to
2c210c6
Compare
Status for workflow
|
| Status | Name | Step | Failures | Logs | Raw logs | Build scan |
|---|---|---|---|---|---|---|
| ⌛ | JVM Tests - JDK 17 | Build |
Logs | Raw logs | 🚧 | |
| ⌛ | JVM Tests - JDK 21 | Build |
Logs | Raw logs | 🚧 | |
| ⌛ | JVM Tests - JDK 21 Semeru | Build |
Logs | Raw logs | 🚧 | |
| ⌛ | JVM Tests - JDK 25 | Build |
Logs | Raw logs | 🚧 | |
| ❌ | JVM Tests - JDK 17 Windows | Build |
Logs | Raw logs | 🚧 | |
| ❌ | Maven Tests - JDK 17 | Build |
Failures | Logs | Raw logs | 🔍 |
| ❌ | Maven Tests - JDK 21 Semeru | Build |
Failures | Logs | Raw logs | 🔍 |
| ❌ | Maven Tests - JDK 17 Windows | Build |
Failures | Logs | Raw logs | 🔍 |
| ⌛ | JVM Integration Tests - JDK 17 | Build |
Logs | Raw logs | 🚧 | |
| ❌ | JVM Integration Tests - JDK 17 Windows | Build |
Logs | Raw logs | 🚧 | |
| ⌛ | JVM Integration Tests - JDK 21 | Build |
Logs | Raw logs | 🚧 | |
| ⌛ | JVM Integration Tests - JDK 21 Semeru | Build |
Logs | Raw logs | 🚧 | |
| ⌛ | JVM Integration Tests - JDK 25 | Build |
Logs | Raw logs | 🚧 |
Full information is available in the Build summary check run.
You can consult the Develocity build scans.
Failures
⚙️ Maven Tests - JDK 17 #
- Failing: integration-tests/devmode integration-tests/maven
📦 integration-tests/devmode
❌ io.quarkus.test.no.src.main.NoSrcMainUnitTest. - History
📦 integration-tests/maven
❌ io.quarkus.maven.it.DevMojoIT.testTestProfilesAreHandled line 670 - History
❌ io.quarkus.maven.it.DevMojoIT.testTestProfilesAreHandled line 670 - History
❌ io.quarkus.maven.it.DevMojoIT.testThatJUnitTestTemplatesWork line 783 - History
❌ io.quarkus.maven.it.DevMojoIT.testThatJUnitTestTemplatesWork line 783 - History
❌ io.quarkus.maven.it.DevMojoIT.testThatTheApplicationIsReloadedMultiModule line 840 - History
❌ io.quarkus.maven.it.DevMojoIT.testThatTheApplicationIsReloadedMultiModule line 840 - History
❌ io.quarkus.maven.it.DevMojoIT.testThatTheTestsAreReRunMultiModule - History
❌ io.quarkus.maven.it.DevMojoIT.testThatTheTestsAreReRunMultiModule - History
❌ io.quarkus.maven.it.FastJarQuarkusIntegrationTestIT.testFastJar - History
❌ io.quarkus.maven.it.FastJarQuarkusIntegrationTestIT.testFastJar - History
❌ io.quarkus.maven.it.FastJarQuarkusIntegrationTestIT.testFastJarWithForceUseArtifactIdOnlyAsName - History
❌ io.quarkus.maven.it.FastJarQuarkusIntegrationTestIT.testFastJarWithForceUseArtifactIdOnlyAsName - History
❌ io.quarkus.maven.it.JarRunnerIT.testPlatformPropertiesOverridenInApplicationProperties - History
❌ io.quarkus.maven.it.JarRunnerIT.testPlatformPropertiesOverridenInApplicationProperties - History
❌ io.quarkus.maven.it.LegacyJarQuarkusIntegrationTestIT.testLegacyJar - History
❌ io.quarkus.maven.it.LegacyJarQuarkusIntegrationTestIT.testLegacyJar - History
❌ io.quarkus.maven.it.PackageIT.testExtensionRemovedResources line 127 - History
❌ io.quarkus.maven.it.PackageIT.testExtensionRemovedResources line 127 - History
❌ io.quarkus.maven.it.PackageIT.testExtensionTestWithNoMain line 135 - History
❌ io.quarkus.maven.it.PackageIT.testExtensionTestWithNoMain line 135 - History
❌ io.quarkus.maven.it.PackageIT.testMultiJarModulesPackage line 454 - History
❌ io.quarkus.maven.it.PackageIT.testMultiJarModulesPackage line 454 - History
❌ io.quarkus.maven.it.PackageIT.testPluginClasspathConfig line 119 - History
❌ io.quarkus.maven.it.PackageIT.testPluginClasspathConfig line 119 - History
❌ io.quarkus.maven.it.PackageIT.testQuarkusPackageOutputDirectory line 178 - History
❌ io.quarkus.maven.it.PackageIT.testQuarkusPackageOutputDirectory line 178 - History
❌ io.quarkus.maven.it.QuarkusTestIT.testNestedQuarkusTestMixedWithNormalTests line 72 - History
❌ io.quarkus.maven.it.QuarkusTestIT.testNestedQuarkusTestMixedWithNormalTests line 72 - History
❌ io.quarkus.maven.it.QuarkusTestIT.testNestedQuarkusTestMixedWithNormalTestsContinuousTesting line 89 - History
❌ io.quarkus.maven.it.QuarkusTestIT.testNestedQuarkusTestMixedWithNormalTestsContinuousTesting line 89 - History
❌ io.quarkus.maven.it.QuarkusTestIT.testQuarkusTestGuardedByCondition line 192 - History
❌ io.quarkus.maven.it.QuarkusTestIT.testQuarkusTestGuardedByCondition line 192 - History
❌ io.quarkus.maven.it.QuarkusTestIT.testQuarkusTestInMetaInfServicesNormalTesting line 157 - History
❌ io.quarkus.maven.it.QuarkusTestIT.testQuarkusTestInMetaInfServicesNormalTesting line 157 - History
❌ io.quarkus.maven.it.QuarkusTestIT.testQuarkusTestInProjectWithJUnitProperties line 247 - History
❌ io.quarkus.maven.it.QuarkusTestIT.testQuarkusTestInProjectWithJUnitProperties line 247 - History
❌ io.quarkus.maven.it.QuarkusTestIT.testQuarkusTestInProjectWithJUnitPropertiesContinuousTesting line 264 - History
❌ io.quarkus.maven.it.QuarkusTestIT.testQuarkusTestInProjectWithJUnitPropertiesContinuousTesting line 264 - History
❌ io.quarkus.maven.it.QuarkusTestIT.testQuarkusTestWithConfigInTestProfile line 229 - History
❌ io.quarkus.maven.it.QuarkusTestIT.testQuarkusTestWithConfigInTestProfile line 229 - History
❌ io.quarkus.maven.it.QuarkusTestIT.testQuarkusTestWithConfigInTestProfileContinuousTesting line 212 - History
❌ io.quarkus.maven.it.QuarkusTestIT.testQuarkusTestWithConfigInTestProfileContinuousTesting line 212 - History
❌ io.quarkus.maven.it.QuarkusTestIT.testQuarkusTestWithThirdPartyExtension line 56 - History
❌ io.quarkus.maven.it.QuarkusTestIT.testQuarkusTestWithThirdPartyExtension line 56 - History
❌ io.quarkus.maven.it.QuarkusTestIT.testQuarkusTestWithThirdPartyExtensionContinuousTesting line 39 - History
❌ io.quarkus.maven.it.QuarkusTestIT.testQuarkusTestWithThirdPartyExtensionContinuousTesting line 39 - History
❌ io.quarkus.maven.it.QuestionMarkInPathIntegrationTestIT.testFastJar - History
❌ io.quarkus.maven.it.QuestionMarkInPathIntegrationTestIT.testFastJar - History
❌ io.quarkus.maven.it.QuestionMarkInPathIntegrationTestIT.testLegacyJar - History
❌ io.quarkus.maven.it.QuestionMarkInPathIntegrationTestIT.testLegacyJar - History
❌ io.quarkus.maven.it.QuestionMarkInPathIntegrationTestIT.testUberJar - History
❌ io.quarkus.maven.it.QuestionMarkInPathIntegrationTestIT.testUberJar - History
❌ io.quarkus.maven.it.SurefireRerunFailedTestsIT.testFlakyTestsInMultipleProfileCase line 58 - History
❌ io.quarkus.maven.it.SurefireRerunFailedTestsIT.testFlakyTestsInMultipleProfileCase line 58 - History
❌ io.quarkus.maven.it.SurefireRerunFailedTestsIT.testFlakyTestsInSingleProfileCase line 37 - History
❌ io.quarkus.maven.it.SurefireRerunFailedTestsIT.testFlakyTestsInSingleProfileCase line 37 - History
❌ io.quarkus.maven.it.TestMojoIT.testSelection - History
❌ io.quarkus.maven.it.TestMojoIT.testSelection - History
❌ io.quarkus.maven.it.TestMojoIT.testThatTheTestsAreReRunMultiModule - History
❌ io.quarkus.maven.it.TestMojoIT.testThatTheTestsAreReRunMultiModule - History
❌ io.quarkus.maven.it.UberJarQuarkusIntegrationTestIT.testUberJar - History
❌ io.quarkus.maven.it.UberJarQuarkusIntegrationTestIT.testUberJar - History
❌ io.quarkus.maven.it.VerifyIT.testTestsInJar line 41 - History
❌ io.quarkus.maven.it.VerifyIT.testTestsInJar line 41 - History
📦 integration-tests/maven/target/test-classes/projects/extension-removed-resources/runner
❌ org.acme.MetaInfResourceTest.testMetaInfA - History
📦 integration-tests/maven/target/test-classes/projects/extension-test-with-no-main/integration-tests
❌ org.example.ExampleTest.test - History
📦 integration-tests/maven/target/test-classes/projects/multijar-module-package/runner
❌ org.acme.ResourceTest.testHelloEndpoint - History
📦 integration-tests/maven/target/test-classes/projects/platform-props-overriden-in-app-props/app
❌ org.acme.quarkus.sample.HelloResourceTest.testHelloEndpoint - History
📦 integration-tests/maven/target/test-classes/projects/qit--fast--jar
❌ org.acme.reactive.routes.RouteTest.testDeclarativeRoutes - History
📦 integration-tests/maven/target/test-classes/projects/qit--legacy--jar
❌ org.acme.reactive.routes.RouteTest.testDeclarativeRoutes - History
📦 integration-tests/maven/target/test-classes/projects/qit--uber--jar
❌ org.acme.reactive.routes.RouteTest.testDeclarativeRoutes - History
📦 integration-tests/maven/target/test-classes/projects/qit-fast-jar
❌ org.acme.reactive.routes.RouteTest.testDeclarativeRoutes - History
📦 integration-tests/maven/target/test-classes/projects/qit-fast-jar-forceUseArtifactId
❌ org.acme.reactive.routes.RouteTest.testDeclarativeRoutes - History
📦 integration-tests/maven/target/test-classes/projects/qit-legacy-jar
❌ org.acme.reactive.routes.RouteTest.testDeclarativeRoutes - History
📦 integration-tests/maven/target/test-classes/projects/qit-uber-jar
❌ org.acme.reactive.routes.RouteTest.testDeclarativeRoutes - History
📦 integration-tests/maven/target/test-classes/projects/quarkus.package.output-directory
❌ org.acme.HelloResourceTest.testHelloEndpoint - History
📦 integration-tests/maven/target/test-classes/projects/quarkustest-added-with-serviceloader-processed/runner
❌ org.acme.tck.HelloResourceTest.testHelloEndpoint - History
📦 integration-tests/maven/target/test-classes/projects/test-config-in-test-profile-processed
❌ org.acme.HelloResourceTest.testHelloEndpoint - History
❌ org.acme.HelloResourceWithProfileTest.testHelloEndpoint - History
📦 integration-tests/maven/target/test-classes/projects/test-flaky-test-multiple-profiles-processed
❌ org.acme.FlakyHelloResourceWithAnotherProfileTest.testHelloEndpoint - History
❌ org.acme.FlakyHelloResourceWithSomeProfileTest.testHelloEndpoint - History
📦 integration-tests/maven/target/test-classes/projects/test-flaky-test-single-profile-processed
❌ org.acme.FlakyHelloResourceTest.testHelloEndpoint - History
📦 integration-tests/maven/target/test-classes/projects/test-nested-tests-mixed-with-normal-tests-processed
❌ org.acme.HelloResourceTest$NestedInnerClass.testHelloEndpoint - History
📦 integration-tests/maven/target/test-classes/projects/test-plugin-classpath-config/runner
❌ org.acme.GreetingResourceTest.testHelloEndpoint - History
📦 integration-tests/maven/target/test-classes/projects/test-test-conditions-processed
❌ org.acme.GreetingResourceTest.testThatAlwaysRuns - History
📦 integration-tests/maven/target/test-classes/projects/test-tests-in-project-with-junit-properties-file-processed
❌ org.acme.HelloResourceTest.testHelloEndpoint - History
📦 integration-tests/maven/target/test-classes/projects/test-third-party-junit-extension-processed
❌ org.acme.ExampleTest.testSomething - History
📦 integration-tests/maven/target/test-classes/projects/tests-in-jar-processed
❌ org.acme.HelloResourceFromJarTest.testHelloEndpoint - History
⚙️ Maven Tests - JDK 21 Semeru #
- Failing: integration-tests/devmode integration-tests/maven
📦 integration-tests/devmode
❌ io.quarkus.test.no.src.main.NoSrcMainUnitTest. - History
📦 integration-tests/maven
❌ io.quarkus.maven.it.DevMojoIT.testTestProfilesAreHandled line 670 - History
❌ io.quarkus.maven.it.DevMojoIT.testTestProfilesAreHandled line 670 - History
❌ io.quarkus.maven.it.DevMojoIT.testThatJUnitTestTemplatesWork line 783 - History
❌ io.quarkus.maven.it.DevMojoIT.testThatJUnitTestTemplatesWork line 783 - History
❌ io.quarkus.maven.it.DevMojoIT.testThatTheApplicationIsReloadedMultiModule line 840 - History
❌ io.quarkus.maven.it.DevMojoIT.testThatTheApplicationIsReloadedMultiModule line 840 - History
❌ io.quarkus.maven.it.DevMojoIT.testThatTheTestsAreReRunMultiModule - History
❌ io.quarkus.maven.it.DevMojoIT.testThatTheTestsAreReRunMultiModule - History
❌ io.quarkus.maven.it.FastJarQuarkusIntegrationTestIT.testFastJar - History
❌ io.quarkus.maven.it.FastJarQuarkusIntegrationTestIT.testFastJar - History
❌ io.quarkus.maven.it.FastJarQuarkusIntegrationTestIT.testFastJarWithForceUseArtifactIdOnlyAsName - History
❌ io.quarkus.maven.it.FastJarQuarkusIntegrationTestIT.testFastJarWithForceUseArtifactIdOnlyAsName - History
❌ io.quarkus.maven.it.JarRunnerIT.testPlatformPropertiesOverridenInApplicationProperties - History
❌ io.quarkus.maven.it.JarRunnerIT.testPlatformPropertiesOverridenInApplicationProperties - History
❌ io.quarkus.maven.it.LegacyJarQuarkusIntegrationTestIT.testLegacyJar - History
❌ io.quarkus.maven.it.LegacyJarQuarkusIntegrationTestIT.testLegacyJar - History
❌ io.quarkus.maven.it.PackageIT.testExtensionRemovedResources line 127 - History
❌ io.quarkus.maven.it.PackageIT.testExtensionRemovedResources line 127 - History
❌ io.quarkus.maven.it.PackageIT.testExtensionTestWithNoMain line 135 - History
❌ io.quarkus.maven.it.PackageIT.testExtensionTestWithNoMain line 135 - History
❌ io.quarkus.maven.it.PackageIT.testMultiJarModulesPackage line 454 - History
❌ io.quarkus.maven.it.PackageIT.testMultiJarModulesPackage line 454 - History
❌ io.quarkus.maven.it.PackageIT.testPluginClasspathConfig line 119 - History
❌ io.quarkus.maven.it.PackageIT.testPluginClasspathConfig line 119 - History
❌ io.quarkus.maven.it.PackageIT.testQuarkusPackageOutputDirectory line 178 - History
❌ io.quarkus.maven.it.PackageIT.testQuarkusPackageOutputDirectory line 178 - History
❌ io.quarkus.maven.it.QuarkusTestIT.testNestedQuarkusTestMixedWithNormalTests line 72 - History
❌ io.quarkus.maven.it.QuarkusTestIT.testNestedQuarkusTestMixedWithNormalTests line 72 - History
❌ io.quarkus.maven.it.QuarkusTestIT.testNestedQuarkusTestMixedWithNormalTestsContinuousTesting line 89 - History
❌ io.quarkus.maven.it.QuarkusTestIT.testNestedQuarkusTestMixedWithNormalTestsContinuousTesting line 89 - History
❌ io.quarkus.maven.it.QuarkusTestIT.testQuarkusTestGuardedByCondition line 192 - History
❌ io.quarkus.maven.it.QuarkusTestIT.testQuarkusTestGuardedByCondition line 192 - History
❌ io.quarkus.maven.it.QuarkusTestIT.testQuarkusTestInMetaInfServicesNormalTesting line 157 - History
❌ io.quarkus.maven.it.QuarkusTestIT.testQuarkusTestInMetaInfServicesNormalTesting line 157 - History
❌ io.quarkus.maven.it.QuarkusTestIT.testQuarkusTestInProjectWithJUnitProperties line 247 - History
❌ io.quarkus.maven.it.QuarkusTestIT.testQuarkusTestInProjectWithJUnitProperties line 247 - History
❌ io.quarkus.maven.it.QuarkusTestIT.testQuarkusTestInProjectWithJUnitPropertiesContinuousTesting line 264 - History
❌ io.quarkus.maven.it.QuarkusTestIT.testQuarkusTestInProjectWithJUnitPropertiesContinuousTesting line 264 - History
❌ io.quarkus.maven.it.QuarkusTestIT.testQuarkusTestWithConfigInTestProfile line 229 - History
❌ io.quarkus.maven.it.QuarkusTestIT.testQuarkusTestWithConfigInTestProfile line 229 - History
❌ io.quarkus.maven.it.QuarkusTestIT.testQuarkusTestWithConfigInTestProfileContinuousTesting line 212 - History
❌ io.quarkus.maven.it.QuarkusTestIT.testQuarkusTestWithConfigInTestProfileContinuousTesting line 212 - History
❌ io.quarkus.maven.it.QuarkusTestIT.testQuarkusTestWithThirdPartyExtension line 56 - History
❌ io.quarkus.maven.it.QuarkusTestIT.testQuarkusTestWithThirdPartyExtension line 56 - History
❌ io.quarkus.maven.it.QuarkusTestIT.testQuarkusTestWithThirdPartyExtensionContinuousTesting line 39 - History
❌ io.quarkus.maven.it.QuarkusTestIT.testQuarkusTestWithThirdPartyExtensionContinuousTesting line 39 - History
❌ io.quarkus.maven.it.QuestionMarkInPathIntegrationTestIT.testFastJar - History
❌ io.quarkus.maven.it.QuestionMarkInPathIntegrationTestIT.testFastJar - History
❌ io.quarkus.maven.it.QuestionMarkInPathIntegrationTestIT.testLegacyJar - History
❌ io.quarkus.maven.it.QuestionMarkInPathIntegrationTestIT.testLegacyJar - History
❌ io.quarkus.maven.it.QuestionMarkInPathIntegrationTestIT.testUberJar - History
❌ io.quarkus.maven.it.QuestionMarkInPathIntegrationTestIT.testUberJar - History
❌ io.quarkus.maven.it.SurefireRerunFailedTestsIT.testFlakyTestsInMultipleProfileCase line 58 - History
❌ io.quarkus.maven.it.SurefireRerunFailedTestsIT.testFlakyTestsInMultipleProfileCase line 58 - History
❌ io.quarkus.maven.it.SurefireRerunFailedTestsIT.testFlakyTestsInSingleProfileCase line 37 - History
❌ io.quarkus.maven.it.SurefireRerunFailedTestsIT.testFlakyTestsInSingleProfileCase line 37 - History
❌ io.quarkus.maven.it.TestMojoIT.testSelection - History
❌ io.quarkus.maven.it.TestMojoIT.testSelection - History
❌ io.quarkus.maven.it.TestMojoIT.testThatTheTestsAreReRunMultiModule - History
❌ io.quarkus.maven.it.TestMojoIT.testThatTheTestsAreReRunMultiModule - History
❌ io.quarkus.maven.it.UberJarQuarkusIntegrationTestIT.testUberJar - History
❌ io.quarkus.maven.it.UberJarQuarkusIntegrationTestIT.testUberJar - History
❌ io.quarkus.maven.it.VerifyIT.testTestsInJar line 41 - History
❌ io.quarkus.maven.it.VerifyIT.testTestsInJar line 41 - History
📦 integration-tests/maven/target/test-classes/projects/extension-removed-resources/runner
❌ org.acme.MetaInfResourceTest.testMetaInfA - History
📦 integration-tests/maven/target/test-classes/projects/extension-test-with-no-main/integration-tests
❌ org.example.ExampleTest.test - History
📦 integration-tests/maven/target/test-classes/projects/multijar-module-package/runner
❌ org.acme.ResourceTest.testHelloEndpoint - History
📦 integration-tests/maven/target/test-classes/projects/platform-props-overriden-in-app-props/app
❌ org.acme.quarkus.sample.HelloResourceTest.testHelloEndpoint - History
📦 integration-tests/maven/target/test-classes/projects/qit--fast--jar
❌ org.acme.reactive.routes.RouteTest.testDeclarativeRoutes - History
📦 integration-tests/maven/target/test-classes/projects/qit--legacy--jar
❌ org.acme.reactive.routes.RouteTest.testDeclarativeRoutes - History
📦 integration-tests/maven/target/test-classes/projects/qit--uber--jar
❌ org.acme.reactive.routes.RouteTest.testDeclarativeRoutes - History
📦 integration-tests/maven/target/test-classes/projects/qit-fast-jar
❌ org.acme.reactive.routes.RouteTest.testDeclarativeRoutes - History
📦 integration-tests/maven/target/test-classes/projects/qit-fast-jar-forceUseArtifactId
❌ org.acme.reactive.routes.RouteTest.testDeclarativeRoutes - History
📦 integration-tests/maven/target/test-classes/projects/qit-legacy-jar
❌ org.acme.reactive.routes.RouteTest.testDeclarativeRoutes - History
📦 integration-tests/maven/target/test-classes/projects/qit-uber-jar
❌ org.acme.reactive.routes.RouteTest.testDeclarativeRoutes - History
📦 integration-tests/maven/target/test-classes/projects/quarkus.package.output-directory
❌ org.acme.HelloResourceTest.testHelloEndpoint - History
📦 integration-tests/maven/target/test-classes/projects/quarkustest-added-with-serviceloader-processed/runner
❌ org.acme.tck.HelloResourceTest.testHelloEndpoint - History
📦 integration-tests/maven/target/test-classes/projects/test-config-in-test-profile-processed
❌ org.acme.HelloResourceTest.testHelloEndpoint - History
❌ org.acme.HelloResourceWithProfileTest.testHelloEndpoint - History
📦 integration-tests/maven/target/test-classes/projects/test-flaky-test-multiple-profiles-processed
❌ org.acme.FlakyHelloResourceWithAnotherProfileTest.testHelloEndpoint - History
❌ org.acme.FlakyHelloResourceWithSomeProfileTest.testHelloEndpoint - History
📦 integration-tests/maven/target/test-classes/projects/test-flaky-test-single-profile-processed
❌ org.acme.FlakyHelloResourceTest.testHelloEndpoint - History
📦 integration-tests/maven/target/test-classes/projects/test-nested-tests-mixed-with-normal-tests-processed
❌ org.acme.HelloResourceTest$NestedInnerClass.testHelloEndpoint - History
📦 integration-tests/maven/target/test-classes/projects/test-plugin-classpath-config/runner
❌ org.acme.GreetingResourceTest.testHelloEndpoint - History
📦 integration-tests/maven/target/test-classes/projects/test-test-conditions-processed
❌ org.acme.GreetingResourceTest.testThatAlwaysRuns - History
📦 integration-tests/maven/target/test-classes/projects/test-tests-in-project-with-junit-properties-file-processed
❌ org.acme.HelloResourceTest.testHelloEndpoint - History
📦 integration-tests/maven/target/test-classes/projects/test-third-party-junit-extension-processed
❌ org.acme.ExampleTest.testSomething - History
📦 integration-tests/maven/target/test-classes/projects/tests-in-jar-processed
❌ org.acme.HelloResourceFromJarTest.testHelloEndpoint - History
⚙️ Maven Tests - JDK 17 Windows #
- Failing: integration-tests/maven
📦 integration-tests/maven
❌ io.quarkus.maven.it.DevMojoIT.testTestProfilesAreHandled line 689 - History
❌ io.quarkus.maven.it.DevMojoIT.testTestProfilesAreHandled line 689 - History
❌ io.quarkus.maven.it.DevMojoIT.testThatTheApplicationIsReloadedMultiModule line 858 - History
❌ io.quarkus.maven.it.DevMojoIT.testThatTheApplicationIsReloadedMultiModule line 858 - History
❌ io.quarkus.maven.it.DevMojoIT.testThatTheTestsAreReRunMultiModule - History
❌ io.quarkus.maven.it.DevMojoIT.testThatTheTestsAreReRunMultiModule - History
❌ io.quarkus.maven.it.SurefireRerunFailedTestsIT.testFlakyTestsInMultipleProfileCase line 58 - History
❌ io.quarkus.maven.it.SurefireRerunFailedTestsIT.testFlakyTestsInMultipleProfileCase line 58 - History
❌ io.quarkus.maven.it.SurefireRerunFailedTestsIT.testFlakyTestsInSingleProfileCase line 34 - History
❌ io.quarkus.maven.it.SurefireRerunFailedTestsIT.testFlakyTestsInSingleProfileCase line 34 - History
❌ io.quarkus.maven.it.TestMojoIT.testThatTheTestsAreReRunMultiModule - History
❌ io.quarkus.maven.it.TestMojoIT.testThatTheTestsAreReRunMultiModule - History
📦 integration-tests/maven/target/test-classes/projects/test-flaky-test-multiple-profiles-processed
❌ org.acme.FlakyHelloResourceWithAnotherProfileTest.testHelloEndpoint line 35 - History
📦 integration-tests/maven/target/test-classes/projects/test-flaky-test-single-profile-processed
❌ org.acme.FlakyHelloResourceTest.testHelloEndpoint - History
Flaky tests - Develocity
⚙️ Maven Tests - JDK 17 Windows
📦 integration-tests/maven
❌ io.quarkus.maven.it.TestMojoIT.testSelection - History
expected: <7> but was: <0>-org.opentest4j.AssertionFailedError
❌ io.quarkus.maven.it.TestMojoIT.testSelection - History
expected: <7> but was: <0>-org.opentest4j.AssertionFailedError
Following the lengthy discussion at #46915, this is a proposal to introduce a separate API for registering and retrieving values that are only known at runtime and differ from the original configured values.
For compatibility reasons, these values are still exposed in a
ConfigSource, but at least internally, we can start dropping the use ofConfigdirectly and useRuntimeValuesinstead (might need a different name :)).This also includes a rewrite in Vertx HTTP to show how we would use the API with the HTTP ports, and the introduction of a proper (incomplete) API to retrieve the runtime ports instead of relying on
Config.