-
Notifications
You must be signed in to change notification settings - Fork 11
Conversation
Pull Request Test Coverage Report for Build 4538727886
💛 - Coveralls |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 🚀 Thanks :)
I think it's not necessary to jam everything in there. |
Higher level design question: should the list of files be written to the record, just in case we merge a change which changes layout of these directories? Edit: I think it's better to add a cacheVersion private field, so that when we change these things, we can ensure invalidation happens. |
Good idea. Related: Something like a |
Should this take a config or clean all folders with a cache record file? |
I think in this specific case getting a config is not necessary. |
User can change the destination to where downloaded files are stored. (We actually use this functionality in integration test with jackson-core library.) |
In what case would you not want to remove everything with |
Right. Can this be named |
Sure, it's a bit more verbose but a bit more clear. Why not go with |
That's another issue though, I think we can create another issue and discuss it further there. dart-lang/native#659 |
collect coverage step is hung infinitely
Interesting |
One of the tests randomly gets timed out. You can increase it's time limit to 1.5 or 2x for it not to fail again. |
This PR seems to be causing some problems. Let's hold this for a while. Edit: I might have mistakenedly committed a bad build.gradle file. I will take a look this evening. |
8f453b4
to
2972586
Compare
Is this ready now? |
The CI error was a stub build.gradle accidentally being committed. But I also suspect this can be less stable than expected, because cache invalidation is a classic hard topic. Merging it or not is your choice I guess. |
Need to solve some merge conflicts and implement |
Closing this for now. |
This introduces some basic caching of maven dependency download tasks. While maven local caches the dependencies, invoking maven itself can slow down
jnigen
significantly.This PR implements a simple caching mechanism based on file
last modified
timestamps. We write a JSON file containingmaven_downloads
spec. If any file in target dir has changed, or the spec itself has changed, we reinvoke maven. Otherwise maven command is not invoked.The cache record can be force-invalidated by passing
--invalidate-caches
on command line.Also, when we are at it: should we change default maven dependency download folder to somewhere in
.dart_tool
?closes: dart-lang/native#742