Skip to content

Commit 7ec1f8c

Browse files
authored
Merge branch 'main' into jackson_pool
2 parents e203777 + bc9e7ef commit 7ec1f8c

File tree

74 files changed

+1903
-784
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+1903
-784
lines changed

.github/dependabot.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,6 @@ updates:
6060
- dependency-name: io.smallrye.common:*
6161
- dependency-name: io.smallrye.config:*
6262
- dependency-name: io.smallrye.reactive:*
63-
# Swagger-UI
64-
- dependency-name: org.webjars:swagger-ui
6563
# RX Java 2
6664
- dependency-name: io.reactivex.rxjava2:rxjava
6765
# Test dependencies

.github/virtual-threads-tests.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
{
44
"category": "Main",
55
"timeout": 50,
6-
"test-modules": "grpc-virtual-threads, mailer-virtual-threads, redis-virtual-threads, rest-client-reactive-virtual-threads, resteasy-reactive-virtual-threads, vertx-event-bus-virtual-threads, scheduler-virtual-threads, quartz-virtual-threads",
6+
"test-modules": "virtual-threads-disabled, grpc-virtual-threads, mailer-virtual-threads, redis-virtual-threads, rest-client-reactive-virtual-threads, resteasy-reactive-virtual-threads, vertx-event-bus-virtual-threads, scheduler-virtual-threads, quartz-virtual-threads",
77
"os-name": "ubuntu-latest"
88
},
99
{

.github/workflows/ci-actions-incremental.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -754,8 +754,9 @@ jobs:
754754
steps:
755755
- name: Gradle Enterprise environment
756756
run: |
757-
echo "GE_TAGS=jdk-${{matrix.java.name}}" >> "$GITHUB_ENV"
758-
echo "GE_CUSTOM_VALUES=gh-job-name=Virtual Thread Support Tests Native - ${{matrix.category}}" >> "$GITHUB_ENV"
757+
category=$(echo -n '${{matrix.category}}' | tr '[:upper:]' '[:lower:]' | tr -c '[:alnum:]-' '-' | sed -E 's/-+/-/g')
758+
echo "GE_TAGS=virtual-thread-native-${category}" >> "$GITHUB_ENV"
759+
echo "GE_CUSTOM_VALUES=gh-job-name=Native Tests - Virtual Thread - ${{matrix.category}}" >> "$GITHUB_ENV"
759760
- uses: actions/checkout@v3
760761
- name: Restore Maven Repository
761762
uses: actions/cache/restore@v3
@@ -881,7 +882,8 @@ jobs:
881882
steps:
882883
- name: Gradle Enterprise environment
883884
run: |
884-
echo "GE_TAGS=jdk-${{matrix.java.name}}" >> "$GITHUB_ENV"
885+
category=$(echo -n '${{matrix.category}}' | tr '[:upper:]' '[:lower:]' | tr -c '[:alnum:]-' '-' | sed -E 's/-+/-/g')
886+
echo "GE_TAGS=native-${category}" >> "$GITHUB_ENV"
885887
echo "GE_CUSTOM_VALUES=gh-job-name=Native Tests - ${{matrix.category}}" >> "$GITHUB_ENV"
886888
- name: Support longpaths on Windows
887889
if: "startsWith(matrix.os-name, 'windows')"

.mvn/gradle-enterprise.xml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,6 @@
2626
<enabled>false</enabled>
2727
</local>
2828
<remote>
29-
<server>
30-
<url>https://ge.quarkus.io/cache/main/</url>
31-
<allowUntrusted>false</allowUntrusted>
32-
</server>
3329
<enabled>true</enabled>
3430
<storeEnabled>#{env['CI'] != null}</storeEnabled>
3531
</remote>

ADOPTERS.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ If any organization would like get added or removed please make a pull request b
2323
|GoWithFlow | https://quarkus.io/blog/gowithflow-chooses-quarkus-to-deliver-fast-to-production/ |
2424
|Lufthansa Technik | https://quarkus.io/blog/aviatar-experiences-significant-savings/ |
2525
|Logicdrop | https://quarkus.io/blog/logicdrop-customer-story/ |
26+
|[Microcks](https://landscape.cncf.io/?selected=microcks) | https://itnext.io/mocking-and-contract-testing-in-your-inner-loop-with-microcks-part-3-quarkus-devservice-ftw-a14b807737be |
2627
|Payair | https://quarkus.io/blog/why-did-payair-technologies-switch-to-quarkus/ |
2728
|Sedona | https://quarkus.io/blog/sedona-rewrites-insurance-premium/ |
2829
|Stargate | https://quarkus.io/blog/stargate-selects-quarkus-for-its-v2-implementation/ |

bom/application/pom.xml

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -54,15 +54,15 @@
5454
<smallrye-config.version>3.3.4</smallrye-config.version>
5555
<smallrye-health.version>4.0.4</smallrye-health.version>
5656
<smallrye-metrics.version>4.0.0</smallrye-metrics.version>
57-
<smallrye-open-api.version>3.5.1</smallrye-open-api.version>
57+
<smallrye-open-api.version>3.5.2</smallrye-open-api.version>
5858
<smallrye-graphql.version>2.4.0</smallrye-graphql.version>
5959
<smallrye-opentracing.version>3.0.3</smallrye-opentracing.version>
6060
<smallrye-fault-tolerance.version>6.2.6</smallrye-fault-tolerance.version>
6161
<smallrye-jwt.version>4.3.0</smallrye-jwt.version>
6262
<smallrye-context-propagation.version>2.1.0</smallrye-context-propagation.version>
6363
<smallrye-reactive-streams-operators.version>1.0.13</smallrye-reactive-streams-operators.version>
6464
<smallrye-reactive-types-converter.version>3.0.0</smallrye-reactive-types-converter.version>
65-
<smallrye-mutiny-vertx-binding.version>3.5.0</smallrye-mutiny-vertx-binding.version>
65+
<smallrye-mutiny-vertx-binding.version>3.6.0</smallrye-mutiny-vertx-binding.version>
6666
<smallrye-reactive-messaging.version>4.9.0</smallrye-reactive-messaging.version>
6767
<smallrye-stork.version>2.3.1</smallrye-stork.version>
6868
<jakarta.activation.version>2.1.2</jakarta.activation.version>
@@ -91,7 +91,7 @@
9191
<maven-toolchain.version>3.0-alpha-2</maven-toolchain.version>
9292
<plexus-component-annotations.version>2.1.0</plexus-component-annotations.version>
9393
<graal-sdk.version>23.0.1</graal-sdk.version>
94-
<gizmo.version>1.6.1.Final</gizmo.version>
94+
<gizmo.version>1.7.0</gizmo.version>
9595
<jackson-bom.version>2.16.0-SNAPSHOT</jackson-bom.version>
9696
<commons-logging-jboss-logging.version>1.0.0.Final</commons-logging-jboss-logging.version>
9797
<commons-lang3.version>3.12.0</commons-lang3.version>
@@ -146,7 +146,7 @@
146146
<brotli4j.version>1.12.0</brotli4j.version>
147147
<reactive-streams.version>1.0.4</reactive-streams.version>
148148
<jboss-logging.version>3.5.3.Final</jboss-logging.version>
149-
<mutiny.version>2.3.1</mutiny.version>
149+
<mutiny.version>2.4.0</mutiny.version>
150150
<kafka3.version>3.5.1</kafka3.version>
151151
<lz4.version>1.8.0</lz4.version> <!-- dependency of the kafka-clients that could be overridden by other imported BOMs in the platform -->
152152
<snappy.version>1.1.10.1</snappy.version>
@@ -168,7 +168,9 @@
168168
<jboss-logmanager.version>3.0.2.Final</jboss-logmanager.version>
169169
<flyway.version>9.21.2</flyway.version>
170170
<yasson.version>3.0.3</yasson.version>
171-
<liquibase.version>4.20.0</liquibase.version>
171+
<!-- liquibase-mongodb is not released everytime with liquibase anymore, but the two versions need to be compatible -->
172+
<liquibase.version>4.23.1</liquibase.version>
173+
<liquibase-mongodb.version>4.23.0</liquibase-mongodb.version>
172174
<snakeyaml.version>2.1</snakeyaml.version>
173175
<osgi.version>6.0.0</osgi.version>
174176
<mongo-client.version>4.10.2</mongo-client.version>
@@ -5893,6 +5895,10 @@
58935895
<groupId>javax.xml.bind</groupId>
58945896
<artifactId>jaxb-api</artifactId>
58955897
</exclusion>
5898+
<exclusion>
5899+
<groupId>javax.activation</groupId>
5900+
<artifactId>*</artifactId>
5901+
</exclusion>
58965902
</exclusions>
58975903
</dependency>
58985904
<!-- liquibase-core has a dependency on org.osgi:osgi.core -->
@@ -5904,7 +5910,7 @@
59045910
<dependency>
59055911
<groupId>org.liquibase.ext</groupId>
59065912
<artifactId>liquibase-mongodb</artifactId>
5907-
<version>${liquibase.version}</version>
5913+
<version>${liquibase-mongodb.version}</version>
59085914
<exclusions>
59095915
<exclusion>
59105916
<groupId>org.codehaus.groovy</groupId>

core/deployment/src/main/java/io/quarkus/deployment/pkg/steps/NativeImageBuildStep.java

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -713,7 +713,7 @@ public NativeImageInvokerInfo build() {
713713
}
714714
final String includeLocales = LocaleProcessor.nativeImageIncludeLocales(nativeConfig, localesBuildTimeConfig);
715715
if (!includeLocales.isEmpty()) {
716-
nativeImageArgs.add("-H:IncludeLocales=" + includeLocales);
716+
addExperimentalVMOption(nativeImageArgs, "-H:IncludeLocales=" + includeLocales);
717717
}
718718

719719
nativeImageArgs.add("-J-Dfile.encoding=" + nativeConfig.fileEncoding());
@@ -744,7 +744,7 @@ public NativeImageInvokerInfo build() {
744744
* {@code handleAdditionalProperties(nativeImageArgs)} to ensure that devs and advanced users can
745745
* override it by passing -Dquarkus.native.additional-build-args=-H:+ParseOnce
746746
*/
747-
nativeImageArgs.add("-H:-ParseOnce");
747+
addExperimentalVMOption(nativeImageArgs, "-H:-ParseOnce");
748748
}
749749

750750
if (nativeConfig.debug().enabled() && graalVMVersion.compareTo(GraalVM.Version.VERSION_23_0_0) >= 0) {
@@ -756,9 +756,9 @@ public NativeImageInvokerInfo build() {
756756
*
757757
* See https://github.com/quarkusio/quarkus/issues/30772 for more details.
758758
*/
759-
nativeImageArgs.add("-H:+TrackNodeSourcePosition");
759+
addExperimentalVMOption(nativeImageArgs, "-H:+TrackNodeSourcePosition");
760760
/* See https://github.com/Karm/mandrel-integration-tests/issues/154 for more details. */
761-
nativeImageArgs.add("-H:+DebugCodeInfoUseSourceMappings");
761+
addExperimentalVMOption(nativeImageArgs, "-H:+DebugCodeInfoUseSourceMappings");
762762
}
763763

764764
/**
@@ -780,7 +780,7 @@ public NativeImageInvokerInfo build() {
780780
nativeImageArgs.add("-J--add-opens=java.base/java.util=ALL-UNNAMED");
781781

782782
if (nativeConfig.enableReports()) {
783-
nativeImageArgs.add("-H:PrintAnalysisCallTreeType=CSV");
783+
addExperimentalVMOption(nativeImageArgs, "-H:PrintAnalysisCallTreeType=CSV");
784784
}
785785

786786
// only available in GraalVM 22.3.0+.
@@ -829,7 +829,7 @@ public NativeImageInvokerInfo build() {
829829
}
830830
if (nativeConfig.debug().enabled()) {
831831
nativeImageArgs.add("-g");
832-
nativeImageArgs.add("-H:DebugInfoSourceSearchPath=" + APP_SOURCES);
832+
addExperimentalVMOption(nativeImageArgs, "-H:DebugInfoSourceSearchPath=" + APP_SOURCES);
833833
}
834834
if (nativeConfig.debugBuildProcess()) {
835835
String debugBuildProcessHost;
@@ -864,14 +864,14 @@ public NativeImageInvokerInfo build() {
864864
nativeImageArgs.add("--enable-url-protocols=" + String.join(",", protocols));
865865
}
866866
if (!inlineBeforeAnalysis) {
867-
nativeImageArgs.add("-H:-InlineBeforeAnalysis");
867+
addExperimentalVMOption(nativeImageArgs, "-H:-InlineBeforeAnalysis");
868868
}
869869
if (!pie.isEmpty()) {
870870
nativeImageArgs.add("-H:NativeLinkerOption=" + pie);
871871
}
872872

873873
if (!nativeConfig.enableIsolates()) {
874-
nativeImageArgs.add("-H:-SpawnIsolates");
874+
addExperimentalVMOption(nativeImageArgs, "-H:-SpawnIsolates");
875875
}
876876
if (!nativeConfig.enableJni()) {
877877
log.warn(
@@ -887,7 +887,7 @@ public NativeImageInvokerInfo build() {
887887
+ " will be removed in a future Quarkus version.");
888888
}
889889
if (nativeConfig.enableVmInspection()) {
890-
nativeImageArgs.add("-H:+AllowVMInspection");
890+
addExperimentalVMOption(nativeImageArgs, "-H:+AllowVMInspection");
891891
}
892892

893893
if (nativeConfig.monitoring().isPresent()) {
@@ -914,15 +914,16 @@ public NativeImageInvokerInfo build() {
914914
}
915915

916916
if (nativeConfig.enableDashboardDump()) {
917-
nativeImageArgs.add("-H:DashboardDump=" + outputTargetBuildItem.getBaseName() + "_dashboard.dump");
918-
nativeImageArgs.add("-H:+DashboardAll");
917+
addExperimentalVMOption(nativeImageArgs,
918+
"-H:DashboardDump=" + outputTargetBuildItem.getBaseName() + "_dashboard.dump");
919+
addExperimentalVMOption(nativeImageArgs, "-H:+DashboardAll");
919920
}
920921

921922
if (nativeImageSecurityProviders != null && !nativeImageSecurityProviders.isEmpty()) {
922923
String additionalSecurityProviders = nativeImageSecurityProviders.stream()
923924
.map(p -> p.getSecurityProvider())
924925
.collect(Collectors.joining(","));
925-
nativeImageArgs.add("-H:AdditionalSecurityProviders=" + additionalSecurityProviders);
926+
addExperimentalVMOption(nativeImageArgs, "-H:AdditionalSecurityProviders=" + additionalSecurityProviders);
926927
}
927928

928929
if (jpmsExports != null) {
@@ -1004,7 +1005,7 @@ private void handleAdditionalProperties(List<String> command) {
10041005
+ CONTAINER_BUILD_VOLUME_PATH + "/" + MOVED_TRUST_STORE_NAME);
10051006
} catch (IOException e) {
10061007
throw new UncheckedIOException("Unable to copy trustStore file '" + configuredTrustStorePath
1007-
+ "' to volume root directory '" + outputDir.toAbsolutePath().toString() + "'", e);
1008+
+ "' to volume root directory '" + outputDir.toAbsolutePath() + "'", e);
10081009
}
10091010
}
10101011
} else {

core/runtime/src/main/java/io/quarkus/runtime/logging/FileConfig.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,10 @@ public static class RotationConfig {
8383
/**
8484
* The file handler rotation file suffix.
8585
* When used, the file will be rotated based on its suffix.
86-
*
86+
* <p>
8787
* Example fileSuffix: .yyyy-MM-dd
88+
* <p>
89+
* Note: If the suffix ends with .zip or .gz, the rotation file will also be compressed.
8890
*/
8991
@ConfigItem
9092
Optional<String> fileSuffix;

docs/src/main/asciidoc/getting-started-testing.adoc

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1601,7 +1601,7 @@ import org.mockito.Mockito;
16011601
public class FooTest {
16021602
16031603
@RegisterExtension <1>
1604-
static final QuarkusComponentTestExtension extension = new QuarkusComponentTestExtension().configProperty("bar","true");
1604+
static final QuarkusComponentTestExtension extension = QuarkusComponentTestExtension.builder().configProperty("bar","true").build();
16051605
16061606
@Inject
16071607
Foo foo;
@@ -1621,9 +1621,10 @@ public class FooTest {
16211621
=== Lifecycle
16221622

16231623
So what exactly does the `QuarkusComponentTest` do?
1624-
It starts the CDI container and registers a dedicated xref:config-reference.adoc[configuration object] during the `before all` test phase.
1625-
The container is stopped and the config is released during the `after all` test phase.
1626-
The fields annotated with `@Inject` and `@InjectMock` are injected after a test instance is created and unset before a test instance is destroyed.
1624+
It starts the CDI container and registers a dedicated xref:config-reference.adoc[configuration object].
1625+
If the test instance lifecycle is `Lifecycle#PER_METHOD` (default) then the container is started during the `before each` test phase and stopped during the `after each` test phase.
1626+
However, if the test instance lifecycle is `Lifecycle#PER_CLASS` then the container is started during the `before all` test phase and stopped during the `after all` test phase.
1627+
The fields annotated with `@Inject` and `@InjectMock` are injected after a test instance is created.
16271628
Finally, the CDI request context is activated and terminated per each test method.
16281629

16291630
=== Auto Mocking Unsatisfied Dependencies
@@ -1637,13 +1638,15 @@ You can inject the mock in your test and leverage the Mockito API to configure t
16371638
=== Custom Mocks For Unsatisfied Dependencies
16381639

16391640
Sometimes you need the full control over the bean attributes and maybe even configure the default mock behavior.
1640-
You can use the mock configurator API via the `QuarkusComponentTestExtension#mock()` method.
1641+
You can use the mock configurator API via the `QuarkusComponentTestExtensionBuilder#mock()` method.
16411642

16421643
=== Configuration
16431644

1644-
A dedicated `SmallRyeConfig` is registered during the `before all` test phase.
1645-
Moreover, it's possible to set the configuration properties via the `QuarkusComponentTestExtension#configProperty(String, String)` method or the `@TestConfigProperty` annotation.
1646-
If you only need to use the default values for missing config properties, then the `QuarkusComponentTestExtension#useDefaultConfigProperties()` or `@QuarkusComponentTest#useDefaultConfigProperties()` might come in useful.
1645+
You can set the configuration properties for a test with the `@io.quarkus.test.component.TestConfigProperty` annotation or with the `QuarkusComponentTestExtensionBuilder#configProperty(String, String)` method.
1646+
If you only need to use the default values for missing config properties, then the `@QuarkusComponentTest#useDefaultConfigProperties()` or `QuarkusComponentTestExtensionBuilder#useDefaultConfigProperties()` might come in useful.
1647+
1648+
It is also possible to set configuration properties for a test method with the `@io.quarkus.test.component.TestConfigProperty` annotation.
1649+
However, if the test instance lifecycle is `Lifecycle#_PER_CLASS` this annotation can only be used on the test class and is ignored on test methods.
16471650

16481651
=== Mocking CDI Interceptors
16491652

docs/src/main/asciidoc/logging.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Quarkus supports the JBoss Logging API as well as multiple other logging APIs, s
1616
You can use any of the <<logging-apis,following APIs>>:
1717

1818
* link:https://github.com/jboss-logging/jboss-logging[JBoss Logging]
19-
* JDK `java.util.logging` (JUL)
19+
* link:https://docs.oracle.com/en/java/javase/11/docs/api/java.logging/java/util/logging/package-summary.html[JDK `java.util.logging` (JUL)]
2020
* link:https://www.slf4j.org/[SLF4J]
2121
* link:https://commons.apache.org/proper/commons-logging/[Apache Commons Logging]
2222
* link:https://logging.apache.org/log4j/2.x/[Apache Log4j 2]

0 commit comments

Comments
 (0)