Skip to content

Commit ca623d0

Browse files
authored
Merge pull request #46620 from gsmet/3.19.2-backports-1
[3.19] 3.19.2 backports 1
2 parents 6aa0ac5 + fae69ac commit ca623d0

File tree

119 files changed

+1792
-837
lines changed

Some content is hidden

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

119 files changed

+1792
-837
lines changed

bom/application/pom.xml

+5-5
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@
103103
<rxjava.version>2.2.21</rxjava.version>
104104
<wildfly.openssl-java.version>2.2.5.Final</wildfly.openssl-java.version>
105105
<wildfly.openssl-linux.version>2.2.2.SP01</wildfly.openssl-linux.version>
106-
<jboss-logging-annotations.version>3.0.3.Final</jboss-logging-annotations.version>
106+
<jboss-logging-annotations.version>3.0.4.Final</jboss-logging-annotations.version>
107107
<slf4j-jboss-logmanager.version>2.0.0.Final</slf4j-jboss-logmanager.version>
108108
<wildfly-common.version>2.0.1</wildfly-common.version>
109109
<wildfly-client-config.version>1.0.1.Final</wildfly-client-config.version>
@@ -129,7 +129,7 @@
129129
<shrinkwrap.version>1.2.6</shrinkwrap.version>
130130
<hamcrest.version>2.2</hamcrest.version><!-- The version needs to be compatible with both REST Assured and Awaitility -->
131131
<junit.jupiter.version>5.10.5</junit.jupiter.version>
132-
<infinispan.version>15.0.13.Final</infinispan.version>
132+
<infinispan.version>15.0.14.Final</infinispan.version>
133133
<infinispan.protostream.version>5.0.13.Final</infinispan.protostream.version>
134134
<caffeine.version>3.2.0</caffeine.version>
135135
<netty.version>4.1.118.Final</netty.version>
@@ -158,7 +158,7 @@
158158
<maven-invoker.version>3.2.0</maven-invoker.version>
159159
<awaitility.version>4.2.2</awaitility.version>
160160
<jboss-logmanager.version>3.1.1.Final</jboss-logmanager.version>
161-
<flyway.version>11.3.3</flyway.version>
161+
<flyway.version>11.3.4</flyway.version>
162162
<yasson.version>3.0.4</yasson.version>
163163
<!-- liquibase-mongodb is not released everytime with liquibase anymore, but the two versions need to be compatible -->
164164
<liquibase.version>4.29.1</liquibase.version>
@@ -195,8 +195,8 @@
195195
<avro.version>1.12.0</avro.version>
196196
<apicurio-registry.version>2.6.8.Final</apicurio-registry.version>
197197
<apicurio-common-rest-client.version>0.1.18.Final</apicurio-common-rest-client.version> <!-- must be the version Apicurio Registry uses -->
198-
<testcontainers.version>1.20.4</testcontainers.version> <!-- Make sure to also update docker-java.version to match its needs -->
199-
<docker-java.version>3.4.0</docker-java.version> <!-- must be the version Testcontainers use: https://central.sonatype.com/artifact/org.testcontainers/testcontainers -->
198+
<testcontainers.version>1.20.5</testcontainers.version> <!-- Make sure to also update docker-java.version to match its needs -->
199+
<docker-java.version>3.4.1</docker-java.version> <!-- must be the version Testcontainers use: https://central.sonatype.com/artifact/org.testcontainers/testcontainers -->
200200
<!-- Check the compatibility matrix (https://github.com/opensearch-project/opensearch-testcontainers) before upgrading: -->
201201
<opensearch-testcontainers.version>2.0.2</opensearch-testcontainers.version>
202202
<com.dajudge.kindcontainer>1.4.8</com.dajudge.kindcontainer>

build-parent/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@
6161
<!-- These 2 properties are used by CreateProjectMojo to add the Maven Wrapper -->
6262
<proposed-maven-version>3.9.9</proposed-maven-version>
6363
<maven-wrapper.version>3.3.2</maven-wrapper.version>
64-
<gradle-wrapper.version>8.12</gradle-wrapper.version>
64+
<gradle-wrapper.version>8.13</gradle-wrapper.version>
6565
<quarkus-gradle-plugin.version>${project.version}</quarkus-gradle-plugin.version>
6666
<quarkus-maven-plugin.version>${project.version}</quarkus-maven-plugin.version>
6767
<maven-plugin-plugin.version>3.8.1</maven-plugin-plugin.version>

core/deployment/src/main/java/io/quarkus/deployment/dev/CompilationProvider.java

+18-1
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,19 @@
33
import java.io.Closeable;
44
import java.io.File;
55
import java.io.IOException;
6+
import java.io.InputStream;
67
import java.nio.charset.Charset;
78
import java.nio.charset.StandardCharsets;
9+
import java.nio.file.Files;
810
import java.nio.file.Path;
911
import java.util.Collections;
1012
import java.util.HashMap;
1113
import java.util.List;
1214
import java.util.Map;
1315
import java.util.Set;
1416

17+
import org.objectweb.asm.ClassReader;
18+
1519
import io.quarkus.paths.PathCollection;
1620

1721
public interface CompilationProvider extends Closeable {
@@ -28,7 +32,18 @@ default Set<String> handledSourcePaths() {
2832

2933
void compile(Set<File> files, Context context);
3034

31-
Path getSourcePath(Path classFilePath, PathCollection sourcePaths, String classesPath);
35+
default Path getSourcePath(Path classFilePath, PathCollection sourcePaths, String classesPath) {
36+
Path sourceFilePath;
37+
final RuntimeUpdatesClassVisitor visitor = new RuntimeUpdatesClassVisitor(sourcePaths, classesPath);
38+
try (final InputStream inputStream = Files.newInputStream(classFilePath)) {
39+
final ClassReader reader = new ClassReader(inputStream);
40+
reader.accept(visitor, 0);
41+
sourceFilePath = visitor.getSourceFileForClass(classFilePath);
42+
} catch (IOException e) {
43+
throw new RuntimeException(e);
44+
}
45+
return sourceFilePath;
46+
}
3247

3348
@Override
3449
default void close() throws IOException {
@@ -159,5 +174,7 @@ public boolean ignoreModuleInfo() {
159174
public File getGeneratedSourcesDirectory() {
160175
return generatedSourcesDirectory;
161176
}
177+
162178
}
179+
163180
}

core/deployment/src/main/java/io/quarkus/deployment/dev/JavaCompilationProvider.java

-54
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,7 @@
22

33
import java.io.File;
44
import java.io.IOException;
5-
import java.io.InputStream;
65
import java.nio.charset.Charset;
7-
import java.nio.file.Files;
8-
import java.nio.file.Path;
9-
import java.nio.file.Paths;
106
import java.util.List;
117
import java.util.Set;
128
import java.util.function.BiConsumer;
@@ -20,14 +16,10 @@
2016
import javax.tools.ToolProvider;
2117

2218
import org.jboss.logging.Logger;
23-
import org.objectweb.asm.ClassReader;
24-
import org.objectweb.asm.ClassVisitor;
2519

2620
import io.quarkus.deployment.dev.filesystem.QuarkusFileManager;
2721
import io.quarkus.deployment.dev.filesystem.ReloadableFileManager;
2822
import io.quarkus.deployment.dev.filesystem.StaticFileManager;
29-
import io.quarkus.gizmo.Gizmo;
30-
import io.quarkus.paths.PathCollection;
3123

3224
public class JavaCompilationProvider implements CompilationProvider {
3325

@@ -115,20 +107,6 @@ public void compile(Set<File> filesToCompile, CompilationProvider.Context contex
115107
}
116108
}
117109

118-
@Override
119-
public Path getSourcePath(Path classFilePath, PathCollection sourcePaths, String classesPath) {
120-
Path sourceFilePath;
121-
final RuntimeUpdatesClassVisitor visitor = new RuntimeUpdatesClassVisitor(sourcePaths, classesPath);
122-
try (final InputStream inputStream = Files.newInputStream(classFilePath)) {
123-
final ClassReader reader = new ClassReader(inputStream);
124-
reader.accept(visitor, 0);
125-
sourceFilePath = visitor.getSourceFileForClass(classFilePath);
126-
} catch (IOException e) {
127-
throw new RuntimeException(e);
128-
}
129-
return sourceFilePath;
130-
}
131-
132110
@Override
133111
public void close() throws IOException {
134112
if (this.fileManager != null) {
@@ -154,36 +132,4 @@ private String extractCompilationErrorMessage(final DiagnosticCollector<JavaFile
154132
diagnosticsCollector.getDiagnostics().forEach(diagnostic -> builder.append("\n").append(diagnostic));
155133
return String.format("\u001B[91mCompilation Failed:%s\u001b[0m", builder);
156134
}
157-
158-
private static class RuntimeUpdatesClassVisitor extends ClassVisitor {
159-
private final PathCollection sourcePaths;
160-
private final String classesPath;
161-
private String sourceFile;
162-
163-
public RuntimeUpdatesClassVisitor(PathCollection sourcePaths, String classesPath) {
164-
super(Gizmo.ASM_API_VERSION);
165-
this.sourcePaths = sourcePaths;
166-
this.classesPath = classesPath;
167-
}
168-
169-
@Override
170-
public void visitSource(String source, String debug) {
171-
this.sourceFile = source;
172-
}
173-
174-
public Path getSourceFileForClass(final Path classFilePath) {
175-
for (Path sourcesDir : sourcePaths) {
176-
final Path classesDir = Paths.get(classesPath);
177-
final StringBuilder sourceRelativeDir = new StringBuilder();
178-
sourceRelativeDir.append(classesDir.relativize(classFilePath.getParent()));
179-
sourceRelativeDir.append(File.separator);
180-
sourceRelativeDir.append(sourceFile);
181-
final Path sourceFilePath = sourcesDir.resolve(Path.of(sourceRelativeDir.toString()));
182-
if (Files.exists(sourceFilePath)) {
183-
return sourceFilePath;
184-
}
185-
}
186-
return null;
187-
}
188-
}
189135
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
package io.quarkus.deployment.dev;
2+
3+
import java.io.File;
4+
import java.nio.file.Files;
5+
import java.nio.file.Path;
6+
import java.nio.file.Paths;
7+
8+
import org.objectweb.asm.ClassVisitor;
9+
10+
import io.quarkus.gizmo.Gizmo;
11+
import io.quarkus.paths.PathCollection;
12+
13+
public class RuntimeUpdatesClassVisitor extends ClassVisitor {
14+
private final PathCollection sourcePaths;
15+
private final String classesPath;
16+
private String sourceFile;
17+
18+
public RuntimeUpdatesClassVisitor(PathCollection sourcePaths, String classesPath) {
19+
super(Gizmo.ASM_API_VERSION);
20+
this.sourcePaths = sourcePaths;
21+
this.classesPath = classesPath;
22+
}
23+
24+
@Override
25+
public void visitSource(String source, String debug) {
26+
this.sourceFile = source;
27+
}
28+
29+
public Path getSourceFileForClass(final Path classFilePath) {
30+
for (Path sourcesDir : sourcePaths) {
31+
final Path classesDir = Paths.get(classesPath);
32+
final StringBuilder sourceRelativeDir = new StringBuilder();
33+
sourceRelativeDir.append(classesDir.relativize(classFilePath.getParent()));
34+
sourceRelativeDir.append(File.separator);
35+
sourceRelativeDir.append(sourceFile);
36+
final Path sourceFilePath = sourcesDir.resolve(Path.of(sourceRelativeDir.toString()));
37+
if (Files.exists(sourceFilePath)) {
38+
return sourceFilePath;
39+
}
40+
}
41+
return null;
42+
}
43+
}

devtools/bom-descriptor-json/src/main/resources/catalog-overrides.json

+6-1
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,6 @@
9191
"name": "Artificial Intelligence (AI)",
9292
"id": "ai",
9393
"description": "Help making Artificial Intgelligence (AI)-infused applications using Large Language Models and more"
94-
9594
},
9695
{
9796
"name": "Cloud",
@@ -146,6 +145,12 @@
146145
"metadata":{
147146
"project": {
148147
"default-codestart": "rest",
148+
"codestart-data": {
149+
"dockerfile.jvm.from-template": "registry.access.redhat.com/ubi9/openjdk-{java.version}:1.21",
150+
"dockerfile.jvm.from": "registry.access.redhat.com/ubi9/openjdk-${recommended-java-version}:1.21",
151+
"dockerfile.native.from": "registry.access.redhat.com/ubi9/ubi-minimal:9.5",
152+
"dockerfile.native-micro": "quay.io/quarkus/ubi9-quarkus-micro-image:2.0"
153+
},
149154
"properties": {
150155
"doc-root": "https://quarkus.io",
151156
"rest-assured-version": "${rest-assured.version}",

devtools/cli/src/main/java/io/quarkus/cli/Update.java

+3-6
Original file line numberDiff line numberDiff line change
@@ -9,23 +9,20 @@
99
import picocli.CommandLine;
1010

1111
@CommandLine.Command(name = "update", aliases = { "up",
12-
"upgrade" }, sortOptions = false, showDefaultValues = true, mixinStandardHelpOptions = false, header = "Suggest recommended project updates with the possibility to apply them.", headerHeading = "%n", commandListHeading = "%nCommands:%n", synopsisHeading = "%nUsage: ", parameterListHeading = "%n", optionListHeading = "%nOptions:%n")
12+
"upgrade" }, sortOptions = false, showDefaultValues = true, mixinStandardHelpOptions = false, header = "Suggest project updates and create a recipe with the possibility to apply it.", headerHeading = "%n", commandListHeading = "%nCommands:%n", synopsisHeading = "%nUsage: ", parameterListHeading = "%n", optionListHeading = "%nOptions:%n")
1313
public class Update extends BaseBuildCommand implements Callable<Integer> {
1414

1515
@CommandLine.ArgGroup(order = 0, heading = "%nTarget Quarkus version:%n", multiplicity = "0..1")
1616
TargetQuarkusVersionGroup targetQuarkusVersion = new TargetQuarkusVersionGroup();
1717

18-
@CommandLine.ArgGroup(order = 1, heading = "%nRewrite:%n", exclusive = false)
18+
@CommandLine.ArgGroup(order = 1, heading = "%nRewrite (interactive by default):%n", exclusive = false)
1919
RewriteGroup rewrite = new RewriteGroup();
2020

21-
@CommandLine.Option(order = 2, names = { "--per-module" }, description = "Display information per project module.")
22-
public boolean perModule = false;
23-
2421
@Override
2522
public Integer call() throws Exception {
2623
try {
2724
final BuildSystemRunner runner = getRunner();
28-
return runner.updateProject(targetQuarkusVersion, rewrite, perModule);
25+
return runner.updateProject(targetQuarkusVersion, rewrite);
2926
} catch (Exception e) {
3027
return output.handleCommandException(e, "Unable to run Quarkus project update : " + e.getMessage());
3128
}

devtools/cli/src/main/java/io/quarkus/cli/build/BuildSystemRunner.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ Integer listExtensions(RunModeOption runMode, ListFormatOptions format, boolean
110110

111111
Integer projectInfo(boolean perModule) throws Exception;
112112

113-
Integer updateProject(TargetQuarkusVersionGroup targetQuarkusVersion, RewriteGroup rewrite, boolean perModule)
113+
Integer updateProject(TargetQuarkusVersionGroup targetQuarkusVersion, RewriteGroup rewrite)
114114
throws Exception;
115115

116116
BuildCommandArgs prepareAction(String action, BuildOptions buildOptions, RunModeOption runMode, List<String> params);

devtools/cli/src/main/java/io/quarkus/cli/build/GradleRunner.java

+11-9
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ public Integer projectInfo(boolean perModule) {
145145
}
146146

147147
@Override
148-
public Integer updateProject(TargetQuarkusVersionGroup targetQuarkusVersion, RewriteGroup rewrite, boolean perModule)
148+
public Integer updateProject(TargetQuarkusVersionGroup targetQuarkusVersion, RewriteGroup rewrite)
149149
throws Exception {
150150
final ExtensionCatalog extensionCatalog = ToolsUtils.resolvePlatformDescriptorDirectly(
151151
ToolsConstants.QUARKUS_CORE_GROUP_ID, null,
@@ -176,14 +176,16 @@ public Integer updateProject(TargetQuarkusVersionGroup targetQuarkusVersion, Rew
176176
if (rewrite.additionalUpdateRecipes != null) {
177177
args.add("--additionalUpdateRecipes=" + rewrite.additionalUpdateRecipes);
178178
}
179-
if (rewrite.noRewrite) {
180-
args.add("--noRewrite");
181-
}
182-
if (perModule) {
183-
args.add("--perModule");
184-
}
185-
if (rewrite.dryRun) {
186-
args.add("--rewriteDryRun");
179+
if (rewrite.run != null) {
180+
if (rewrite.run.yes) {
181+
args.add("--rewrite");
182+
}
183+
if (rewrite.run.no) {
184+
args.add("--rewrite=false");
185+
}
186+
if (rewrite.run.dryRun) {
187+
args.add("--rewriteDryRun");
188+
}
187189
}
188190
return run(prependExecutable(args));
189191

devtools/cli/src/main/java/io/quarkus/cli/build/JBangRunner.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ public Integer projectInfo(boolean perModule) {
7777
}
7878

7979
@Override
80-
public Integer updateProject(TargetQuarkusVersionGroup targetQuarkusVersion, RewriteGroup rewrite, boolean perModule)
80+
public Integer updateProject(TargetQuarkusVersionGroup targetQuarkusVersion, RewriteGroup rewrite)
8181
throws Exception {
8282
throw new UnsupportedOperationException("Not there yet. ;)");
8383
}

devtools/cli/src/main/java/io/quarkus/cli/build/MavenRunner.java

+11-9
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ public Integer projectInfo(boolean perModule) throws Exception {
149149
}
150150

151151
@Override
152-
public Integer updateProject(TargetQuarkusVersionGroup targetQuarkusVersion, RewriteGroup rewrite, boolean perModule)
152+
public Integer updateProject(TargetQuarkusVersionGroup targetQuarkusVersion, RewriteGroup rewrite)
153153
throws Exception {
154154
ArrayDeque<String> args = new ArrayDeque<>();
155155
setMavenProperties(args, true);
@@ -167,9 +167,6 @@ public Integer updateProject(TargetQuarkusVersionGroup targetQuarkusVersion, Rew
167167
if (targetQuarkusVersion.streamId != null) {
168168
args.add("-Dstream=" + targetQuarkusVersion.streamId);
169169
}
170-
if (rewrite.noRewrite) {
171-
args.add("-DnoRewrite");
172-
}
173170
if (rewrite.pluginVersion != null) {
174171
args.add("-DrewritePluginVersion=" + rewrite.pluginVersion);
175172
}
@@ -179,11 +176,16 @@ public Integer updateProject(TargetQuarkusVersionGroup targetQuarkusVersion, Rew
179176
if (rewrite.additionalUpdateRecipes != null) {
180177
args.add("-DadditionalUpdateRecipes=" + rewrite.additionalUpdateRecipes);
181178
}
182-
if (rewrite.dryRun) {
183-
args.add("-DrewriteDryRun");
184-
}
185-
if (perModule) {
186-
args.add("-DperModule");
179+
if (rewrite.run != null) {
180+
if (rewrite.run.yes) {
181+
args.add("-Drewrite");
182+
}
183+
if (rewrite.run.no) {
184+
args.add("-Drewrite=false");
185+
}
186+
if (rewrite.run.dryRun) {
187+
args.add("-DrewriteDryRun");
188+
}
187189
}
188190
args.add("-ntp");
189191
return run(prependExecutable(args));

0 commit comments

Comments
 (0)