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.

gradle reliability roadmap

See original GitHub issue

Reliable builds during development with support for combined gradle & IntelliJ IDEA.

I have a sort of roadmap for this. Maybe it’s the sort of thing that should be a Milestone or have a Project board, but I’ll start by writing here so it’s someplace besides my head:

Additional Criteria

Optional Side Quests

  • separate module test-dependencies from their application dependencies.
  • publish terasology gradle plugin(s) for use from other repositories.
  • extractNatives - is there a better place for this to be so IntelliJ will recognize it as a dependency and always make sure the libs exist before it runs the facade? does anything else need them other than facades? (e.g. tests, compile-time dependencies)
    • progress toward this in #4347

What you were trying to do

just, like, be consistently able to build and run stuff

What actually happened

I learned more about gradle than I ever wanted to know.

Issue Analytics

  • State:open
  • Created 3 years ago
  • Reactions:4
  • Comments:12 (12 by maintainers)

github_iconTop GitHub Comments

2reactions
keturncommented, Feb 4, 2021

decouple facade’s configuration from engine and module projects. Goal is to improve confidence that engine and all modules will be up-to-date whenever facade’s exec targets are launched. Hope is that following multi-project best practices makes this more reliable.

After #4454, this is in a much better state with regards to how facade & module are organized according to gradle’s recommendations.

IntelliJ mystery: no longer able to effectively rebuild individual modules? Right click module -> Rebuild (if no previous build directory) may result in nothing building, yet Build -> Build Project builds it fine (item added and observed by Cerv)

Time to re-test this after all the recent configuration changes.

make syncAssets task (or copyResourcesToClasses, as it’s called in engine’s build) gradle-safe. or make unnecessary by getting Gestalt to allow us to register more than one filesystem-directory to a gestalt-module.

The upgrade to v7 for gestalt-module and gestalt-asset is on the near-term roadmap now, after which I’d be interested in taking another look at this from the module-loading side.

extract cacheReflections task.

There are persistent rumors about some work in progress that’s going to replace our use of Reflections. Not sure of what forum or issue I can reference for the status of that. It might be https://github.com/MovingBlocks/gestalt/pull/83 ? But there’s no description on that so I’m not sure if it’s the right thing, or only part of the thing, or what.

#4022 got stickier than expected, and there’s been no news on the gradle issues it links. (Which doesn’t mean nothing has changed in gradle, but if it has nobody realized the change is relevant for those old issues and updated them.) What I’m saying is I’d be happy to have an excuse to drop #4022, but I don’t really know if whatever is replacing it is any easier.

1reaction
keturncommented, Sep 19, 2020

FYI: Gradle 6.7 has entered release candidate stage, which usually indicates it will be stable within a week or two.

I haven’t seen anything between 6.4 – 6.6 that makes upgrading a priority for us, but I will be interested in grabbing 6.7 before resuming work on the terasology-module gradle plugin in /buildSrc/. We don’t exactly depend on the features released in 6.7 but they did a significant amount of work under the hood to support the new Java Toolchain stuff, and that will be relevant for the parts of the build that get a little too involved with the java tasks’s implementation details, i.e. #4022.

I don’t see anything I expect to give us trouble in the upgrade guide.

Read more comments on GitHub >

github_iconTop Results From Across the Web

New Features - The Gradle Blog
Gradle 6 aims at offering actionable tools that will help deal with these kind of problems, making dependency management more maintainable and reliable....
Read more >
Improve Developer Experience - Gradle Enterprise
... with your build data to improve the reliability and performance of your build? ... so fast, and the roadmap for Gradle Enterprise....
Read more >
Top 50 interview questions and answers of Gradle
Gradle is an open-source build automation tool that is designed ... It posts the data pertaining to the roadmap to Kotlin 1.0 Gradle...
Read more >
Gradle 7.0 improves incremental builds, backs Java 16
An experimental feature for project assessors provides type safety and enables code completion in IDEs. Build reliability improvements have been ...
Read more >
What Is Gradle Enterprise? | Cprime Blogs
Automatic build scans offer a quick, easy way to get a high-level view of the quality and status of a project's builds. Gradle...
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