File tree Expand file tree Collapse file tree 4 files changed +41
-19
lines changed
packages/kmono-core/src/k16/kmono Expand file tree Collapse file tree 4 files changed +41
-19
lines changed Original file line number Diff line number Diff line change 44 [clojure.tools.build.api :as b]
55 [k16.kaven.deploy :as kaven.deploy]
66 [k16.kmono.build :as kmono.build]
7- [k16.kmono.core.config :as core.config]
8- [k16.kmono.core.fs :as core.fs]
97 [k16.kmono.core.graph :as core.graph]
10- [k16.kmono.core.packages :as core.packages ]
11- [k16.kmono.git.tags :as git.tags ]))
8+ [k16.kmono.git.tags :as git.tags ]
9+ [k16.kmono.workspace :as kmono.workspace ]))
1210
1311(defn- get-latest-version [dir]
1412 (some (fn [tag]
1715 (git.tags/get-sorted-tags dir)))
1816
1917(defn- load-packages []
20- (let [project-root (core.fs/find-project-root! )
21- workspace-config (core.config/resolve-workspace-config project-root)
22- packages (->> (core.packages/resolve-packages project-root workspace-config)
23- (core.graph/filter-by #(not (get-in % [:deps-edn :kmono/private ]))))
24-
25- version (get-latest-version project-root)]
18+ (let [{:keys [root packages]} (kmono.workspace/resolve-workspace-context! )
19+ packages (core.graph/filter-by packages #(not (get-in % [:deps-edn :kmono/private ])))
20+ version (get-latest-version root)]
2621
2722 (reduce
2823 (fn [packages [pkg-name pkg]]
Original file line number Diff line number Diff line change 33 [clojure.tools.build.api :as b]
44 [k16.kaven.deploy :as kaven.deploy]
55 [k16.kmono.build :as kmono.build]
6- [k16.kmono.core.config :as core.config]
76 [k16.kmono.core.fs :as core.fs]
87 [k16.kmono.core.graph :as core.graph]
9- [k16.kmono.core.packages :as core.packages]
108 [k16.kmono.git.tags :as git.tags]
119 [k16.kmono.version :as kmono.version]
12- [k16.kmono.version.alg.conventional-commits :as conventional-commits]))
10+ [k16.kmono.version.alg.conventional-commits :as conventional-commits]
11+ [k16.kmono.workspace :as kmono.workspace]))
1312
1413(defn load-packages [{:keys [skip-unchanged]}]
15- (let [project-root (core.fs/find-project-root )
16- workspace-config (core.config/resolve-workspace-config project-root)
14+ (let [{:keys [root packages]} (kmono.workspace/resolve-workspace-context! )
1715
1816 packages
19- (cond->> (->> ( core. packages/resolve-packages project-root workspace-config)
20- (kmono.version/resolve-package-versions project- root)
21- (kmono.version/resolve-package-changes project- root))
17+ (cond->> (->> packages
18+ (kmono.version/resolve-package-versions root)
19+ (kmono.version/resolve-package-changes root))
2220
2321 ; ; Only perform a build and/or release for packages which have changed
2422 ; ; since their last version; or packages whose dependencies have
Original file line number Diff line number Diff line change 77 com.kepler16/kmono-build {:local/root " ../../packages/kmono-build" }
88 com.kepler16/kmono-core {:local/root " ../../packages/kmono-core" }}
99 :ns-default build
10- :extra-paths [" build.clj " ]}}}
10+ :extra-paths [" build" ]}}}
Original file line number Diff line number Diff line change 1+ (ns k16.kmono.workspace
2+ (:require
3+ [k16.kmono.core.config :as core.config]
4+ [k16.kmono.core.fs :as core.fs]
5+ [k16.kmono.core.packages :as core.packages]))
6+
7+ (defn resolve-workspace-context!
8+ " A helper function for resolving the workspace context. This combines:
9+
10+ 1. Finding the project root
11+ 2. Resolving the kmono workspace config for the project
12+ 3. Resolving the initial package graph
13+
14+ Returns a map containing:
15+
16+ - `:root` - The project root
17+ - `:config` - The workspace config
18+ - `:packages` - The packages graph
19+
20+ Will throw an exception if the project root cannot be resolved, if anything
21+ is incorrectly configured, or fails to resolve."
22+ ([] (resolve-workspace-context! nil ))
23+ ([dir]
24+ (let [project-root (core.fs/find-project-root! dir)
25+ workspace-config (core.config/resolve-workspace-config project-root)
26+ packages (core.packages/resolve-packages project-root workspace-config)]
27+ {:root project-root
28+ :config workspace-config
29+ :packages packages})))
You can’t perform that action at this time.
0 commit comments