- Creates a reusable editor function
- Skipping confirmations will also skip opening up the editor
* Allows for complete generation without intentional interruption
- Rewrite to support new arguments
* Related design changes and refactoring
* Remove prompt for testing (use `dev=on` instead)
- Factor out superscript gen from subscript append
- Related print formatting changes
- Add more internal checks
- Allows for a dynamic `gen` experience
* All configs/accounts can now be (re)generated on-the-fly
- Individually, by section, or all at once
* Adds prompt confirmation option
* Adds developer profile option
This commit brings a complete overhaul of the build system:
- Creates a separation of concerns for 'local' and 'remote' building
* 'local' is built locally via the docker-finance `build` command
* 'remote' is built *outside* of the docker-finance `build` command
(pushed to a remote registry and then pulled by the 'local' build)
* Related refactoring
- Dockerfiles
- `lib_gen`
- Adds remote image 'hledger-suite'
* Provides the latest versions of all `hledger` related binaries
* No longer relies on package maintainers / out-dated packages
- Adds remote image 'docker-finance'
* Provides base image for 'finance' and 'dev-tools' images
- tags 'archlinux' | 'ubuntu' | 'dev-tools'
- Removes previous `hledger` related build modules
* Removes building any `hledger` related binaries locally
- Removes 'experimental' build
* End-user can use local custom Dockerfile and/or custom tag instead
- Updates the 'default' | 'slim' | 'tiny' | 'micro' build types
* Refactors build type requirements into separate build modules
- Adds 'fetch' module
- Adds 'track' module
- Adds 'user' module
* creates container user *after* base and all other modules
* allows for quick re-building across multiple local users
- Updates 'root' module
* `lib_docker`
- Updates usage help
- Adds build modules per build type
- Huge optimizations
* Vastly improves build times
- ~60% faster w/ a fresh build
- ~60%-90% faster rebuild (depending on image type)
* Vastly improves image sizes
- e.g., 'default' Arch Linux image size is ~50% smaller
- Exports globals to caller for "library" support (export to `plugins`, etc.)
- Removes enforcement of initializing "constructor" with 2nd arg (`command`)
* Arg not needed since external/internal checks already in place
* Context specific: if needed, caller should always check if set
* Removal needed so library can be used within a library context
- `basename` fix to allow for bash completion
- Generates new custom plugin directory layout upon `gen`
* Allows for drop-in client-side/container-side custom plugins
- Moved container plugin example into container's plugins
* Plugin is no longer generated upon `gen` (it's available in-repo)
- Updates plugin example
- Provides requisite lib_finance initialization
- Refactored, added more checks
- Expand example case
- Linter fixes
- `dfi` is now primary unified command (saves fingers)
* `docker-finance` is still available, as this is only an addition
- Also fixes missing line continuation during install (#104)