Skip to content

Commit 01711ae

Browse files
build: automation & make content enhancement
1 parent 593c285 commit 01711ae

2 files changed

Lines changed: 6 additions & 5 deletions

File tree

docs/automation/index.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Automation tools can provide a consistent command line interface across a wide r
44

55
Whilst the Clojure CLI is a very extensible tool that flexibility can also add some complexity to its command line interface.
66

7-
Using a consistent set of user aliases can help manage the command line interface, however, automation tools can abstract the command line task even further to provide a consistent and simple to user experience whilst keeping the underlying flexibility.
7+
Automation tools abstract the command line to provide a consistent and simple user experience whilst keeping underlying flexibility.
88

99
!!! HINT "Practicalli recommends make"
1010
A Makefile is not reliant on programming language knowledge so has no barrier to those who are unfamiliar with the Clojure language.
@@ -47,4 +47,3 @@ Write automation scripts with Clojure code using the [Babashka task runner](http
4747
Babashka can use a wide range of Clojure functions and libraries, although as a general script tool then additional coding and maintenance may be reqiured compared to a dedicated tool.
4848

4949
[Babashka task runner](https://book.babashka.org/#tasks){target=_blank .md-button}
50-

docs/automation/make.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@
44

55
[GNU Make](https://www.gnu.org/software/make/manual/html_node/Standard-Targets.html) provide a simple and consistent way to run any development task for Clojure & ClojureScript projects (or any other languages).
66

7-
Wrap any combination of tools (building, linting, formatting, testing) with make targets for a simple command line interface, with automatically tab completion, making any Clojure project really easy to work with. Practicalli also uses make to manage docker images and containers to support Clojure development.
7+
Wrap any combination of tools (building, linting, formatting, testing) with Make targets for a simple command line interface.
8+
9+
Make supports tab completion making tasks discoverable.
810

911
All that is required is [a `Makefile` in the root of the project](https://github.com/practicalli/dotfiles/blob/main/Makefile)
1012

@@ -89,7 +91,7 @@ deps: deps.edn ## Prepare dependencies for test and dist targets
8991
> `:test/env` adds libraries to run Kaocha and libraries used to run unit tests. `:package/uberjar` runs a tool that creates an uberjar.
9092

9193

92-
## Clean target - hiding command failure
94+
## Clean target - hiding command errors
9395

9496
The clean target should remove files and directories created by the build (compile) process, to ensure a consistent approach to building each time.
9597

@@ -153,7 +155,7 @@ Although unlikely, if a filename in the root of a project has the same name as a
153155
[phony - MakefileTutorial](https://makefiletutorial.com/#phony){target=_blank .md-button}
154156

155157

156-
## Halt on failure
158+
## Halt on error
157159

158160
`.DELETE_ON_ERROR:` halts any further commands if a command returns non-zero exit status. Useful as short-circuit to stop tasks when further work is not valuable, e.g. if tests fail then it may not be valuable to build the Clojure project.
159161

0 commit comments

Comments
 (0)