Skip to content

Commit a0e530f

Browse files
committed
feat: 🎸 add example for clojure lein project deps
In Clojure, Lein tool is used to generate template for various projects. Lein project metadata (including project dependencies) are stored in prject.clj (in root directory) file. Lein downloads dependencies in classpath (~/.m2/repository). So here I am caching ~/.m2/repository path for reusing cache in subsequent builds.
1 parent afc669e commit a0e530f

2 files changed

Lines changed: 15 additions & 0 deletions

File tree

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ Every programming language and framework has its own way of caching.
7979
See [Examples](examples.md) for a list of `actions/cache` implementations for use with:
8080

8181
- [C# - NuGet](./examples.md#c---nuget)
82+
- [Clojure - Lein Deps](./examples.md#clojure---lein-deps)
8283
- [D - DUB](./examples.md#d---dub)
8384
- [Deno](./examples.md#deno)
8485
- [Elixir - Mix](./examples.md#elixir---mix)

examples.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Examples
22

33
- [C# - NuGet](#c---nuget)
4+
- [Clojure - Lein Deps](#clojure---lein-deps)
45
- [D - DUB](#d---dub)
56
- [POSIX](#posix)
67
- [Windows](#windows)
@@ -80,6 +81,19 @@ steps:
8081
${{ runner.os }}-nuget-
8182
```
8283

84+
## Clojure - Lein Deps
85+
86+
```yaml
87+
- name: Cache lein project dependencies
88+
uses: actions/cache@v3
89+
with:
90+
path: ~/.m2/repository
91+
key: ${{ runner.os }}-clojure-${{ hashFiles('**/project.clj') }}
92+
restore-keys: |
93+
${{ runner.os }}-clojure
94+
```
95+
96+
8397
## D - DUB
8498

8599
### POSIX

0 commit comments

Comments
 (0)