question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Quarkus Gradle plugin 2.1.0.Final configuration time is slow

See original GitHub issue

Describe the bug

I am upgrading our project from Quarkus 1.3.x to 2.x.x. I saw that 2.1.0.Final is on Gradle plugin portal so I tried it out, even though I know 2.1.0.Final is not released yet. I found out that 2.1.0.Final increases gradle configuration time substantially. Even gradle help now takes cca. 8s. Quarkus Gradle plugin 2.0.3.Final works ok.

It seems that problem is, that dependencies are resolved in configuration time (so in plugin.apply()) and not at execution time of the plugin as before. Since Gradle does not parallelise configuration time that well that can result in longer task startup times on multi-module projects. So every start of Gradle task is slow and can take multiple seconds even if it’s not related to Quarkus plugin: imagine debugging unit tests where every test task start takes additional 8+ seconds.

We have project with 23 modules which is not that much and from gradle scan it can be seen that configuration phase for Quarkus takes 8 seconds.

Screenshot from gradle help --scan: Screenshot 2021-07-25 at 11 40 53

Expected behavior

Quarkus Gradle plugin configures in sub second

Actual behavior

Quarkus Gradle plugin takes long time to configure

How to Reproduce?

quarkus-configuration.zip

Steps:

  1. Run gradle help multiple times -> it takes cca. 5s everytime
  2. Change version of Quarkus plugin to 2.0.3.Final in settings.gradle
  3. Run gradle help multiple times -> it takes 1s (it takes more on first run)

Output of uname -a or ver

MacBook-Pro 19.6.0

Output of java -version

openjdk version “11.0.11” 2021-04-20

GraalVM version (if different from Java)

/

Quarkus version or git rev

2.1.0.Final

Build tool (ie. output of mvnw --version or gradlew --version)

Gradle 7.1.1

Additional information

I know 2.1.0.Final is not released yet, but it might be good to know. Feel free to close it, if it is a known issue.

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:12 (9 by maintainers)

github_iconTop GitHub Comments

1reaction
joggeli34commented, Sep 23, 2021

Using Quarkus 2.2.3.CR1 solves the problem for me. The time spend in configuration is now only 1sec. The task quarkusGenerateCode takes some time, but it is only run for dependent task and works with the up-to-date check. Thanks for the fix 👍

0reactions
aloubyanskycommented, Sep 29, 2021

Great! Thanks for the feedback everyone! And @glefloch for fixing it! We’ll keep looking into improving build performance in the upcoming releases.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Building Quarkus apps with Gradle
This task will resolve all the runtime, build time, test and dev mode dependencies of the application to the Gradle cache. Once executed,...
Read more >
Why is building a Quarkus Microprofile application in version ...
I'm trying to get my first sample application of Eclipse MicroProfile up and running bundled on a Quarkus 1.10.5.Final implementation but ...
Read more >
chore(deps): update dependency io.quarkus:quarkus ... - GitLab
An error occurred while retrieving approval data for this merge request. chore(deps): update dependency io.quarkus:quarkus ...
Read more >
#quarkus getting started | Explore Tumblr Posts and Blogs | Tumpik
Tumblr media. Quarkus 2.5.1.Final 发布--. Complete changelog. #21820 – Move quarkus-devtools-testing to the quarkus-bom as it's used for extension dev.
Read more >
dplatz.de - notes of a java developer
This may be JSF (the Quarkus Universe offers a MyFaces extension), ... approach as this bundling step can slow down the turn-around time...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found