* [BROKEN]Remove ZIO and EIP-ZIO
* [BROKEN]uishell.UIShell.receiver: implement
* [BROKEN]domain.Channel: new implementation replacing MessageChannel
* [BROKEN] use domain.Channel
* Shutdown filescanner channel when finished
* start the uiChannel
* domain.Channel: channel completes once shutdown and queue empty
* uishell: down use eraseLineForward in batch mode
* lib: set file runner before adding listener
* uishell: don’t log do nothing events when not in batch mode
* domain.Channel: if exception in child thread then shutdown channel
* uishell: use correct line endings for showing chosen actions
* domain.Channel: don’t wait for shutdown if not running
* domain: remove legacy MessageChannel
* domain.Channel: don’t hold thread array
* lib.LocalFileSystem: restore delete scanner
* lib.LocalFileSystem: shutdown deletetion channel
* domain.Channel: improved shutdown logic
* clean up
* uishell.UploadProgressEvent: convert to Java
* uishell.UIEvent: convert to Java
* uishell.ProgressUI: convert to Java
* uishell.ProgressEvent: remove unused
* lib.MessageChannel: added as replacement for eip-zio version
* domain: move MessageChannel to module
* storage: convert to Java
* Add root and parent pom.xml files
* parent: add scala-maven-plugin to pluginManagement
* fix packaging
* domain: add module
* parent,domain: add dependencies
* maven: add filesystem module
* parent: disable coverage and pitest
* domain: move classes from test to main as they are used in filesystem
* config: add module
* console: add module
* Add reactor-graph
* fix typo
* uishell: add module
* Restore explicit dependencies
Don’t depend upon transitive dependencies if we want to be able to restructure module dependencies.
* storage: add module
* lib: add module
Included adding a Resource case class in filesystem to replace one generated by a scala plugin
* storage-aws: add module
* cli: add module
* app: add module
* app: make jar runnable
* Updated build instructions in README
* Convert readme to markdown
* Add reactor graph to readme
* Switch Guthub Actions to using Maven to build
* [domain] Define Hashes in domain package
* [filesystem] Load and parse any .thorp.cache files found
* [filesystem] Use cached file data when available and up-to-date
* [lib] FileScanner refactoring
* [filesystem] scan sub-dirs first to minimise time cache is on heap
* [filesystem] Write new cache data to temp file
* [lib] replace cache file when finished updating
* [filesystem] AppendLines to correct file with new lines
* [domain] decode HashType from String
* [filesystem] Store last modified time as epoch milliseconds
* [filesystem] parse lastmodified as a long
* [filesystem] use all hash values in cache
* [lib] FileScanner rearrange code
* [lib] Create and use a single cache file per source
* [storage-aws] Use ETag hash from cache when available
* [filesystem] Merge file data together correctly
* [filesystem] Handle exceptions thrown by Files.mode correctly
* [readme] Add section on caching
* [changelog] updated
* [changelog] add pending dependencies notes
* [lib] Filters should not name methods after their defining object
* [lib] Fix up test