|
787 | 787 | project-edn (assoc :project project-edn)
|
788 | 788 | extra-edn (assoc :extra extra-edn))))
|
789 | 789 |
|
790 |
| -(defmacro ^:private in-project-dir |
791 |
| - "If project deps.edn is not in the current dir, push project directory |
792 |
| - into current directory context while creating basis. Local deps use paths |
793 |
| - relative to project dir. Use anaphoric 'assumed-project in body." |
794 |
| - [project-deps & body] |
795 |
| - `(if (and (instance? String ~project-deps) |
796 |
| - (not (.equals dir/*the-dir* (.getParentFile (jio/file ~project-deps))))) |
797 |
| - (dir/with-dir (.getParentFile (jio/file ~project-deps)) |
798 |
| - (let [~'assumed-project (.getName (jio/file ~project-deps))] |
799 |
| - ~@body)) |
800 |
| - (let [~'assumed-project ~project-deps] |
801 |
| - ~@body))) |
802 |
| - |
803 | 790 | (defn create-basis
|
804 | 791 | "Create a basis from a set of deps sources and a set of aliases. By default, use
|
805 | 792 | root, user, and project deps and no argmaps (essentially the same classpath you get by
|
|
812 | 799 | subprocesses (tool, resolve-deps, make-classpath-map).
|
813 | 800 |
|
814 | 801 | Options:
|
| 802 | + :dir - directory root path, defaults to current directory |
815 | 803 | :root - dep source, default = :standard
|
816 | 804 | :user - dep source, default = :standard
|
817 |
| - :project - dep source, default = :standard (\"./deps.edn\") |
| 805 | + :project - dep source, default = :standard (\"deps.edn\") |
818 | 806 | :extra - dep source, default = nil
|
819 | 807 | :aliases - coll of aliases, default = nil
|
820 | 808 |
|
|
834 | 822 | :libs - lib map, per resolve-deps
|
835 | 823 | :classpath - classpath map per make-classpath-map
|
836 | 824 | :classpath-roots - vector of paths in classpath order"
|
837 |
| - [{:keys [root user project extra aliases] :as params}] |
838 |
| - (in-project-dir project |
839 |
| - (let [project assumed-project ;; use anaphoric for project deps in context of project dir |
840 |
| - params (cond-> params (contains? params :project) (assoc :project project)) |
841 |
| - |
842 |
| - basis-config (cond-> nil |
| 825 | + [{:keys [dir root user project extra aliases] :as params}] |
| 826 | + (dir/with-dir (jio/file (or dir ".")) |
| 827 | + (let [basis-config (cond-> nil |
843 | 828 | (contains? params :root) (assoc :root root)
|
844 | 829 | (contains? params :project) (assoc :project project)
|
845 | 830 | (contains? params :user) (assoc :user user)
|
|
0 commit comments