* 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
* [uishell] Rename UIRequestCycle as ProgressUI
* [uishell] Rename ProgressUI.handle as requestCycle
* [uishell] Remove upload from ProgressUI upon error
* [uishell] Remove upload from ProgressUI upon completion
* [sbt] Rename storage-api as storage
* [storage] remove dependency upon console
* [storage] remove dependency upon config
* [console] remove dependency upon config
* [sbt] Add app module
Make cli module actually cli, by moving CliArgs parser into it and
Main and Program into app.
* add app that depends on cli and thorp-lib
* move non-cli specific to app
* make cli depend on config
* make cli not depend on thorp-lib
* [sbt] make module dependencies more explicit
* make app depend on storage-aws
* make cli depend on filesystem's tests
* make thorp-lib depend on core
* make thorp-lib not depend on storage-aws
* make storage-aws not depend on core's tests
* make storage-aws depend on storage
* make storage-aws depend on filesystem and its tests
* make storage-aws depend on console
* make storage-aws depend on core
* make core depend on filesystem and its tests
* make filesystem depend on domain and its tests
* [sbt] merge thorp-lib with core as lib
* [sbt] add zio streams
* [lib] Add EIPTest
* [sbt] Allow NonUnitStatements
* [lib] EIPTest Message Channel rewritten using ZIO Stream
* [sbt] Add eip-zip 0.2.0 as dependency in lib
* Remove file counter and total upload size progress
Simplifying UnversionedMirrorArchive so we can create it before we
know what actions are needed.
* Fetch Remote Data before preparing any plans
* [domain] RemoteObjects only holds a single RemoteKey per Hash
Having multiple keys for a hash is redundant. They are only used to
create copy commands, and only one source remote key is needed for
that.
* [lib] Add a State trait
* [lib] Add FileScanner
* Add FileSystem.length(File)
* Add Clock to the Environment
* [domain] Sources update format
* [domain] Asking for a path that isn't in any Sources is fatal
There should never be any situation where are path not within a Source
is supplied. If there is, then something is badly wrong.
* [lib] Add test on use of zio.Ref
* [uishell] Add stub module
* [sbt] Upgrade eip-zio from 0.2.0 to 0.3.0
* [uishell] Add UIEvent stub
* [uishell] Add UIShell stub
* [sbt] Add eip-zio dependencies to app module
* [app] Wrap existing execution in simple point to point channel
* [uishell] Add UIEvent.ShowValidConfig
* [app] Remember to end the channel to allow prog to exit
* [app] purify environment for showValidConfig
* [app] Create type alias for pure effect free channel ref
* [app] Program refactoring
* [uishell] Add UIEvent.RemoteDataFetched
* [domain] Move Counters from lib
* [uishell] Add UIEvent.ShowSummary
* [lib] Add stub for PushLocalChanges
* [lib] Clean up FileScanner Environment types
* [lib] End channel after scanning files
* [lib] PushLocalChanges uses FileScanner
Scans files and sends them to a dummy receiver.
* [uishell] Add UIEvent.FileFound
* [lib] rename PushLocalChanges.apply as LocalFielSystem.scanCopyUpload
* [lib] FileScanner return LocalFile
* [domain] add length to LocalFile
* [domain] Add interogation queries to RemoteObjects
* [domain] Remove RemoteObject.keyForHashes
* [domain] RemoteObjects.remoteHasHash return the key and the hash
* [lib] LocalFileSystem.scanCopyUpload create Actions
* [domain] Move Action from lib
* [uishell] Log actions
* [lib] FileScanner respects Filters
* [lib] Create remoteKey for files correctly
* [lib] LocalFileSystem refactoring
* [lib] ThorpArchive.update doesn't need Console
* [uishell] Don't log choosen Action
* [uishell] Add UIEvent.ActionFinished
* [lib] LocalFileSystem refactoring
* [lib] Switch to using LocalFileSystem to do Copy/Upload
Todo or Broken:
- [ ] Delete actions don't happen
- [ ] Counters in summary are all zeros
* [lib] LocalFileStream display summary counters correctly
* [app] Restore ability to delete remote files
* [lib] LocalFileSystem deletes remote when local does NOT exist
* [filesystem] move hasLocalFile to FileSystem
* [filesystem] fix detection of local files from a RemoteKey
The configured Prefix wasn't being taken into account, meaning that
the expected local file for a RemoteKey was wrong.
* [filesystem] fix broken FileSystem test
* [domain] fix RemoteKey test
* [sbt] Upgrade eip-zio to 0.3.1 for zio-stream 1.0.0-RC12-1 compatibility
* [app] Program refactorting
* [lib] Remove unused class
* [lib] Remove test
* [uishell] Refactor large method