Liking cljdoc? Tell your friends :D

k16.kmono.core.graph


?ExecOrderclj

source

ensure-no-cycles!clj

(ensure-no-cycles! packages)

Same as k16.kmono.core.graph/find-cycles but will throw an exception if any cycles are found.

Same as `k16.kmono.core.graph/find-cycles` but will throw an exception if any
cycles are found.
sourceraw docstring

filter-byclj

(filter-by filter-fn packages)
(filter-by filter-fn {:keys [include-dependents]} packages)

Filter a given map of packages by those that the given filter-fn predicate returns true.

If the :include-dependents property is true then all dependent packages of the retained packages will also be kept.

This function will update the :depends-on and :dependent keys of each retained package to include only other packages that still remain.

It's generally recommended to use this function instead of writing your own package filtering. If you need to write your own then you should also make sure to keep the :depends-on and :dependents updated.

Filter a given map of `packages` by those that the given `filter-fn`
predicate returns `true`.

If the `:include-dependents` property is `true` then all dependent packages of
the retained packages will also be kept.

This function will update the `:depends-on` and `:dependent` keys of each
retained package to include only other packages that still remain.

It's generally recommended to use this function instead of writing your own
package filtering. If you need to write your own then you should also make
sure to keep the `:depends-on` and `:dependents` updated.
sourceraw docstring

find-cyclesclj

(find-cycles packages)

Try find cyclic dependencies between packages in a given packages map

Try find cyclic dependencies between packages in a given `packages` map
sourceraw docstring

parallel-topo-sortclj

(parallel-topo-sort packages)

Sort a give packages map by the order in which the packages therein depend on each other.

As an example, if I have 3 packages a, b, c and b depends on a then:

(parallel-topo-sort {a {} b {} c {}})
;; => [[a c] [b]]

This is generally used to calculate the execution order of packages when trying to run commands in subpackages or build/release packages in the correct order.

Sort a give `packages` map by the order in which the packages therein depend
on each other.

As an example, if I have 3 packages `a`, `b`, `c` and `b` depends on `a` then:

```clojure
(parallel-topo-sort {a {} b {} c {}})
;; => [[a c] [b]]
```

This is generally used to calculate the execution order of packages when
trying to run commands in subpackages or build/release packages in the
correct order.
sourceraw docstring

query-dependentsclj

(query-dependents packages pkg-name)

Find all transitive dependent packages of pkg-name within the give packages map.

Find all transitive dependent packages of `pkg-name` within the give
`packages` map.
sourceraw docstring

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close