From 4610968193df10af12c91f699fec39aeb3ef703a Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Sat, 10 Jul 2021 03:10:43 -0400 Subject: Made the "try" macro into a common one, instead of a host-specific one. --- stdlib/source/program/aedifex.lux | 7 ++++++- stdlib/source/program/aedifex/command/deps.lux | 17 +++++++++++++---- stdlib/source/program/aedifex/dependency/resolution.lux | 7 +++---- 3 files changed, 22 insertions(+), 9 deletions(-) (limited to 'stdlib/source/program') diff --git a/stdlib/source/program/aedifex.lux b/stdlib/source/program/aedifex.lux index 772f57d88..f5ec4caf2 100644 --- a/stdlib/source/program/aedifex.lux +++ b/stdlib/source/program/aedifex.lux @@ -17,7 +17,8 @@ [binary (#+ Binary)] ["." text ["%" format (#+ format)] - ["." encoding]] + [encoding + ["." utf8]]] [format ["." xml]] [collection @@ -77,6 +78,8 @@ [resolution (/command/deps.do! console (/repository/local.repository program (file.async file.default)) (..repositories profile) + (|>> (/repository/remote.repository http.default #.None) + /repository.async) profile)] ((command console program (file.async file.default) (shell.async shell.default) resolution) profile))) @@ -172,6 +175,8 @@ (/command/deps.do! console (/repository/local.repository program (file.async file.default)) (..repositories profile) + (|>> (/repository/remote.repository http.default #.None) + /repository.async) profile)) (#/cli.Compilation compilation) diff --git a/stdlib/source/program/aedifex/command/deps.lux b/stdlib/source/program/aedifex/command/deps.lux index 4dcc9d6e1..e4881986b 100644 --- a/stdlib/source/program/aedifex/command/deps.lux +++ b/stdlib/source/program/aedifex/command/deps.lux @@ -14,6 +14,7 @@ [text ["%" format]]] [world + [net (#+ URL)] [program (#+ Program)] ["." file] ["." console (#+ Console)]]] @@ -35,12 +36,20 @@ ///artifact.format %.text)) -(def: #export (do! console local remotes profile) - (-> (Console Promise) (Repository Promise) (List (Repository Promise)) (Command Resolution)) +(def: #export (do! console local remotes new_repository profile) + (-> (Console Promise) (Repository Promise) (List (Repository Promise)) (-> URL (Repository Promise)) (Command Resolution)) (do promise.monad [#let [dependencies (set.to_list (get@ #///.dependencies profile))] - [local_successes local_failures cache] (///dependency/resolution.all console (list local) dependencies ///dependency/resolution.empty) - [remote_successes remote_failures resolution] (///dependency/resolution.all console remotes dependencies cache)] + [local_successes local_failures cache] (///dependency/resolution.all console + (list local) + new_repository + dependencies + ///dependency/resolution.empty) + [remote_successes remote_failures resolution] (///dependency/resolution.all console + remotes + new_repository + dependencies + cache)] (do ///action.monad [cached (|> (dictionary.keys cache) (list\fold dictionary.remove resolution) diff --git a/stdlib/source/program/aedifex/dependency/resolution.lux b/stdlib/source/program/aedifex/dependency/resolution.lux index 63c3e930d..2cbb469ab 100644 --- a/stdlib/source/program/aedifex/dependency/resolution.lux +++ b/stdlib/source/program/aedifex/dependency/resolution.lux @@ -196,8 +196,8 @@ [_ (..announce_failure console repository (get@ #//.artifact dependency))] (any console alternatives dependency)))))) -(def: #export (all console repositories dependencies resolution) - (-> (Console Promise) (List (Repository Promise)) (List Dependency) Resolution +(def: #export (all console repositories new_repository dependencies resolution) + (-> (Console Promise) (List (Repository Promise)) (-> URL (Repository Promise)) (List Dependency) Resolution (Promise [(List Dependency) (List Dependency) Resolution])) @@ -237,8 +237,7 @@ ///package.repositories (try\map set.to_list) (try.default (list)) - (list\map (|>> (///repository/remote.repository http.default #.None) - ///repository.async)) + (list\map new_repository) (list\compose repositories))] [successes failures resolution] (recur sub_repositories (#.Cons head successes) -- cgit v1.2.3