Skip to content

Commit 75f8379

Browse files
authored
Merge pull request #46342 from gsmet/3.19.0-backports-2
[3.19] 3.19.0 backports 2
2 parents e380631 + c53a7e4 commit 75f8379

File tree

60 files changed

+849
-160
lines changed

Some content is hidden

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

60 files changed

+849
-160
lines changed

bom/application/pom.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<cyclonedx.version>9.0.5</cyclonedx.version>
2323
<expressly.version>5.0.0</expressly.version>
2424
<findbugs.version>3.0.2</findbugs.version>
25-
<jandex.version>3.2.6</jandex.version>
25+
<jandex.version>3.2.7</jandex.version>
2626
<javax.annotation-api.version>1.3.2</javax.annotation-api.version>
2727
<javax.inject.version>1</javax.inject.version>
2828
<parsson.version>1.1.7</parsson.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.1</flyway.version>
161+
<flyway.version>11.3.2</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>
@@ -211,7 +211,7 @@
211211
<java-buildpack-client.version>0.0.12</java-buildpack-client.version>
212212
<org-crac.version>0.1.3</org-crac.version>
213213
<sshd-common.version>2.12.1</sshd-common.version>
214-
<mime4j.version>0.8.11</mime4j.version>
214+
<mime4j.version>0.8.12</mime4j.version>
215215
<mutiny-zero.version>1.1.1</mutiny-zero.version>
216216
<pulsar-client.version>3.3.0</pulsar-client.version>
217217
<async-http-client.version>2.12.4</async-http-client.version>

build-parent/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
<jboss-bridger-plugin.version>1.6.Final</jboss-bridger-plugin.version>
3030

3131
<!-- Jandex versions -->
32-
<jandex.version>3.2.6</jandex.version>
32+
<jandex.version>3.2.7</jandex.version>
3333
<jandex-gradle-plugin.version>1.0.0</jandex-gradle-plugin.version>
3434

3535
<asciidoctorj.version>2.5.13</asciidoctorj.version>

