https://github.com/pmonks/tools-convenience
Convenience fns for tools.build scripts
https://github.com/pmonks/tools-convenience
clojure tools-build
Last synced: 4 months ago
JSON representation
Convenience fns for tools.build scripts
- Host: GitHub
- URL: https://github.com/pmonks/tools-convenience
- Owner: pmonks
- License: mpl-2.0
- Created: 2021-10-25T20:42:53.000Z (over 4 years ago)
- Default Branch: dev
- Last Pushed: 2026-01-20T21:26:56.000Z (5 months ago)
- Last Synced: 2026-01-21T07:05:02.551Z (5 months ago)
- Topics: clojure, tools-build
- Language: Clojure
- Homepage:
- Size: 169 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# tools-convenience
[](https://github.com/pmonks/tools-convenience/actions?query=workflow%3ACI+branch%3Adev)
[](https://github.com/pmonks/tools-convenience/actions?query=workflow%3Adependencies+branch%3Adev) |
[](https://clojars.org/com.github.pmonks/tools-convenience/)
[](https://github.com/pmonks/tools-convenience/blob/release/LICENSE)
[](https://github.com/pmonks/tools-convenience/issues)

Various convenience fns for [tools.build](https://github.com/clojure/tools.build)-based build scripts.
**NOTE: This library almost certainly won't work on "raw" Windows, and it is unknown if it works on [WSL](https://docs.microsoft.com/en-us/windows/wsl/about).**
## Using the library
### Dependency
Include a maven dependency on the library in your `deps.edn`, for a build tool alias:
```edn
:aliases
:build
{:deps {com.github.pmonks/tools-convenience {:mvn/version "LATEST_CLOJARS_VERSION"}}
:ns-default your.build.ns}
```
### Require the Namespace
```clojure
(ns your.build.ns
(:require [tools-convenience.api :as tc]))
```
### API Documentation
[API documentation is available here](https://pmonks.github.io/tools-convenience/).
## Contributor Information
[Contributing Guidelines](https://github.com/pmonks/tools-convenience/blob/release/.github/CONTRIBUTING.md)
[Bug Tracker](https://github.com/pmonks/tools-convenience/issues)
[Code of Conduct](https://github.com/pmonks/tools-convenience/blob/release/.github/CODE_OF_CONDUCT.md)
### Developer Workflow
This project uses the [git-flow branching strategy](https://nvie.com/posts/a-successful-git-branching-model/), and the permanent branches are called `release` and `dev`. Any changes to the `release` branch are considered a release and auto-deployed (JARs to Clojars, API docs to GitHub Pages, etc.).
For this reason, **all development must occur either in branch `dev`, or (preferably) in temporary branches off of `dev`.** All PRs from forked repos must also be submitted against `dev`; the `release` branch is **only** updated from `dev` via PRs created by the core development team. All other changes submitted to `release` will be rejected.
### Build Tasks
`tools-convenience` uses [`tools.build`](https://clojure.org/guides/tools_build). You can get a list of available tasks by running:
```
clojure -A:deps -T:build help/doc
```
Of particular interest are:
* `clojure -T:build test` - run the unit tests
* `clojure -T:build lint` - run the linters (clj-kondo and eastwood)
* `clojure -T:build ci` - run the full CI suite (check for outdated dependencies, run the unit tests, run the linters)
* `clojure -T:build install` - build the JAR and install it locally (e.g. so you can test it with downstream code)
Please note that the `deploy` task is restricted to the core development team (and will not function if you run it yourself).
## License
Copyright © 2021 Peter Monks
Distributed under the [Mozilla Public License, version 2.0](https://www.mozilla.org/en-US/MPL/2.0/).
SPDX-License-Identifier: [`MPL-2.0`](https://spdx.org/licenses/MPL-2.0)