Open msridhar opened 4 years ago
Definitely a gradle plugin bug. These bugs are the reason why the skipVersionCheck
option exists.
The root cause is that one of the ways we try to determine the CF version is by reading the actual checker.jar file's metadata (this is a fallback method, but it ends up being used fairly often). That involves unzipping the jar, which fails if the file name is too long (as you can see from the exception, that's what happened here). The workaround, as you discovered, is to use skipVersionCheck = true
.
Sorry you ran into this. I'm going to leave the issue open because the failing repo will be useful to test on if we ever think we can fix this.
Ah right I see this is already documented. In any case good to have an open issue about it.
Is it a particular API call that fails when the file name is too long? Could we just copy the jar file to a temp directory (which presumably will have a shorter path) and unzip that copy?
To reproduce, clone https://github.com/msridhar/obj-cons-autovalue-example and do:
I get the following output:
The problem is fixed if we add
skipVersionCheck = true
to thecheckerFramework
block; see commit https://github.com/msridhar/obj-cons-autovalue-example/commit/d9f8c7f61fb03a1a307f9c2bfbb9ebbbc56a9575.Not sure if this is a Gradle plugin bug or a CF bug.