core/deployment/src/main/java/io/quarkus/deployment/images/ContainerImages.java

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -91,10 +91,22 @@ public class ContainerImages {
9191

9292
// === Source To Image images
9393

94-
// Quarkus Binary Source To Image - https://quay.io/repository/quarkus/ubi-quarkus-native-binary-s2i?tab=tags
95-
public static final String QUARKUS_BINARY_S2I_IMAGE_NAME = "quay.io/quarkus/ubi-quarkus-native-binary-s2i";
96-
public static final String QUARKUS_BINARY_S2I_VERSION = "2.0";
97-
public static final String QUARKUS_BINARY_S2I = QUARKUS_BINARY_S2I_IMAGE_NAME + ":" + QUARKUS_BINARY_S2I_VERSION;
94+
// UBI 8 Quarkus Binary Source To Image - https://quay.io/repository/quarkus/ubi-quarkus-native-binary-s2i?tab=tags
95+
public static final String UBI8_QUARKUS_BINARY_S2I_IMAGE_NAME = "quay.io/quarkus/ubi-quarkus-native-binary-s2i";
96+
public static final String UBI8_QUARKUS_BINARY_S2I_VERSION = "2.0";
97+
public static final String UBI8_QUARKUS_BINARY_S2I = UBI8_QUARKUS_BINARY_S2I_IMAGE_NAME + ":"
98+
+ UBI8_QUARKUS_BINARY_S2I_VERSION;
99+
100+
// UBI 9 Quarkus Binary Source To Image - https://quay.io/repository/quarkus/ubi9-quarkus-native-binary-s2i?tab=tags
101+
public static final String UBI9_QUARKUS_BINARY_S2I_IMAGE_NAME = "quay.io/quarkus/ubi9-quarkus-native-binary-s2i";
102+
public static final String UBI9_QUARKUS_BINARY_S2I_VERSION = "2.0";
103+
public static final String UBI9_QUARKUS_BINARY_S2I = UBI9_QUARKUS_BINARY_S2I_IMAGE_NAME + ":"
104+
+ UBI9_QUARKUS_BINARY_S2I_VERSION;
105+
106+
// default Quarkus Binary Source To Image - https://quay.io/repository/quarkus/ubi9-quarkus-native-binary-s2i?tab=tags
107+
public static final String QUARKUS_BINARY_S2I_IMAGE_NAME = UBI9_QUARKUS_BINARY_S2I_IMAGE_NAME;
108+
public static final String QUARKUS_BINARY_S2I_VERSION = UBI9_QUARKUS_BINARY_S2I_VERSION;
109+
public static final String QUARKUS_BINARY_S2I = UBI9_QUARKUS_BINARY_S2I;
98110

99111
// Java 17 Source To Image - https://catalog.redhat.com/software/containers/ubi9/openjdk-17/61ee7c26ed74b2ffb22b07f6
100112
public static final String S2I_JAVA_17_IMAGE_NAME = "registry.access.redhat.com/ubi9/openjdk-17";

core/deployment/src/main/java/io/quarkus/deployment/pkg/NativeConfig.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -95,9 +95,8 @@ public interface NativeConfig {
9595
*
9696
* @deprecated Use the global quarkus.default-locale.
9797
*/
98-
@WithConverter(TrimmedStringConverter.class)
9998
@Deprecated
100-
Optional<String> userLanguage();
99+
Optional<@WithConverter(TrimmedStringConverter.class) String> userLanguage();
101100

102101
/**
103102
* Defines the user country used for building the native executable.
@@ -108,9 +107,8 @@ public interface NativeConfig {
108107
*
109108
* @deprecated Use the global quarkus.default-locale.
110109
*/
111-
@WithConverter(TrimmedStringConverter.class)
112110
@Deprecated
113-
Optional<String> userCountry();
111+
Optional<@WithConverter(TrimmedStringConverter.class) String> userCountry();
114112

115113
/**
116114
* Defines the file encoding as in {@code -Dfile.encoding=...}.

docs/src/main/asciidoc/qute-reference.adoc

Lines changed: 45 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2367,12 +2367,34 @@ TIP: A list element can be accessed directly via an index: `{list.10}` or even `
23672367
* `fmt` or `format`: Formats the string instance via `java.lang.String.format()`
23682368
** `{myStr.fmt("arg1","arg2")}`
23692369
** `{myStr.format(locale,arg1)}`
2370+
2371+
* `+`: Infix notation for concatenation, works with `String` and `StringBuilder` base objects
2372+
** `{item.name + '_' + mySuffix}`
2373+
** `{name + 10}`
2374+
2375+
* `str:['<value>']`: Returns the string value, e.g. to easily concatenate another string value
2376+
** `{str:['/path/to/'] + fileName}`
2377+
23702378
* `str:fmt` or `str:format`: Formats the supplied string value via `java.lang.String.format()`
23712379
** `{str:format("Hello %s!",name)}`
23722380
** `{str:fmt(locale,'%tA',now)}`
2373-
* `+`: Concatenation
2374-
** `{item.name + '_' + mySuffix}`
2375-
** `{name + 10}`
2381+
** `{str:fmt('/path/to/%s', fileName)}`
2382+
2383+
* `str:concat`: Concatenates the string representations of the specified arguments.
2384+
** `{str:concat("Hello ",name,"!")}` yields `Hello Foo!` if `name` resolves to `Foo`
2385+
** `{str:concat('/path/to/', fileName)}`
2386+
2387+
* `str:join`: Joins the string representations of the specified arguments together with a delimiter.
2388+
** `{str:join('_','Qute','is','cool')}` yields `Qute_is_cool`
2389+
2390+
* `str:builder`: Returns a new string builder.
2391+
** `{str:builder('Qute').append("is").append("cool!")}` yields `Qute is cool!`
2392+
** `{str:builder('Qute') + "is" + whatisqute + "!"}` yields `Qute is cool!` if `whatisqute` resolves to `cool`
2393+
2394+
* `str:eval`: Evaluates the string representation of the first argument as a template in the <<current_context_object,current context>>.
2395+
** `{str:eval('Hello {name}!')` yields `Hello lovely!` if `name` resolves to `lovely`
2396+
** `{str:eval(myTemplate)}` yields `Hello lovely!` if `myTemplate` resolves to `Hello {name}!` and `name` resolves to `lovely`
2397+
** `{str:eval('/path/to/{fileName}')}` yields `/path/to/file.txt` if `fileName` resolves to `file.txt`
23762398

23772399
===== Config
23782400

@@ -3082,8 +3104,10 @@ TIP: There is also <<convenient-annotation-for-enums,`@TemplateEnum`>> - a conve
30823104

30833105
==== Message Templates
30843106

3085-
Every method of a message bundle interface must define a message template. The value is normally defined by `io.quarkus.qute.i18n.Message#value()`,
3086-
but for convenience, there is also an option to define the value in a localized file.
3107+
Every method of a message bundle interface must define a message template.
3108+
The value is normally defined by `io.quarkus.qute.i18n.Message#value()`, but for convenience, there is also an option to define the value in a localized file.
3109+
Message templates are validated during the build.
3110+
If a missing message template is detected, an exception is thrown and the build fails.
30873111

30883112
.Example of the Message Bundle Interface without the value
30893113
[source,java]
@@ -3114,8 +3138,23 @@ goodbye=Best regards, {name} <1>
31143138
----
31153139
<1> The value is ignored as `io.quarkus.qute.i18n.Message#value()` is always prioritized.
31163140

3117-
Message templates are validated during the build. If a missing message template is detected, an exception is thrown and build fails.
3141+
It is also possible to define a _default message template_.
3142+
The default template is only used if the `Message#value()` is not specified and no relevant message template is defined in a localized file.
31183143

3144+
.Example of the Message Bundle Interface with a default value
3145+
[source,java]
3146+
----
3147+
import io.quarkus.qute.i18n.Message;
3148+
import io.quarkus.qute.i18n.MessageBundle;
3149+
3150+
@MessageBundle
3151+
public interface AppMessages {
3152+
3153+
@Message(defaultValue = "Goodbye {name}!") <1>
3154+
String goodbye(String name);
3155+
}
3156+
----
3157+
<1> The annotation value is only used if no message template is defined in a localized file.
31193158

31203159
=== Configuration Reference
31213160

extensions/agroal/runtime/src/main/java/io/quarkus/agroal/runtime/DataSourceJdbcBuildTimeConfig.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,7 @@ public interface DataSourceJdbcBuildTimeConfig {
2121
/**
2222
* The datasource driver class name
2323
*/
24-
@WithConverter(TrimmedStringConverter.class)
25-
Optional<String> driver();
24+
Optional<@WithConverter(TrimmedStringConverter.class) String> driver();
2625

2726
/**
2827
* Whether we want to use regular JDBC transactions, XA, or disable all transactional capabilities.

extensions/agroal/runtime/src/main/java/io/quarkus/agroal/runtime/DataSourceJdbcRuntimeConfig.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,7 @@ public interface DataSourceJdbcRuntimeConfig {
2121
/**
2222
* The datasource URL
2323
*/
24-
@WithConverter(TrimmedStringConverter.class)
25-
Optional<String> url();
24+
Optional<@WithConverter(TrimmedStringConverter.class) String> url();
2625

2726
/**
2827
* The initial size of the pool. Usually you will want to set the initial size to match at least the

extensions/datasource/runtime/src/main/java/io/quarkus/datasource/runtime/DataSourceBuildTimeConfig.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,7 @@ public interface DataSourceBuildTimeConfig {
1414
/**
1515
* The kind of database we will connect to (e.g. h2, postgresql...).
1616
*/
17-
@WithConverter(DatabaseKindConverter.class)
18-
Optional<String> dbKind();
17+
Optional<@WithConverter(DatabaseKindConverter.class) String> dbKind();
1918

2019
/**
2120
* The version of the database we will connect to (e.g. '10.0').
@@ -46,8 +45,7 @@ public interface DataSourceBuildTimeConfig {
4645
*
4746
* @asciidoclet
4847
*/
49-
@WithConverter(TrimmedStringConverter.class)
50-
Optional<String> dbVersion();
48+
Optional<@WithConverter(TrimmedStringConverter.class) String> dbVersion();
5149

5250
/**
5351
* Dev Services.

extensions/datasource/runtime/src/main/java/io/quarkus/datasource/runtime/DataSourceRuntimeConfig.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,7 @@ public interface DataSourceRuntimeConfig {
3333
/**
3434
* The credentials provider name
3535
*/
36-
@WithConverter(TrimmedStringConverter.class)
37-
Optional<String> credentialsProvider();
36+
Optional<@WithConverter(TrimmedStringConverter.class) String> credentialsProvider();
3837

3938
/**
4039
* The credentials provider bean name.
@@ -45,6 +44,5 @@ public interface DataSourceRuntimeConfig {
4544
* <p>
4645
* For Vault, the credentials provider bean name is {@code vault-credentials-provider}.
4746
*/
48-
@WithConverter(TrimmedStringConverter.class)
49-
Optional<String> credentialsProviderName();
47+
Optional<@WithConverter(TrimmedStringConverter.class) String> credentialsProviderName();
5048
}

extensions/datasource/runtime/src/main/java/io/quarkus/datasource/runtime/DevServicesBuildTimeConfig.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,7 @@ public interface DevServicesBuildTimeConfig {
2929
* <p>
3030
* This has no effect if the provider is not a container-based database, such as H2 or Derby.
3131
*/
32-
@WithConverter(TrimmedStringConverter.class)
33-
Optional<String> imageName();
32+
Optional<@WithConverter(TrimmedStringConverter.class) String> imageName();
3433

3534
/**
3635
* Environment variables that are passed to the container.
@@ -65,13 +64,12 @@ public interface DevServicesBuildTimeConfig {
6564
* <p>
6665
* This has no effect if the provider is not a container-based database, such as H2 or Derby.
6766
*/
68-
@WithConverter(TrimmedStringConverter.class)
69-
Optional<String> command();
67+
Optional<@WithConverter(TrimmedStringConverter.class) String> command();
7068

7169
/**
7270
* The database name to use if this Dev Service supports overriding it.
7371
*/
74-
Optional<String> dbName();
72+
Optional<@WithConverter(TrimmedStringConverter.class) String> dbName();
7573

7674
/**
7775
* The username to use if this Dev Service supports overriding it.

0 commit comments

Comments
 (0)