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

Update JavaFXPlugin to lazy-load and configure task #142

Closed

Conversation

mattbertolini
Copy link

@mattbertolini mattbertolini commented Feb 6, 2023

Update JavaFXPlugin to lazy-load and configure task

Motivation

When using the JavaFX Gradle plugin in conjunction with Gradle Enterprise, the build scan identified that this plugin was eagerly loading a task into the task graph when it did not need to. This slows down large builds with hundreds of modules and tasks. Since Gradle 5.0 the concept of task configuration avoidance was added. This helps speed up builds by only registering tasks when they are needed. This commit updates the JavaFX plugin to use task configuration avoidance.

Modifications

Moving to task configuration avoidance is fairly straightforward. There is a guide in the documentation. The instance of the create() method was changed to the corresponding register() method.

Result

The result is a Gradle plugin that leverages task configuration avoidance improving build times.

Motivation
----------

When using the JavaFX Gradle plugin in conjunction with Gradle Enterprise, the
build scan identified that this plugin was eagerly loading a task into the task
graph when it did not need to. This slows down large builds with hundreds of
modules and tasks. Since Gradle 5.0 the concept of task configuration
avoidance [1] was added. This helps speed up builds by only registering tasks
when they are needed. This commit updates the JavaFX plugin to use task
configuration avoidance.

Modifications
-------------

Moving to task configuration avoidance is fairly straightforward. There is a
guide in the documentation [1]. The instance of the create() method was changed
to the corresponding register() method.

Result
------

The result is a Gradle plugin that leverages task configuration avoidance
improving build times.

[1] https://docs.gradle.org/current/userguide/task_configuration_avoidance.html
@sschuberth
Copy link

This PR has conflicts now that #151 was merged.

@mattbertolini mattbertolini deleted the lazy-load-tasks-update branch September 15, 2023 13:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants