Skip to content
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

[incubator-kie-issues-1575] Upgrade quarkus to 3.15 #3750

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion addons/common/flyway/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,10 @@
<groupId>org.flywaydb</groupId>
<artifactId>flyway-core</artifactId>
</dependency>

<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-database-postgresql</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
Expand Down
2 changes: 1 addition & 1 deletion addons/common/persistence/infinispan/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@
<dependencies>
<!--~~(No version provided)~~>--><dependency>
<groupId>org.infinispan</groupId>
<artifactId>infinispan-client-hotrod-jakarta</artifactId>
<artifactId>infinispan-client-hotrod</artifactId>
</dependency>
<dependency>
<groupId>org.kie.kogito</groupId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,7 @@ private FieldDescriptorProto buildFieldDescriptor(FieldDescriptor descriptor) {
}
}
fieldBuilder.setLabel(descriptor.getLabel() == Label.ONE_OF ? FieldDescriptorProto.Label.LABEL_OPTIONAL : FieldDescriptorProto.Label.valueOf("LABEL_" + descriptor.getLabel().name()));
fieldBuilder.setProto3Optional(!descriptor.isRequired());
fieldBuilder.setProto3Optional(descriptor.getLabel() != Label.REQUIRED);
return fieldBuilder.build();
}

Expand Down
38 changes: 23 additions & 15 deletions kogito-build/kogito-dependencies-bom/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@

<properties>
<!-- this version property is used in plugins but also in dependencies too -->
<version.io.quarkus>3.8.6</version.io.quarkus>
<version.io.quarkus>3.15.1</version.io.quarkus>
<version.io.quarkus.quarkus-test>${version.io.quarkus}</version.io.quarkus.quarkus-test>
<version.org.springframework.boot>3.2.6</version.org.springframework.boot>
<version.org.apache.kafka>3.7.0</version.org.apache.kafka>
Expand All @@ -50,7 +50,7 @@
<version.net.minidev.jsonsmart>2.4.10</version.net.minidev.jsonsmart>
<version.net.thisptr.jackson-jq>1.0.0-preview.20240207</version.net.thisptr.jackson-jq>
<version.io.quarkiverse.jackson-jq>2.0.2</version.io.quarkiverse.jackson-jq>
<version.io.quarkiverse.openapi.generator>2.4.1</version.io.quarkiverse.openapi.generator>
<version.io.quarkiverse.openapi.generator>2.5.0</version.io.quarkiverse.openapi.generator>
<version.io.quarkiverse.asyncapi>0.3.0</version.io.quarkiverse.asyncapi>
<version.io.quarkiverse.reactivemessaging.http>2.4.1</version.io.quarkiverse.reactivemessaging.http>
<version.io.quarkiverse.embedded.postgresql>0.2.3</version.io.quarkiverse.embedded.postgresql>
Expand Down Expand Up @@ -78,11 +78,11 @@
Don't add as a management dependency because it will break SpringBoot and Quarkus
Kubernetes addons since they use a different version.
-->
<version.io.fabric8.kubernetes-client>6.10.0</version.io.fabric8.kubernetes-client>
<version.io.fabric8.kubernetes-client>6.13.3</version.io.fabric8.kubernetes-client>
<version.io.micrometer>1.12.2</version.io.micrometer>
<version.org.flywaydb>9.22.3</version.org.flywaydb>
<version.org.postgresql>42.7.2</version.org.postgresql>
<version.com.h2>2.2.220</version.com.h2>
<version.org.flywaydb>10.17.3</version.org.flywaydb>
<version.org.postgresql>42.7.4</version.org.postgresql>
<version.com.h2>2.3.230</version.com.h2>
<version.io.serverlessworkflow>4.0.5.Final</version.io.serverlessworkflow>
<!-- Aligned with Quarkus 2.7 (LTS) - see https://issues.redhat.com/browse/KOGITO-7971 -->
<version.io.smallrye-open-api>3.10.0</version.io.smallrye-open-api>
Expand All @@ -102,8 +102,8 @@

<version.org.graalvm.nativeimage>23.1.2</version.org.graalvm.nativeimage>

