This allows us to move the dependency versions back into
gradle.properties so version for plugins and dependencies are declared
in a centralized way.
This commit also removes the legacy macOS framework dependencies.
The values need to implement the SoftCache.Cacheable<K> interface
where K is the key type. By doing this they promise to keep a
reference to the key. Not doing so will eventually cause the value
from being removed from the cache.
We add a custom task to compile the module-info with a newer java version.
To ensure the module-info is correct we need to compile it together with all other project sources.