From d89d837de3475b75587a4293e094d755d2cd4626 Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Tue, 17 Nov 2020 20:23:53 -0400 Subject: Made the syntax of ^template more consistent. --- stdlib/source/program/aedifex/command/deps.lux | 37 ++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 stdlib/source/program/aedifex/command/deps.lux (limited to 'stdlib/source/program/aedifex/command/deps.lux') diff --git a/stdlib/source/program/aedifex/command/deps.lux b/stdlib/source/program/aedifex/command/deps.lux new file mode 100644 index 000000000..91bbf0ec1 --- /dev/null +++ b/stdlib/source/program/aedifex/command/deps.lux @@ -0,0 +1,37 @@ +(.module: + [lux #* + [abstract + [monad (#+ do)]] + [control + [concurrency + ["." promise]]] + [data + [collection + ["." set (#+ Set)] + ["." list ("#\." functor)]]] + [world + ["." file]]] + ["." /// #_ + [command (#+ Command)] + [artifact (#+ Artifact)] + ["#" profile] + ["#." action (#+ Action)] + ["#." cache] + ["#." repository] + ["#." dependency #_ + ["#" resolution]]]) + +(def: #export (do! profile) + (Command (Set Artifact)) + (do ///action.monad + [cache (///cache.read-all (file.async file.default) + (set.to-list (get@ #///.dependencies profile)) + ///dependency.empty) + resolution (///dependency.all (list\map (|>> ///repository.remote ///repository.async) + (set.to-list (get@ #///.repositories profile))) + (set.to-list (get@ #///.dependencies profile)) + cache) + cached (///cache.write-all (file.async file.default) + resolution) + #let [_ (log! "Successfully resolved dependencies!")]] + (wrap cached))) -- cgit v1.2.3