google/jimfs

[guava incompatibility] when is the next milestone?

or-shachar opened this issue · 5 comments

The latest release(https://github.com/google/jimfs/milestone/2) pretty old and is incompatible with guava 20 even...
I saw Guava was updated several time since the last release.
462d51a

What's holding us from releasing 2.0 (https://github.com/google/jimfs/milestone/3)?

What exactly is incompatible?

Jimfs requires an obsolete version of Guava that is incompatible with current releases. Running Jimfs with current versions of Guava causes Jimfs to crash hard:

java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;[Ljava/lang/Object;)V
	at com.google.common.jimfs.WatchServiceConfiguration$PollingConfig.<init>(WatchServiceConfiguration.java:66)
	at com.google.common.jimfs.WatchServiceConfiguration$PollingConfig.<init>(WatchServiceConfiguration.java:60)
	at com.google.common.jimfs.WatchServiceConfiguration.polling(WatchServiceConfiguration.java:45)
	at com.google.common.jimfs.WatchServiceConfiguration.<clinit>(WatchServiceConfiguration.java:37)
	at com.google.common.jimfs.Configuration$Builder.<init>(Configuration.java:309)
	at com.google.common.jimfs.Configuration$Builder.<init>(Configuration.java:281)
	at com.google.common.jimfs.Configuration.builder(Configuration.java:218)
	at com.google.common.jimfs.Configuration$UnixHolder.<clinit>(Configuration.java:90)
	at com.google.common.jimfs.Configuration.unix(Configuration.java:86)

Scratch that; this one is not Jimfs’ fault. I’ve got another project on my classpath (kotlin-compiler 1.2.21) and it embeds an even older version of Preconditions.class that doesn’t interop with Jimfs. Ick.

Also currently used guava has a security bug

A new version (1.2) has been released.