Skip to content

Conversation

@ahochheiden
Copy link
Member

  • Lazy task registration: Changed project.task() to project.tasks.register() to defer task configuration until needed
  • Deferred disk I/O: Replaced configuration-time file existence checks with execution-time checks using onlyIf and .filter { it.exists() }
  • Optional inputs: Used inputs.files().optional(true) instead of conditionally adding inputs based on file existence
  • Configuration avoidance: Replaced .all() with .configureEach() for variant iteration
  • Lazy task dependencies: Used taskProvider.configure { dependsOn() } to defer dependency setup

@ahochheiden ahochheiden requested a review from a team as a code owner November 15, 2025 00:09
@ahochheiden ahochheiden requested review from travis79 and removed request for a team November 15, 2025 00:09
@ahochheiden ahochheiden force-pushed the bug-1997963-glean-config-perf branch from 6fa8b94 to af50679 Compare November 15, 2025 01:05
Copy link
Member

@ncalexan ncalexan left a comment

Choose a reason for hiding this comment

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

Everything here looks sensible. Assuming that the onlyIf stanzas are configuration-cache compatible, roll on!

The thing that I can't verify (without significant effort) is that the configuration-time IO is appropriate, i.e., that we don't process any metrics/pings YAML until execution-time. But that can be observed later, if it shows up as we profile more of the Fenix build.

@badboy
Copy link
Member

badboy commented Nov 17, 2025

I re-kicked the CI. Seems that was an intermittent. Not sure why it happened on both Android runs on different platforms

…gradle-plugin

- Lazy task registration: Changed project.task() to project.tasks.register() to defer task configuration until needed
- Deferred disk I/O: Replaced configuration-time file existence checks with execution-time checks using onlyIf and .filter { it.exists() }
- Optional inputs: Used inputs.files().optional(true) instead of conditionally adding inputs based on file existence
- Configuration avoidance: Replaced .all() with .configureEach() for variant iteration
- Lazy task dependencies: Used taskProvider.configure { dependsOn() } to defer dependency setup
@ahochheiden ahochheiden force-pushed the bug-1997963-glean-config-perf branch from af50679 to faab52d Compare November 18, 2025 23:35
Copy link
Member

@badboy badboy left a comment

Choose a reason for hiding this comment

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

If it gets the job done, I'm happy! :)

@badboy badboy merged commit 76ed442 into mozilla:main Nov 19, 2025
27 of 28 checks passed
@ahochheiden
Copy link
Member Author

ahochheiden commented Nov 19, 2025

Thanks!

I did have one revision I wanted to make suggested by Nick. I'll open another pull request for it.

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.

3 participants