GetFile
What is GetFile?
GetFile is a framework for keeping versioned files up to date. It can download latest changes, validate downloads, and provides rollback functionality. This general-purpose file updating tool is designed to be integrated into Java applications. GetFile will actively be maintained with bug fixes and API-compatible changes and is seamlessly deployed as GetFile is capable of updating itself. GetFile is currently code-complete and has decent test coverage. I plan to continue writing thorough tests and developing new features.
Why did we build this?
GetFile was created to enable us to host hazard models separately from version control. Models were previously stored directly with the OpenSHA code on GitHub, but due to file size restrictions of 100MB this is proving to be unsustainable. In addition to enabling the hosting of larger files, GetFile allows us to keep client applications up to date with the latest scientific models.
How will it be used?
OpenSHA does not yet have GetFile integration, but it will soon use GetFile to retrieve the UCERF3 and NSHM23 models. GetFile may also find use in other projects across SCEC, like UCVM.
Docs and Code
The source code and detailed usage and setup documentation: https://github.com/abhatthal/getfile
Demo applications using the GetFile lib: https://github.com/abhatthal/getfile-demo