code.framework.link
all-linkages
added in 4.0
(all-linkages project)(all-linkages tag project {:keys [packages], :as deploy})gets all linkages
(all-linkages (make-project))
collect
added in 3.0
(collect)(collect packages lookups project)(collect packages lookups project {:keys [overlapped missing], :or {overlapped :error, missing :none}})cellects all information given lookups and project
collect-entries
added in 3.0
(collect-entries packages lookups)collects all entries given packages and lookups
(-> (collect-entries -packages- -lookups-) (get-in ’xyz.zcaudate/std.lib :entries)) => coll?
collect-entries-single
added in 3.0
(collect-entries-single package lookup)collects all namespaces for given lookup and package
(collect-entries-single (get -packages- ’xyz.zcaudate/std.lib) (:clj -lookups-)) => coll?
collect-external-deps
added in 3.0
(collect-external-deps packages)collects dependencies from the local system
(collect-external-deps ’{:a {:dependencies org.clojure/clojure}}) => (contains-in {:a {:dependencies ’org.clojure/clojure string?}})
collect-internal-deps
added in 3.0
(collect-internal-deps packages)collects all internal dependencies
collect-linkages
added in 3.0
(collect-linkages packages lookups)collects all imports and exports of a package
collect-transfers
added in 3.0
(collect-transfers packages lookups project)collects all files that are packaged
create-file-lookups
added in 3.0
(create-file-lookups project)creates file-lookups for clj, cljs and cljc files
(-> (create-file-lookups (project/project)) (get-in :clj ’std.lib.version)) => (str (fs/path “src/std/lib/version.clj”))
file-linkage
added in 3.0
(file-linkage path)returns the exports and imports of a given file
(file-linkage “src/code/link/common.clj”) => ’{:exports #{:class code.framework.link.common.FileInfo :clj code.framework.link.common}, :imports #{:clj std.fs :clj std.lib}}
make-linkages
added in 3.0
(make-linkages project)(make-linkages tag project {:keys [packages], :as deploy})creates linkages
(make-linkages (make-project)) => map?
make-project
added in 3.0
(make-project)(make-project _)makes a maven compatible project
(make-project) => map?
missing-entries
added in 3.0
(missing-entries packages lookups)finds missing entries given packages and lookup
(missing-entries ’{b {:name b :entries #{:clj hara.1 :clj hara.2}}} ’{:clj {hara.1 "" hara.2 "" hara.3 ""}}) => ’{:clj {hara.3 ""}}
overlapped-entries
added in 3.0
(overlapped-entries packages)finds any overlapped entries for given map
(overlapped-entries ’{a {:name a :entries #{:clj hara.1}} b {:name b :entries #{:clj hara.1 :clj hara.2}}}) => ’([#{a b} #{:clj hara.1}])
overlapped-entries-single
added in 3.0
(overlapped-entries-single x heap)finds any overlaps between entries
(overlapped-entries-single ’{:name a :entries #{:clj hara.1}} ’[{:name b :entries #{:clj hara.1 :clj hara.2}}]) => ’([#{a b} #{:clj hara.1}])
read-packages
added in 3.0
(read-packages)(read-packages {:keys [root file], :as input})reads in a list of packages to (-> (read-packages {:file “config/packages.edn”}) (get ’xyz.zcaudate/std.lib)) => (contains {:description string? :name ’xyz.zcaudate/std.lib})
select-manifest
added in 3.0
(select-manifest packages manifest)selects all related manifests
(select-manifest {:a {:internal #{:b}} :b {:internal #{:c}} :c {:internal #{}} :d {:internal #{}}} :a) => {:a {:internal #{:b}} :b {:internal #{:c}} :c {:internal #{}}}