hedge
hedge copied to clipboard
Task refactoring
- [x] Mark required or optional parameters
- [x] AWS
- [x] Azure
- [x] Hilight importent tasks
- [x] AWS
- [x] Azure
- [x] After #45 is merged use common.core/fail-if-false for missing required task arguments
- [x] Related task: check required environment variables as soon as possible
- [x] Design and implement common naming scheme
- [x] Discuss
- [x] Design
- [x] Implement
- [x] Namespace
- [x] Rename tasks and use common naming scheme: build, package, deploy stages. New names TBD
- [x] AWS
- [x] Azure
Start of discussion:
How Hedge should support multiple clouds with one build.boot file?
One solution:
(set-env! :source-paths #{"src"}
:resource-paths #{"resources"}
:dependencies '
[siili/boot-hedge "0.0.4-SNAPSHOT" :scope "test"]
[siili/hedge "0.0.4-SNAPSHOT"]
])
(require '[boot-hedge.aws.core :refer :all])
(require '[boot-hedge.azure.core :refer :all])
This requires that all tasks in hedge namespaces are unique. Should we refactor common tasks into common namespace and then rafactor rest of the tasks with cloud-specific postfixes or prefixes?
Other solution:
(require '[boot-hedge.common.core :refer :all])
(init-hedge! :aws :azure)
In this case first command import all common tasks and then init-hedge! import tasks for requested cloud platform. Usability? Feasibility?