File tree Expand file tree Collapse file tree 23 files changed +144
-64
lines changed
compiled_starters/clojure
solutions/clojure/01-jm1/code
starter_templates/clojure Expand file tree Collapse file tree 23 files changed +144
-64
lines changed Original file line number Diff line number Diff line change 8
8
9
9
set -e # Exit on failure
10
10
11
- lein deps
12
- lein uberjar
11
+ clj -T:build
Original file line number Diff line number Diff line change 8
8
9
9
set -e # Exit on failure
10
10
11
- exec java -jar /tmp/codecrafters-redis-target/uberjar/ redis-0.1.0-SNAPSHOT-standalone .jar " $@ "
11
+ exec java -jar /tmp/codecrafters-build- redis-clojure/target .jar " $@ "
Original file line number Diff line number Diff line change @@ -26,7 +26,7 @@ That's all!
26
26
27
27
Note: This section is for stages 2 and beyond.
28
28
29
- 1 . Ensure you have ` lein ` installed locally
29
+ 1 . Ensure you have ` clj ` installed locally
30
30
1 . Run ` ./your_program.sh ` to run your Redis server, which is implemented in
31
31
` src/redis/core.clj ` .
32
32
1 . Commit your changes and run ` git push origin master ` to submit your solution
Original file line number Diff line number Diff line change
1
+ (ns build
2
+ (:gen-class )
3
+ (:require [clojure.tools.build.api :as b]))
4
+
5
+ (def lib 'io.codecrafters.redis )
6
+ (def class-dir " /tmp/codecrafters-build-redis-clojure/classes" )
7
+ (def basis (b/create-basis {:project " deps.edn" }))
8
+ (def uber-file " /tmp/codecrafters-build-redis-clojure/target.jar" )
9
+
10
+ (defn clean [_]
11
+ (b/delete {:path " /tmp/codecrafters-build-redis-clojure" }))
12
+
13
+ (defn uber [_]
14
+ (clean nil )
15
+ (b/copy-dir {:src-dirs [" src" ] :target-dir class-dir})
16
+ (b/compile-clj {:basis basis
17
+ :ns-compile '[redis.core]
18
+ :class-dir class-dir})
19
+ (b/uber {:class-dir class-dir
20
+ :uber-file uber-file
21
+ :basis basis
22
+ :main 'redis.core}))
Original file line number Diff line number Diff line change @@ -7,5 +7,5 @@ debug: false
7
7
# Use this to change the Clojure version used to run your code
8
8
# on Codecrafters.
9
9
#
10
- # Available versions: clojure-1.11.3
11
- language_pack : clojure-1.11.3
10
+ # Available versions: clojure-1.12.0
11
+ language_pack : clojure-1.12.0
Original file line number Diff line number Diff line change
1
+ {
2
+ :paths [" src" ]
3
+
4
+ :deps {
5
+ org.clojure/clojure {:mvn/version " 1.12.0" }
6
+ org.clojure/tools.cli {:mvn/version " 1.1.230" }
7
+ aleph/aleph {:mvn/version " 0.8.3" }
8
+ }
9
+
10
+ :aliases {
11
+ :build {
12
+ :extra-deps {io.github.clojure/tools.build {:mvn/version " 0.10.9" }}
13
+ :exec-fn build/uber
14
+ }
15
+ }
16
+ }
Load Diff This file was deleted.
Original file line number Diff line number Diff line change @@ -14,12 +14,11 @@ set -e # Exit early if any commands fail
14
14
# - Edit .codecrafters/compile.sh to change how your program compiles remotely
15
15
(
16
16
cd " $( dirname " $0 " ) " # Ensure compile steps are run within the repository directory
17
- lein deps
18
- lein uberjar
17
+ clj -T:build
19
18
)
20
19
21
20
# Copied from .codecrafters/run.sh
22
21
#
23
22
# - Edit this to change how your program runs locally
24
23
# - Edit .codecrafters/run.sh to change how your program runs remotely
25
- exec java -jar /tmp/codecrafters-redis-target/uberjar/ redis-0.1.0-SNAPSHOT-standalone .jar " $@ "
24
+ exec java -jar /tmp/codecrafters-build- redis-clojure/target .jar " $@ "
Original file line number Diff line number Diff line change
1
+ # syntax=docker/dockerfile:1.7-labs
2
+ FROM clojure:tools-deps-bookworm
3
+
4
+ # Ensures the container is re-built if dependency files change
5
+ ENV CODECRAFTERS_DEPENDENCY_FILE_PATHS="deps.edn"
6
+
7
+ WORKDIR /app
8
+
9
+ # .git & README.md are unique per-repository. We ignore them on first copy to prevent cache misses
10
+ COPY --exclude=.git --exclude=README.md . /app
11
+
12
+ # Install language-specific dependencies
13
+ RUN .codecrafters/compile.sh
Original file line number Diff line number Diff line change 8
8
9
9
set -e # Exit on failure
10
10
11
- lein deps
12
- lein uberjar
11
+ clj -T:build
Original file line number Diff line number Diff line change 8
8
9
9
set -e # Exit on failure
10
10
11
- exec java -jar /tmp/codecrafters-redis-target/uberjar/ redis-0.1.0-SNAPSHOT-standalone .jar " $@ "
11
+ exec java -jar /tmp/codecrafters-build- redis-clojure/target .jar " $@ "
Original file line number Diff line number Diff line change @@ -26,7 +26,7 @@ That's all!
26
26
27
27
Note: This section is for stages 2 and beyond.
28
28
29
- 1 . Ensure you have ` lein ` installed locally
29
+ 1 . Ensure you have ` clj ` installed locally
30
30
1 . Run ` ./your_program.sh ` to run your Redis server, which is implemented in
31
31
` src/redis/core.clj ` .
32
32
1 . Commit your changes and run ` git push origin master ` to submit your solution
Original file line number Diff line number Diff line change
1
+ (ns build
2
+ (:gen-class )
3
+ (:require [clojure.tools.build.api :as b]))
4
+
5
+ (def lib 'io.codecrafters.redis )
6
+ (def class-dir " /tmp/codecrafters-build-redis-clojure/classes" )
7
+ (def basis (b/create-basis {:project " deps.edn" }))
8
+ (def uber-file " /tmp/codecrafters-build-redis-clojure/target.jar" )
9
+
10
+ (defn clean [_]
11
+ (b/delete {:path " /tmp/codecrafters-build-redis-clojure" }))
12
+
13
+ (defn uber [_]
14
+ (clean nil )
15
+ (b/copy-dir {:src-dirs [" src" ] :target-dir class-dir})
16
+ (b/compile-clj {:basis basis
17
+ :ns-compile '[redis.core]
18
+ :class-dir class-dir})
19
+ (b/uber {:class-dir class-dir
20
+ :uber-file uber-file
21
+ :basis basis
22
+ :main 'redis.core}))
Original file line number Diff line number Diff line change @@ -7,5 +7,5 @@ debug: false
7
7
# Use this to change the Clojure version used to run your code
8
8
# on Codecrafters.
9
9
#
10
- # Available versions: clojure-1.11.3
11
- language_pack : clojure-1.11.3
10
+ # Available versions: clojure-1.12.0
11
+ language_pack : clojure-1.12.0
Original file line number Diff line number Diff line change
1
+ {
2
+ :paths [" src" ]
3
+
4
+ :deps {
5
+ org.clojure/clojure {:mvn/version " 1.12.0" }
6
+ org.clojure/tools.cli {:mvn/version " 1.1.230" }
7
+ aleph/aleph {:mvn/version " 0.8.3" }
8
+ }
9
+
10
+ :aliases {
11
+ :build {
12
+ :extra-deps {io.github.clojure/tools.build {:mvn/version " 0.10.9" }}
13
+ :exec-fn build/uber
14
+ }
15
+ }
16
+ }
Load Diff This file was deleted.
Original file line number Diff line number Diff line change @@ -14,12 +14,11 @@ set -e # Exit early if any commands fail
14
14
# - Edit .codecrafters/compile.sh to change how your program compiles remotely
15
15
(
16
16
cd " $( dirname " $0 " ) " # Ensure compile steps are run within the repository directory
17
- lein deps
18
- lein uberjar
17
+ clj -T:build
19
18
)
20
19
21
20
# Copied from .codecrafters/run.sh
22
21
#
23
22
# - Edit this to change how your program runs locally
24
23
# - Edit .codecrafters/run.sh to change how your program runs remotely
25
- exec java -jar /tmp/codecrafters-redis-target/uberjar/ redis-0.1.0-SNAPSHOT-standalone .jar " $@ "
24
+ exec java -jar /tmp/codecrafters-build- redis-clojure/target .jar " $@ "
Original file line number Diff line number Diff line change 8
8
9
9
set -e # Exit on failure
10
10
11
- lein deps
12
- lein uberjar
11
+ clj -T:build
Original file line number Diff line number Diff line change 8
8
9
9
set -e # Exit on failure
10
10
11
- exec java -jar /tmp/codecrafters-redis-target/uberjar/ redis-0.1.0-SNAPSHOT-standalone .jar " $@ "
11
+ exec java -jar /tmp/codecrafters-build- redis-clojure/target .jar " $@ "
Original file line number Diff line number Diff line change
1
+ (ns build
2
+ (:gen-class )
3
+ (:require [clojure.tools.build.api :as b]))
4
+
5
+ (def lib 'io.codecrafters.redis )
6
+ (def class-dir " /tmp/codecrafters-build-redis-clojure/classes" )
7
+ (def basis (b/create-basis {:project " deps.edn" }))
8
+ (def uber-file " /tmp/codecrafters-build-redis-clojure/target.jar" )
9
+
10
+ (defn clean [_]
11
+ (b/delete {:path " /tmp/codecrafters-build-redis-clojure" }))
12
+
13
+ (defn uber [_]
14
+ (clean nil )
15
+ (b/copy-dir {:src-dirs [" src" ] :target-dir class-dir})
16
+ (b/compile-clj {:basis basis
17
+ :ns-compile '[redis.core]
18
+ :class-dir class-dir})
19
+ (b/uber {:class-dir class-dir
20
+ :uber-file uber-file
21
+ :basis basis
22
+ :main 'redis.core}))
Original file line number Diff line number Diff line change
1
+ {
2
+ :paths [" src" ]
3
+
4
+ :deps {
5
+ org.clojure/clojure {:mvn/version " 1.12.0" }
6
+ org.clojure/tools.cli {:mvn/version " 1.1.230" }
7
+ aleph/aleph {:mvn/version " 0.8.3" }
8
+ }
9
+
10
+ :aliases {
11
+ :build {
12
+ :extra-deps {io.github.clojure/tools.build {:mvn/version " 0.10.9" }}
13
+ :exec-fn build/uber
14
+ }
15
+ }
16
+ }
Load Diff This file was deleted.
Original file line number Diff line number Diff line change 1
1
attributes :
2
- required_executable : lein
2
+ required_executable : clj
3
3
user_editable_file : src/redis/core.clj
You can’t perform that action at this time.
0 commit comments