Skip to content
This repository has been archived by the owner on Feb 11, 2022. It is now read-only.

Up-to-date checks for tasks #120

Closed
tasomaniac opened this issue Aug 7, 2018 · 6 comments
Closed

Up-to-date checks for tasks #120

tasomaniac opened this issue Aug 7, 2018 · 6 comments

Comments

@tasomaniac
Copy link
Contributor

I have been using the plugin more and more in a big multi-module codebase. Some tasks have proper up-to-date checks but some not.

I can come up with a list with more details but from what I observe, ktlint and checkstyle has up-to-date support on task level. lint, findbugs and detekt do not. I'm not sure about PMD

Having proper up-to-date support will drastically improve multi-module evaluateViolations task speed.

Opening this issue to track this behavior and ask your opinion.

@tasomaniac
Copy link
Contributor Author

tasomaniac commented Aug 7, 2018

I'm planning to create an Pull Request with Gradle tests around up-to-date check. Maybe even later around cacheability.

@rock3r
Copy link
Contributor

rock3r commented Aug 7, 2018

That's great! Detekt's plugin is being re-written and I hope it'll get proper up-to-date and cacheability support. PMD incrementality is not supported yet I think, I had seen something on Gradle's own issue tracker about it some time ago (PMD loudly complains about it every time). Lint's incrementality might depend on the version of AGP and thus Lint itself.

@tasomaniac
Copy link
Contributor Author

Yes, I would start investigating on Detekt once the new plugin is released.

For Lint, I'm almost sure that it is not gonna be possible for quite some time. Even with the upcoming AGP versions. Not sure when they are planning to do this. If I can find a issue link, will post here.

@CristianGM
Copy link

Lint will be rewritten soon probably, but so far is not cacheable or incremental and it can't be without rethinking how it works completely.

@tasomaniac
Copy link
Contributor Author

Confirmed that the new version of detekt has up-to-date support.
I am seeing up-to-date with findbugs too. The new versions of Gradle might have fixed it. #148 adds cache support for html report generation.

Gotta check how to make collectViolations tasks cacheable. Since they parse the xml reports, they are actually not that fast.

@mr-archano
Copy link
Contributor

@tasomaniac it will be easy to make them cacheable if we tackle #43

I also would consider to change the violations evaluator to be more customisable (Violations as we use them should be just one of the possible way of dealing with the tools outputs)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

5 participants