<version.org.infinispan>14.0.27.Final</version.org.infinispan>
<version.org.infinispan.protostream>4.6.5.Final</version.org.infinispan.protostream>
<version.org.infinispan>15.0.8.Final</version.org.infinispan>
<version.org.infinispan.protostream>5.0.8.Final</version.org.infinispan.protostream>

<version.org.rocksdb>7.10.2</version.org.rocksdb>
<!-- consider migrating to 3.x JDK 9: https://jakarta.ee/specifications/restful-ws/ -->
Expand All @@ -114,7 +114,7 @@
<version.org.keycloak>24.0.4</version.org.keycloak>
<!-- It seems that the confluent kafka cannot replace wurstmeister/kafka so easily. See FAI-729 -->
<version.wurstmeister.kafka>2.12-2.2.1</version.wurstmeister.kafka>
<version.org.mongo>4.11.1</version.org.mongo>
<version.org.mongo>5.1.4</version.org.mongo>
<version.org.mongo-image>4.4.14</version.org.mongo-image>
<version.org.mozilla.rhino>1.7.13</version.org.mozilla.rhino>
<version.org.redis>2.0.4</version.org.redis>
Expand All @@ -130,11 +130,11 @@
<version.org.junit.vintage>5.10.2</version.org.junit.vintage>
<version.org.junit.platform>1.10.2</version.org.junit.platform> <!-- otherwise Quarkus brings its own, silently disabling some tests -->
<version.org.mockito>5.8.0</version.org.mockito>
<version.org.testcontainers>1.19.6</version.org.testcontainers>
<version.org.testcontainers>1.20.1</version.org.testcontainers>
<version.org.xmlunit-core>2.10.0</version.org.xmlunit-core>
<version.io.rest-assured>5.4.0</version.io.rest-assured>
<version.io.rest-assured>5.5.0</version.io.rest-assured>

<version.net.byte-buddy>1.14.11</version.net.byte-buddy>
<version.net.byte-buddy>1.14.18</version.net.byte-buddy>

<version.org.mvel>2.5.0.Final</version.org.mvel>
<version.org.reactivestreams>1.0.4</version.org.reactivestreams>
Expand Down Expand Up @@ -731,7 +731,11 @@
<artifactId>flyway-core</artifactId>
<version>${version.org.flywaydb}</version>
</dependency>

<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-database-postgresql</artifactId>
<version>${version.org.flywaydb}</version>
</dependency>
<!-- infinispan -->
<dependency>
<groupId>org.infinispan</groupId>
Expand All @@ -740,7 +744,7 @@
</dependency>
<dependency>
<groupId>org.infinispan</groupId>
<artifactId>infinispan-client-hotrod-jakarta</artifactId>
<artifactId>infinispan-client-hotrod</artifactId>
<version>${version.org.infinispan}</version>
</dependency>
<dependency>
Expand All @@ -758,7 +762,11 @@
<artifactId>protostream</artifactId>
<version>${version.org.infinispan.protostream}</version>
</dependency>

<dependency>
<groupId>org.infinispan.protostream</groupId>
<artifactId>protostream-processor</artifactId>
<version>${version.org.infinispan.protostream}</version>
</dependency>
<!--rockdb-->
<dependency>
<groupId>org.rocksdb</groupId>
Expand Down
4 changes: 4 additions & 0 deletions kogito-codegen-modules/kogito-codegen-processes/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,10 @@
<groupId>org.infinispan.protostream</groupId>
<artifactId>protostream</artifactId>
</dependency>
<dependency>
<groupId>org.infinispan.protostream</groupId>
<artifactId>protostream-processor</artifactId>
</dependency>
<dependency>
<groupId>com.github.javaparser</groupId>
<artifactId>javaparser-symbol-solver-core</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,8 @@

import java.io.IOException;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.Map.Entry;
import java.util.NoSuchElementException;
import java.util.UUID;
import java.util.function.Predicate;
import java.util.stream.Collectors;

