This file represents a location on disk that can be used by the ClassDiscovery
class to facilitate caching. Files will be automatically managed by this class,
and it provides high level functions for getting a cache, regardless of whether
or not it actually exists yet.
This is the name of the jar annotation file. getResource(ClassDiscovery.OUTPUT_FILENAME) should
return the file that was output during the build, for this jar for sure. Third party libs
may not be using the same convention though, so this will fail. Regardless, the system should
still function, though it will have to do one time cache setup first.
Given a file location, retrieves the ClassDiscoveryURLCache from it.
If it is a jar, and the jarInfo.ser file exists, it is returned. If not,
the file is hashed, and checked for a local cache copy, and if so, that is
returned. If not, one is created, saved to disk, then returned.
No exceptions will be thrown from this class, if something fails, it will fall back
to ultimately just regenerating the cache from source.
fromClassLocation - The jar to be cached. Note that if this doesn't
denote a jar, the cache will not be written to disk, however a URLCache will
be returned none-the-less.