Skip to content

Commit 4337dc5

Browse files
authored
Merge pull request #48582 from gsmet/3.24.1-backports-1
[3.24] 3.24.1 backports 1
2 parents 46aa975 + 052434f commit 4337dc5

File tree

118 files changed

+3374
-1429
lines changed

Some content is hidden

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

118 files changed

+3374
-1429
lines changed

.github/native-tests.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@
3232
},
3333
{
3434
"category": "Data5",
35-
"timeout": 70,
36-
"test-modules": "jpa-postgresql, jpa-postgresql-withxml, narayana-stm, narayana-jta, reactive-pg-client, hibernate-reactive-postgresql, hibernate-orm-tenancy/schema",
35+
"timeout": 75,
36+
"test-modules": "jpa-postgresql, jpa-postgresql-withxml, narayana-stm, narayana-jta, reactive-pg-client, hibernate-reactive-postgresql, hibernate-orm-tenancy/schema, hibernate-orm-tenancy/schema-mariadb",
3737
"os-name": "ubuntu-latest"
3838
},
3939
{

bom/application/pom.xml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
<microprofile-jwt.version>2.1</microprofile-jwt.version>
4747
<microprofile-lra.version>2.0.1</microprofile-lra.version>
4848
<microprofile-openapi.version>4.0.2</microprofile-openapi.version>
49-
<smallrye-common.version>2.12.0</smallrye-common.version>
49+
<smallrye-common.version>2.12.2</smallrye-common.version>
5050
<smallrye-config.version>3.13.2</smallrye-config.version>
5151
<smallrye-health.version>4.2.0</smallrye-health.version>
5252
<smallrye-metrics.version>4.0.0</smallrye-metrics.version>
@@ -57,7 +57,7 @@
5757
<smallrye-context-propagation.version>2.2.1</smallrye-context-propagation.version>
5858
<smallrye-reactive-streams-operators.version>1.0.13</smallrye-reactive-streams-operators.version>
5959
<smallrye-reactive-types-converter.version>3.0.3</smallrye-reactive-types-converter.version>
60-
<smallrye-mutiny-vertx-binding.version>3.19.0</smallrye-mutiny-vertx-binding.version>
60+
<smallrye-mutiny-vertx-binding.version>3.19.1</smallrye-mutiny-vertx-binding.version>
6161
<smallrye-reactive-messaging.version>4.28.0</smallrye-reactive-messaging.version>
6262
<smallrye-stork.version>2.7.3</smallrye-stork.version>
6363
<jakarta.activation.version>2.1.3</jakarta.activation.version>
@@ -89,7 +89,7 @@
8989
<!-- GraalVM sdk 23.1.2 has a minimum JDK requirement of 17+ at runtime -->
9090
<graal-sdk.version>23.1.2</graal-sdk.version>
9191
<gizmo.version>1.9.0</gizmo.version>
92-
<jackson-bom.version>2.19.0</jackson-bom.version>
92+
<jackson-bom.version>2.19.1</jackson-bom.version>
9393
<commons-logging-jboss-logging.version>1.0.0.Final</commons-logging-jboss-logging.version>
9494
<commons-lang3.version>3.17.0</commons-lang3.version>
9595
<commons-codec.version>1.18.0</commons-codec.version>
@@ -111,7 +111,7 @@
111111
<wildfly-elytron.version>2.6.4.Final</wildfly-elytron.version>
112112
<jboss-marshalling.version>2.2.3.Final</jboss-marshalling.version>
113113
<jboss-threads.version>3.9.1</jboss-threads.version>
114-
<vertx.version>4.5.14</vertx.version>
114+
<vertx.version>4.5.16</vertx.version>
115115
<httpclient.version>4.5.14</httpclient.version>
116116
<httpcore.version>4.4.16</httpcore.version>
117117
<httpasync.version>4.1.5</httpasync.version>
@@ -159,7 +159,7 @@
159159
<maven-invoker.version>3.2.0</maven-invoker.version>
160160
<awaitility.version>4.3.0</awaitility.version>
161161
<jboss-logmanager.version>3.1.2.Final</jboss-logmanager.version>
162-
<flyway.version>11.9.1</flyway.version>
162+
<flyway.version>11.9.2</flyway.version>
163163
<yasson.version>3.0.4</yasson.version>
164164
<!-- liquibase-mongodb is not released everytime with liquibase anymore, but the two versions need to be compatible -->
165165
<liquibase.version>4.29.1</liquibase.version>
@@ -196,7 +196,7 @@
196196
<avro.version>1.12.0</avro.version>
197197
<apicurio-registry.version>2.6.12.Final</apicurio-registry.version>
198198
<apicurio-common-rest-client.version>0.1.18.Final</apicurio-common-rest-client.version> <!-- must be the version Apicurio Registry uses -->
199-
<testcontainers.version>1.21.1</testcontainers.version> <!-- Make sure to also update docker-java.version to match its needs -->
199+
<testcontainers.version>1.21.2</testcontainers.version> <!-- Make sure to also update docker-java.version to match its needs -->
200200
<docker-java.version>3.4.2</docker-java.version> <!-- must be the version Testcontainers use: https://central.sonatype.com/artifact/org.testcontainers/testcontainers -->
201201
<!-- Check the compatibility matrix (https://github.com/opensearch-project/opensearch-testcontainers) before upgrading: -->
202202
<opensearch-testcontainers.version>2.0.2</opensearch-testcontainers.version>

core/deployment/src/main/java/io/quarkus/deployment/steps/CompiledJavaVersionBuildStep.java

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -25,22 +25,28 @@ public class CompiledJavaVersionBuildStep {
2525
@BuildStep
2626
public CompiledJavaVersionBuildItem compiledJavaVersion(CurateOutcomeBuildItem curateOutcomeBuildItem) {
2727
final ResolvedDependency appArtifact = curateOutcomeBuildItem.getApplicationModel().getAppArtifact();
28-
Integer majorVersion = getMajorJavaVersion(appArtifact);
29-
if (majorVersion == null) {
30-
// workspace info isn't available in prod builds though
31-
for (ResolvedDependency module : curateOutcomeBuildItem.getApplicationModel()
32-
.getDependencies(DependencyFlags.WORKSPACE_MODULE)) {
33-
majorVersion = getMajorJavaVersion(module);
34-
if (majorVersion != null) {
35-
break;
28+
try {
29+
Integer majorVersion = getMajorJavaVersion(appArtifact);
30+
if (majorVersion == null) {
31+
// workspace info isn't available in prod builds though
32+
for (ResolvedDependency module : curateOutcomeBuildItem.getApplicationModel()
33+
.getDependencies(DependencyFlags.WORKSPACE_MODULE)) {
34+
majorVersion = getMajorJavaVersion(module);
35+
if (majorVersion != null) {
36+
break;
37+
}
3638
}
3739
}
38-
}
39-
if (majorVersion == null) {
40-
log.debug("No .class files located");
40+
if (majorVersion == null) {
41+
log.debug("No .class files located");
42+
return CompiledJavaVersionBuildItem.unknown();
43+
}
44+
return CompiledJavaVersionBuildItem.fromMajorJavaVersion(majorVersion);
45+
} catch (Exception e) {
46+
log.warn("Failed to parse major version", e);
4147
return CompiledJavaVersionBuildItem.unknown();
4248
}
43-
return CompiledJavaVersionBuildItem.fromMajorJavaVersion(majorVersion);
49+
4450
}
4551

4652
private static Integer getMajorJavaVersion(ResolvedDependency artifact) {

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,9 @@ private static List<String> getRelatedLinesInSource(Path filePath, int lineNumbe
130130

131131
private static String getFullPath(String fullClassName, String fileName) {
132132
int lastDotIndex = fullClassName.lastIndexOf(".");
133+
if (lastDotIndex == -1) {
134+
return fileName;
135+
}
133136
String packageName = fullClassName.substring(0, lastDotIndex);
134137
String path = packageName.replace('.', '/');
135138
return path + "/" + fileName;

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

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -372,8 +372,8 @@ interface SyslogConfig {
372372
/**
373373
* If enabled, the message being sent is prefixed with the size of the message
374374
*/
375-
@WithDefault("false")
376-
boolean useCountingFraming();
375+
@WithDefault("protocol-dependent")
376+
CountingFraming useCountingFraming();
377377

378378
/**
379379
* Set to {@code true} to truncate the message if it exceeds maximum length
@@ -420,6 +420,20 @@ interface SyslogConfig {
420420
* Syslog async logging config
421421
*/
422422
AsyncConfig async();
423+
424+
/**
425+
* Syslog counting framing type used for smarter handling of counting framing value.
426+
* <p>
427+
* If {@link CountingFraming#PROTOCOL_DEPENDENT} is used, the counting framing will be {@code true}, when the
428+
* {@link Protocol#TCP} or {@link Protocol#SSL_TCP} is used. Otherwise {@code false}.
429+
* <p>
430+
* More information in <a href="http://tools.ietf.org/html/rfc6587#section-3.4.1">http://tools.ietf.org/html/rfc6587</a>
431+
*/
432+
enum CountingFraming {
433+
TRUE,
434+
FALSE,
435+
PROTOCOL_DEPENDENT
436+
}
423437
}
424438

425439
interface SocketConfig {

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

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -745,7 +745,12 @@ private static Handler configureSyslogHandler(final LogRuntimeConfig.SyslogConfi
745745
handler.setProtocol(config.protocol());
746746
handler.setBlockOnReconnect(config.blockOnReconnect());
747747
handler.setTruncate(config.truncate());
748-
handler.setUseCountingFraming(config.useCountingFraming());
748+
handler.setUseCountingFraming(switch (config.useCountingFraming()) {
749+
case PROTOCOL_DEPENDENT ->
750+
config.protocol() == SyslogHandler.Protocol.TCP || config.protocol() == SyslogHandler.Protocol.SSL_TCP;
751+
case TRUE -> true;
752+
case FALSE -> false;
753+
});
749754
handler.setLevel(config.level());
750755
if (config.maxLength().isPresent()) {
751756
BigInteger maxLen = config.maxLength().get().asBigInteger();

devtools/gradle/gradle-application-plugin/src/main/java/io/quarkus/gradle/tasks/EffectiveConfig.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import java.util.Map;
1818
import java.util.Set;
1919
import java.util.function.Supplier;
20+
import java.util.stream.Collectors;
2021

2122
import com.google.common.annotations.VisibleForTesting;
2223

@@ -97,6 +98,11 @@ public Map<String, String> getValues() {
9798
return values;
9899
}
99100

101+
public Map<String, String> getOnlyQuarkusValues() {
102+
return values.entrySet().stream().filter(e -> e.getKey().startsWith("quarkus."))
103+
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
104+
}
105+
100106
private Map<String, String> asStringMap(Map<String, ?> map) {
101107
Map<String, String> target = new HashMap<>();
102108
map.forEach((k, v) -> {

devtools/gradle/gradle-application-plugin/src/main/java/io/quarkus/gradle/tasks/QuarkusApplicationModelTask.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@
4242
import org.gradle.api.file.ProjectLayout;
4343
import org.gradle.api.file.RegularFileProperty;
4444
import org.gradle.api.provider.Property;
45-
import org.gradle.api.tasks.CacheableTask;
4645
import org.gradle.api.tasks.CompileClasspath;
4746
import org.gradle.api.tasks.Input;
4847
import org.gradle.api.tasks.InputFiles;
@@ -78,7 +77,6 @@
7877
import io.quarkus.runtime.LaunchMode;
7978
import io.quarkus.runtime.util.HashUtil;
8079

81-
@CacheableTask
8280
public abstract class QuarkusApplicationModelTask extends DefaultTask {
8381

8482
/* @formatter:off */

devtools/gradle/gradle-application-plugin/src/main/java/io/quarkus/gradle/tasks/QuarkusRun.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ public void setJvmArgs(List<String> jvmArgs) {
102102
public void runQuarkus() {
103103
ApplicationModel appModel = resolveAppModelForBuild();
104104
Properties sysProps = new Properties();
105-
sysProps.putAll(extension().buildEffectiveConfiguration(appModel).getValues());
105+
sysProps.putAll(extension().buildEffectiveConfiguration(appModel).getOnlyQuarkusValues());
106106
try (CuratedApplication curatedApplication = QuarkusBootstrap.builder()
107107
.setBaseClassLoader(getClass().getClassLoader())
108108
.setExistingModel(appModel)

devtools/maven/src/main/java/io/quarkus/maven/DevMojo.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
import java.nio.file.Path;
2626
import java.nio.file.Paths;
2727
import java.util.ArrayList;
28-
import java.util.Arrays;
2928
import java.util.Collection;
3029
import java.util.HashMap;
3130
import java.util.HashSet;
@@ -1610,9 +1609,13 @@ private void setJvmArgs(DevModeCommandLineBuilder builder) throws Exception {
16101609
jvmArgs = buf.toString();
16111610
}
16121611
if (jvmArgs != null) {
1613-
builder.jvmArgs(Arrays.asList(CommandLineUtils.translateCommandline(jvmArgs)));
1612+
final String[] arr = CommandLineUtils.translateCommandline(jvmArgs);
1613+
final List<String> list = new ArrayList<>(arr.length);
1614+
for (var s : arr) {
1615+
list.add(s.trim());
1616+
}
1617+
builder.jvmArgs(list);
16141618
}
1615-
16161619
}
16171620

16181621
private void copySurefireVariables() {

0 commit comments

Comments
 (0)