Expand All @@ -36,11 +30,7 @@
import org.infinispan.protostream.FileDescriptorSource;
import org.infinispan.protostream.SerializationContext;
import org.infinispan.protostream.config.Configuration;
import org.infinispan.protostream.descriptors.Descriptor;
import org.infinispan.protostream.descriptors.EnumDescriptor;
import org.infinispan.protostream.descriptors.FieldDescriptor;
import org.infinispan.protostream.descriptors.FileDescriptor;
import org.infinispan.protostream.descriptors.Option;
import org.infinispan.protostream.descriptors.*;
import org.infinispan.protostream.impl.SerializationContextImpl;
import org.kie.kogito.codegen.api.context.KogitoBuildContext;
import org.kie.kogito.codegen.api.context.impl.JavaKogitoBuildContext;
Expand All @@ -54,25 +44,8 @@
import com.github.javaparser.ast.body.ClassOrInterfaceDeclaration;
import com.github.javaparser.ast.body.MethodDeclaration;
import com.github.javaparser.ast.body.VariableDeclarator;
import com.github.javaparser.ast.expr.BinaryExpr;
import com.github.javaparser.ast.expr.CastExpr;
import com.github.javaparser.ast.expr.ClassExpr;
import com.github.javaparser.ast.expr.EnclosedExpr;
import com.github.javaparser.ast.expr.Expression;
import com.github.javaparser.ast.expr.IntegerLiteralExpr;
import com.github.javaparser.ast.expr.MethodCallExpr;
import com.github.javaparser.ast.expr.NameExpr;
import com.github.javaparser.ast.expr.NullLiteralExpr;
import com.github.javaparser.ast.expr.ObjectCreationExpr;
import com.github.javaparser.ast.expr.SimpleName;
import com.github.javaparser.ast.expr.StringLiteralExpr;
import com.github.javaparser.ast.expr.VariableDeclarationExpr;
import com.github.javaparser.ast.stmt.BlockStmt;
import com.github.javaparser.ast.stmt.IfStmt;
import com.github.javaparser.ast.stmt.ReturnStmt;
import com.github.javaparser.ast.stmt.SwitchEntry;
import com.github.javaparser.ast.stmt.SwitchStmt;
import com.github.javaparser.ast.stmt.ThrowStmt;
import com.github.javaparser.ast.expr.*;
import com.github.javaparser.ast.stmt.*;
import com.github.javaparser.ast.type.ClassOrInterfaceType;

import static com.github.javaparser.ast.Modifier.Keyword.PUBLIC;
Expand Down Expand Up @@ -228,7 +201,7 @@ public List<CompilationUnit> generate(FileDescriptorSource proto) throws IOExcep
}

