Skip to content

Modularize Qute#52012

Merged
dmlloyd merged 2 commits intoquarkusio:mainfrom
dmlloyd:modularize-qute
Jan 15, 2026
Merged

Modularize Qute#52012
dmlloyd merged 2 commits intoquarkusio:mainfrom
dmlloyd:modularize-qute

Conversation

@dmlloyd
Copy link
Member

@dmlloyd dmlloyd commented Jan 15, 2026

Add module descriptors to Qute components and ensure that tests pass.

This entails a few things:
- Move test class out of `io.quarkus.qute` package and instead use `add-opens`+reflection to get at items in that package
- Change the default class generation target from `io.quarkus.qute` to `io.quarkus.qute.generated`
@dmlloyd dmlloyd requested a review from mkouba January 15, 2026 13:45
@quarkus-bot quarkus-bot bot added the area/qute The template engine label Jan 15, 2026
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<argLine>--add-reads=io.quarkus.qute=java.logging</argLine>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dmlloyd why is this needed?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No expert here, but is this to force the java.logging module into the module graph? Shouldn't --add-modules=java.logging be enough in that case?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's because the tests use JUL APIs to add handlers. Since the module doesn't normally require java.logging, the test code (which is patched into the module being tested by surefire using --patch-module) cannot load the classes which do this (because there's no "reads" edge). So we add a "reads" to the graph explicitly which allows the test class to be loaded.

I believe surefire always loads all of java.se which includes java.logging normally, so we don't need add-modules for this case.

@quarkus-bot
Copy link

quarkus-bot bot commented Jan 15, 2026

Status for workflow Quarkus CI

This is the status report for running Quarkus CI on commit 4d2fb4b.

✅ The latest workflow run for the pull request has completed successfully.

It should be safe to merge provided you have a look at the other checks in the summary.

You can consult the Develocity build scans.


Flaky tests - Develocity

⚙️ JVM Tests - JDK 21 Semeru

📦 extensions/smallrye-reactive-messaging/deployment

io.quarkus.smallrye.reactivemessaging.hotreload.ConnectorChangeTest.testUpdatingConnector - History

  • Expecting actual: ["-3","-5","-6","-7","-8","-9","-10","-11"] to start with: ["-3", "-4", "-5", "-6"] - java.lang.AssertionError
Details
java.lang.AssertionError: 

Expecting actual:
  ["-3","-5","-6","-7","-8","-9","-10","-11"]
to start with:
  ["-3", "-4", "-5", "-6"]

	at io.quarkus.smallrye.reactivemessaging.hotreload.ConnectorChangeTest.testUpdatingConnector(ConnectorChangeTest.java:36)

⚙️ JVM Tests - JDK 17 Windows

📦 extensions/micrometer-opentelemetry/deployment

io.quarkus.micrometer.opentelemetry.deployment.compatibility.MicrometerTimedInterceptorTest.testTimeMethod_Failed - History

  • Expected metrics data to contain a single point, none found - org.opentest4j.AssertionFailedError
Details
org.opentest4j.AssertionFailedError: Expected metrics data to contain a single point, none found
	at org.junit.jupiter.api.AssertionUtils.fail(AssertionUtils.java:42)
	at org.junit.jupiter.api.Assertions.fail(Assertions.java:143)
	at io.quarkus.micrometer.opentelemetry.deployment.common.MetricDataFilter.lastReadingDataPoint(MetricDataFilter.java:237)
	at io.quarkus.micrometer.opentelemetry.deployment.compatibility.MicrometerTimedInterceptorTest.testTimeMethod_Failed(MicrometerTimedInterceptorTest.java:99)

⚙️ JVM Integration Tests - JDK 17 Windows

📦 integration-tests/vertx-http

io.quarkus.it.vertx.UploadUnlimitedTestCase.uploadSizeLimitedByConfig - History

  • An established connection was aborted by the software in your host machine - java.net.SocketException
Details
java.net.SocketException: An established connection was aborted by the software in your host machine
	at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:330)
	at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:355)
	at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:808)
	at java.base/java.net.Socket$SocketInputStream.read(Socket.java:966)
	at java.base/java.io.BufferedInputStream.fill(BufferedInputStream.java:244)
	at java.base/java.io.BufferedInputStream.read1(BufferedInputStream.java:284)
	at java.base/java.io.BufferedInputStream.read(BufferedInputStream.java:343)

@dmlloyd dmlloyd merged commit c764ec7 into quarkusio:main Jan 15, 2026
65 checks passed
@dmlloyd dmlloyd deleted the modularize-qute branch January 15, 2026 19:06
@quarkus-bot quarkus-bot bot added this to the 3.32 - main milestone Jan 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants