MasterFileSystem exports SPI for versioning support. There is expected that
module that provides implementation of FileSystem that should be plugable into
MasterFileSystem must implement at least
MasterFileSystem doesn't provide pure client API but has tiny API that
is intended just for SPI providers (slightly disputable if it should be called API or SPI).
All SPI are plugable, registred by Lookup.
Image handling moved to
masterfs.ui module, AnnotationProvider
findExtrasFor method to replace
direct reference to
A way to temporarily suspend native listeners.
fileLocked method to
throw IOException is
source incompatible, but
binary compatible. As masterfs friends are always compiled at the same time as
masterfs, and even if they will not, they will link (as the change is binary
compatible), we modified the method signature to throw
Implementation of native listeners has been moved to separate modules, so the masterfs itself does not depend on JNA library.
CvsFileSystemwill be now provided by
MasterFileSystem. There will be guaranteed that there won't be more instances of FileObject addressing one
FileUtil.toFileObjectand so on, and thus implicitly depend on the existence of this module. In the future a provide-require token might make sense.
Read more about the implementation in the answers to architecture questions.