if (customTypeName.equals(Serializable.class.getName())) {
String fieldClazz = (String) field.getOptionByName(KOGITO_JAVA_CLASS_OPTION);
String fieldClazz = (String) field.getOptionByName(KOGITO_JAVA_CLASS_OPTION).getValue();
if (fieldClazz == null) {
throw new IllegalArgumentException(format("Serializable proto field '%s' is missing value for option %s", field.getName(), KOGITO_JAVA_CLASS_OPTION));
} else {
Expand Down Expand Up @@ -317,7 +290,11 @@ public List<CompilationUnit> generate(FileDescriptorSource proto) throws IOExcep
}

protected String packageFromOption(FileDescriptor d, Descriptor msg) {
return packageFromOption(d, msg.getOption(JAVA_PACKAGE_OPTION));
Option option = msg.getOptions().stream()
.filter(o -> JAVA_PACKAGE_OPTION.equals(o.getName()))
.findAny()
.orElse(null);
return packageFromOption(d, option);
}

protected String packageFromOption(FileDescriptor d, EnumDescriptor msg) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ protected ProtoMessage messageFromClass(Proto proto, Set<String> alreadyGenerate
ProtoField protoField = message.addField(computeCardinalityModifier(fieldTypeString), protoType, pd.getName());
protoField.setComment(completeFieldComment);
if (KOGITO_SERIALIZABLE.equals(protoType)) {
protoField.setOption(format("[(%s) = \"%s\"]", KOGITO_JAVA_CLASS_OPTION, pd.getPropertyType().getCanonicalName()));
protoField.setOption(format("[%s = \"%s\"]", KOGITO_JAVA_CLASS_OPTION, pd.getPropertyType().getCanonicalName()));
}
}
message.setComment(messageComment);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,6 @@ void testPersonMarshallers() throws Exception {
assertThat(proto.getMessages()).hasSize(1);

MarshallerGenerator marshallerGenerator = withGenerator(Person.class);

List<CompilationUnit> classes = marshallerGenerator.generate(proto.serialize());
assertThat(classes).isNotNull().hasSize(1);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -369,7 +369,7 @@ private void asserPersonProto(ProtoMessage person) {
assertThat(field.getType()).isEqualTo("kogito.Serializable");
assertThat(field.getApplicability()).isEqualTo("optional");
assertThat(field.getComment()).isEqualTo("@Field(index = Index.YES, store = Store.YES) @SortableField");
assertThat(field.getOption()).isEqualTo("[(kogito_java_class) = \"java.math.BigDecimal\"]");
assertThat(field.getOption()).isEqualTo("[kogito_java_class = \"java.math.BigDecimal\"]");

field = person.getFields().get(index++);
assertThat(field).isNotNull();
Expand All @@ -391,23 +391,23 @@ private void asserPersonProto(ProtoMessage person) {
assertThat(field.getType()).isEqualTo("kogito.Serializable");
assertThat(field.getApplicability()).isEqualTo("optional");
assertThat(field.getComment()).isEqualTo("@Field(index = Index.YES, store = Store.YES) @SortableField");
assertThat(field.getOption()).isEqualTo("[(kogito_java_class) = \"java.time.Duration\"]");
assertThat(field.getOption()).isEqualTo("[kogito_java_class = \"java.time.Duration\"]");

field = person.getFields().get(index++);
assertThat(field).isNotNull();
assertThat(field.getName()).isEqualTo("earnings");
assertThat(field.getType()).isEqualTo("kogito.Serializable");
assertThat(field.getApplicability()).isEqualTo("repeated");
assertThat(field.getComment()).isEqualTo("@Field(index = Index.YES, store = Store.YES) @SortableField");
assertThat(field.getOption()).isEqualTo("[(kogito_java_class) = \"org.kie.kogito.codegen.data.Money[]\"]");
assertThat(field.getOption()).isEqualTo("[kogito_java_class = \"org.kie.kogito.codegen.data.Money[]\"]");

field = person.getFields().get(index++);
assertThat(field).isNotNull();
assertThat(field.getName()).isEqualTo("expenses");
assertThat(field.getType()).isEqualTo("kogito.Serializable");
assertThat(field.getApplicability()).isEqualTo("repeated");
assertThat(field.getComment()).isEqualTo("@Field(index = Index.YES, store = Store.YES) @SortableField");
assertThat(field.getOption()).isEqualTo("[(kogito_java_class) = \"java.util.List\"]");
assertThat(field.getOption()).isEqualTo("[kogito_java_class = \"java.util.List\"]");

field = person.getFields().get(index++);
assertThat(field).isNotNull();
Expand All @@ -429,15 +429,15 @@ private void asserPersonProto(ProtoMessage person) {
assertThat(field.getType()).isEqualTo("kogito.Serializable");
assertThat(field.getApplicability()).isEqualTo("optional");
assertThat(field.getComment()).isEqualTo("@Field(index = Index.YES, store = Store.YES) @SortableField");
assertThat(field.getOption()).isEqualTo("[(kogito_java_class) = \"java.time.LocalDate\"]");
assertThat(field.getOption()).isEqualTo("[kogito_java_class = \"java.time.LocalDate\"]");

field = person.getFields().get(index++);
assertThat(field).isNotNull();
assertThat(field.getName()).isEqualTo("localDateTime");
assertThat(field.getType()).isEqualTo("kogito.Serializable");
assertThat(field.getApplicability()).isEqualTo("optional");
assertThat(field.getComment()).isEqualTo("@Field(index = Index.YES, store = Store.YES) @SortableField");
assertThat(field.getOption()).isEqualTo("[(kogito_java_class) = \"java.time.LocalDateTime\"]");
assertThat(field.getOption()).isEqualTo("[kogito_java_class = \"java.time.LocalDateTime\"]");

field = person.getFields().get(index++);
assertThat(field).isNotNull();
Expand All @@ -452,7 +452,7 @@ private void asserPersonProto(ProtoMessage person) {
assertThat(field.getType()).isEqualTo("kogito.Serializable");
assertThat(field.getApplicability()).isEqualTo("optional");
assertThat(field.getComment()).isEqualTo("@Field(index = Index.YES, store = Store.YES) @SortableField");
assertThat(field.getOption()).isEqualTo("[(kogito_java_class) = \"java.time.OffsetDateTime\"]");
assertThat(field.getOption()).isEqualTo("[kogito_java_class = \"java.time.OffsetDateTime\"]");

field = person.getFields().get(index++);
assertThat(field).isNotNull();
Expand All @@ -474,15 +474,15 @@ private void asserPersonProto(ProtoMessage person) {
assertThat(field.getType()).isEqualTo("kogito.Serializable");
assertThat(field.getApplicability()).isEqualTo("optional");
assertThat(field.getComment()).isEqualTo("@Field(index = Index.YES, store = Store.YES) @SortableField");
assertThat(field.getOption()).isEqualTo("[(kogito_java_class) = \"org.kie.kogito.codegen.data.Money\"]");
assertThat(field.getOption()).isEqualTo("[kogito_java_class = \"org.kie.kogito.codegen.data.Money\"]");

field = person.getFields().get(index++);
assertThat(field).isNotNull();
assertThat(field.getName()).isEqualTo("zonedDateTime");
assertThat(field.getType()).isEqualTo("kogito.Serializable");
assertThat(field.getApplicability()).isEqualTo("optional");
assertThat(field.getComment()).isEqualTo("@Field(index = Index.YES, store = Store.YES) @SortableField");
assertThat(field.getOption()).isEqualTo("[(kogito_java_class) = \"java.time.ZonedDateTime\"]");
assertThat(field.getOption()).isEqualTo("[kogito_java_class = \"java.time.ZonedDateTime\"]");
}

@Test
Expand Down
3 changes: 3 additions & 0 deletions quarkus/addons/camel/deployment/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,9 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
<compilerArgs>
<arg>-AlegacyConfigRoot=true</arg>
</compilerArgs>
</configuration>
</plugin>
</plugins>
Expand Down
3 changes: 3 additions & 0 deletions quarkus/addons/camel/runtime/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,9 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
<compilerArgs>
<arg>-AlegacyConfigRoot=true</arg>
</compilerArgs>
</configuration>
</plugin>
</plugins>
Expand Down
3 changes: 3 additions & 0 deletions quarkus/addons/dynamic/deployment/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,9 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
<compilerArgs>
<arg>-AlegacyConfigRoot=true</arg>
</compilerArgs>
</configuration>
</plugin>
</plugins>
Expand Down
4 changes: 4 additions & 0 deletions quarkus/addons/dynamic/integration-tests/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,10 @@
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-resteasy-jackson</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-resteasy-client-oidc-filter</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
Expand Down
3 changes: 3 additions & 0 deletions quarkus/addons/dynamic/runtime/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,9 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
<compilerArgs>
<arg>-AlegacyConfigRoot=true</arg>
</compilerArgs>
</configuration>
</plugin>
</plugins>
Expand Down
3 changes: 3 additions & 0 deletions quarkus/addons/events/decisions/deployment/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,9 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
<compilerArgs>
<arg>-AlegacyConfigRoot=true</arg>
</compilerArgs>
</configuration>
</plugin>
</plugins>
Expand Down
3 changes: 3 additions & 0 deletions quarkus/addons/events/mongodb/deployment/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,9 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
<compilerArgs>
<arg>-AlegacyConfigRoot=true</arg>
</compilerArgs>
</configuration>
</plugin>
</plugins>
Expand Down
Loading
Loading