mirror of
https://github.com/urbit/shrub.git
synced 2025-01-06 13:14:01 +03:00
General error message cleanup.
This commit is contained in:
parent
5d2f6f5885
commit
e123410f03
@ -584,6 +584,12 @@
|
|||||||
|= =rail
|
|= =rail
|
||||||
^- beam
|
^- beam
|
||||||
[[ship.disc.rail desk.disc.rail [%ud 0]] spur.rail]
|
[[ship.disc.rail desk.disc.rail [%ud 0]] spur.rail]
|
||||||
|
:: +rail-to-path: pretty-printable rail
|
||||||
|
::
|
||||||
|
++ rail-to-path
|
||||||
|
|= =rail
|
||||||
|
^- path
|
||||||
|
(en-beam (rail-to-beam rail))
|
||||||
:: +unify-jugs: make a new jug, unifying sets for all keys
|
:: +unify-jugs: make a new jug, unifying sets for all keys
|
||||||
::
|
::
|
||||||
++ unify-jugs
|
++ unify-jugs
|
||||||
@ -2150,19 +2156,23 @@
|
|||||||
?~ toplevel-result
|
?~ toplevel-result
|
||||||
(return-blocks [toplevel-build]~)
|
(return-blocks [toplevel-build]~)
|
||||||
::
|
::
|
||||||
?. ?=([~ %success %scry *] toplevel-result)
|
?: ?=([~ %error *] toplevel-result)
|
||||||
?~ errors
|
::
|
||||||
(wrap-error toplevel-result)
|
=/ =path (rail-to-path path-to-render)
|
||||||
|
?~ errors
|
||||||
|
%- return-error
|
||||||
|
:- [%leaf "ford: %bake {<renderer>} on {<path>} failed:"]
|
||||||
|
message.u.toplevel-result
|
||||||
::
|
::
|
||||||
?> ?=([~ %error *] toplevel-result)
|
|
||||||
=/ braces [[' ' ' ' ~] ['{' ~] ['}' ~]]
|
=/ braces [[' ' ' ' ~] ['{' ~] ['}' ~]]
|
||||||
%- return-error :~
|
%- return-error :~
|
||||||
[%leaf "ford: %bake {<renderer>} failed:"]
|
[%leaf "ford: %bake {<renderer>} on {<path>} failed:"]
|
||||||
[%leaf "as-renderer"]
|
[%leaf "as-renderer"]
|
||||||
[%rose braces errors]
|
[%rose braces errors]
|
||||||
[%leaf "as-mark"]
|
[%leaf "as-mark"]
|
||||||
[%rose braces message.u.toplevel-result]
|
[%rose braces message.u.toplevel-result]
|
||||||
==
|
==
|
||||||
|
?> ?=([~ %success %scry *] toplevel-result)
|
||||||
::
|
::
|
||||||
=/ toplevel-arch=arch ;;(arch q.q.cage.u.toplevel-result)
|
=/ toplevel-arch=arch ;;(arch q.q.cage.u.toplevel-result)
|
||||||
:: find the :sub-path-segments that could be files
|
:: find the :sub-path-segments that could be files
|
||||||
@ -2181,7 +2191,12 @@
|
|||||||
[%scry %c %y path-to-render(spur [sub spur.path-to-render])]
|
[%scry %c %y path-to-render(spur [sub spur.path-to-render])]
|
||||||
::
|
::
|
||||||
=^ maybe-schematic-results out
|
=^ maybe-schematic-results out
|
||||||
(perform-schematics sub-schematics %fail-on-errors *@ta)
|
%- perform-schematics :*
|
||||||
|
"ford: %bake {<renderer>} on {<path>} contained failures:"
|
||||||
|
sub-schematics
|
||||||
|
%fail-on-errors
|
||||||
|
*@ta
|
||||||
|
==
|
||||||
?~ maybe-schematic-results
|
?~ maybe-schematic-results
|
||||||
out
|
out
|
||||||
:: marks: list of the marks of the files at :path-to-render
|
:: marks: list of the marks of the files at :path-to-render
|
||||||
@ -2221,20 +2236,24 @@
|
|||||||
?~ alts-result
|
?~ alts-result
|
||||||
(return-blocks [alts-build]~)
|
(return-blocks [alts-build]~)
|
||||||
::
|
::
|
||||||
?. ?=([~ %success %alts *] alts-result)
|
?: ?=([~ %error *] alts-result)
|
||||||
|
=/ =path (rail-to-path path-to-render)
|
||||||
?~ errors
|
?~ errors
|
||||||
(wrap-error alts-result)
|
%- return-error
|
||||||
|
:- [%leaf "ford: %bake {<renderer>} on {<path>} failed:"]
|
||||||
|
message.u.alts-result
|
||||||
::
|
::
|
||||||
?> ?=([~ %error *] alts-result)
|
|
||||||
=/ braces [[' ' ' ' ~] ['{' ~] ['}' ~]]
|
=/ braces [[' ' ' ' ~] ['{' ~] ['}' ~]]
|
||||||
%- return-error :~
|
%- return-error :~
|
||||||
[%leaf "ford: %bake {<renderer>} failed:"]
|
[%leaf "ford: %bake {<renderer>} on {<path>} failed:"]
|
||||||
[%leaf "as-renderer"]
|
[%leaf "as-renderer"]
|
||||||
[%rose braces errors]
|
[%rose braces errors]
|
||||||
[%leaf "as-mark"]
|
[%leaf "as-mark"]
|
||||||
[%rose braces message.u.alts-result]
|
[%rose braces message.u.alts-result]
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
|
?> ?=([~ %success %alts *] alts-result)
|
||||||
|
::
|
||||||
=/ =build-result
|
=/ =build-result
|
||||||
[%success %bake (result-to-cage u.alts-result)]
|
[%success %bake (result-to-cage u.alts-result)]
|
||||||
::
|
::
|
||||||
@ -2253,8 +2272,13 @@
|
|||||||
?~ path-result
|
?~ path-result
|
||||||
(return-blocks [path-build]~)
|
(return-blocks [path-build]~)
|
||||||
::
|
::
|
||||||
?. ?=([~ %success %path *] path-result)
|
?: ?=([~ %error *] path-result)
|
||||||
(wrap-error path-result)
|
%- return-error
|
||||||
|
:_ message.u.path-result
|
||||||
|
:- %leaf
|
||||||
|
"ford: %bunt resolving path for {<mark>} on {<disc>} failed:"
|
||||||
|
::
|
||||||
|
?> ?=([~ %success %path *] path-result)
|
||||||
:: build the mark core from source
|
:: build the mark core from source
|
||||||
::
|
::
|
||||||
=/ core-build=^build [date.build [%core rail.u.path-result]]
|
=/ core-build=^build [date.build [%core rail.u.path-result]]
|
||||||
@ -2263,8 +2287,13 @@
|
|||||||
?~ core-result
|
?~ core-result
|
||||||
(return-blocks [core-build]~)
|
(return-blocks [core-build]~)
|
||||||
::
|
::
|
||||||
?. ?=([~ %success %core *] core-result)
|
?: ?=([~ %error *] core-result)
|
||||||
(wrap-error core-result)
|
%- return-error
|
||||||
|
:_ message.u.core-result
|
||||||
|
:- %leaf
|
||||||
|
"ford: %bunt compiling mark {<mark>} on {<disc>} failed:"
|
||||||
|
::
|
||||||
|
?> ?=([~ %success %core *] core-result)
|
||||||
:: extract the sample from the mark core
|
:: extract the sample from the mark core
|
||||||
::
|
::
|
||||||
=/ mark-vase=vase vase.u.core-result
|
=/ mark-vase=vase vase.u.core-result
|
||||||
@ -2307,8 +2336,12 @@
|
|||||||
?~ slit-result
|
?~ slit-result
|
||||||
(return-blocks [date.build slit-schematic]~)
|
(return-blocks [date.build slit-schematic]~)
|
||||||
::
|
::
|
||||||
?. ?=([~ %success %slit *] slit-result)
|
?: ?=([~ %error *] slit-result)
|
||||||
(wrap-error slit-result)
|
%- return-error
|
||||||
|
:- [%leaf "ford: %call failed type calculation"]
|
||||||
|
message.u.slit-result
|
||||||
|
::
|
||||||
|
?> ?=([~ %success %slit *] slit-result)
|
||||||
::
|
::
|
||||||
=/ =cache-key [%call gate-vase sample-vase]
|
=/ =cache-key [%call gate-vase sample-vase]
|
||||||
=^ cached-result out (access-cache cache-key)
|
=^ cached-result out (access-cache cache-key)
|
||||||
@ -2328,7 +2361,7 @@
|
|||||||
(blocked-paths-to-receipt %call blocked-paths)
|
(blocked-paths-to-receipt %call blocked-paths)
|
||||||
::
|
::
|
||||||
%2
|
%2
|
||||||
(return-error [[%leaf "ford: %call failed:"] p.val])
|
(return-error [[%leaf "ford: %call execution failed:"] p.val])
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
++ make-cast
|
++ make-cast
|
||||||
@ -2342,8 +2375,12 @@
|
|||||||
?~ input-result
|
?~ input-result
|
||||||
(return-blocks [input-build]~)
|
(return-blocks [input-build]~)
|
||||||
::
|
::
|
||||||
?. ?=([~ %success *] input-result)
|
?: ?=([~ %error *] input-result)
|
||||||
(wrap-error input-result)
|
%- return-error
|
||||||
|
:- [%leaf "ford: %cast {<mark>} on {<disc>} failed on input:"]
|
||||||
|
message.u.input-result
|
||||||
|
::
|
||||||
|
?> ?=([~ %success *] input-result)
|
||||||
::
|
::
|
||||||
=/ result-cage=cage (result-to-cage u.input-result)
|
=/ result-cage=cage (result-to-cage u.input-result)
|
||||||
::
|
::
|
||||||
@ -2355,8 +2392,12 @@
|
|||||||
?~ translation-path-result
|
?~ translation-path-result
|
||||||
(return-blocks [translation-path-build]~)
|
(return-blocks [translation-path-build]~)
|
||||||
::
|
::
|
||||||
?. ?=([~ %success %walk *] translation-path-result)
|
?: ?=([~ %error *] translation-path-result)
|
||||||
(wrap-error translation-path-result)
|
%- return-error
|
||||||
|
:- [%leaf "ford: %cast {<mark>} on {<disc>} failed:"]
|
||||||
|
message.u.translation-path-result
|
||||||
|
::
|
||||||
|
?> ?=([~ %success %walk *] translation-path-result)
|
||||||
::
|
::
|
||||||
=/ translation-path=(list mark-action)
|
=/ translation-path=(list mark-action)
|
||||||
results.u.translation-path-result
|
results.u.translation-path-result
|
||||||
@ -2408,7 +2449,7 @@
|
|||||||
[[%blocks [mark-path-build]~] out]
|
[[%blocks [mark-path-build]~] out]
|
||||||
::
|
::
|
||||||
?. ?=([~ %success %path *] mark-path-result)
|
?. ?=([~ %success %path *] mark-path-result)
|
||||||
(cast-wrap-error mark-path-result)
|
(cast-wrap-error %grab source-mark target-mark mark-path-result)
|
||||||
::
|
::
|
||||||
=/ mark-core-build=^build [date.build [%core rail.u.mark-path-result]]
|
=/ mark-core-build=^build [date.build [%core rail.u.mark-path-result]]
|
||||||
::
|
::
|
||||||
@ -2426,7 +2467,7 @@
|
|||||||
[[%blocks [grab-build]~] out]
|
[[%blocks [grab-build]~] out]
|
||||||
::
|
::
|
||||||
?. ?=([~ %success %ride *] grab-result)
|
?. ?=([~ %success %ride *] grab-result)
|
||||||
(cast-wrap-error grab-result)
|
(cast-wrap-error %grab source-mark target-mark grab-result)
|
||||||
:: find an arm for the input's mark within the +grab core
|
:: find an arm for the input's mark within the +grab core
|
||||||
::
|
::
|
||||||
=/ grab-mark-build=^build
|
=/ grab-mark-build=^build
|
||||||
@ -2438,7 +2479,7 @@
|
|||||||
[[%blocks [grab-mark-build]~] out]
|
[[%blocks [grab-mark-build]~] out]
|
||||||
::
|
::
|
||||||
?. ?=([~ %success %ride *] grab-mark-result)
|
?. ?=([~ %success %ride *] grab-mark-result)
|
||||||
(cast-wrap-error grab-mark-result)
|
(cast-wrap-error %grab source-mark target-mark grab-mark-result)
|
||||||
:: slam the +mark-name:grab gate on the result of running :input
|
:: slam the +mark-name:grab gate on the result of running :input
|
||||||
::
|
::
|
||||||
=/ call-build=^build
|
=/ call-build=^build
|
||||||
@ -2450,7 +2491,7 @@
|
|||||||
[[%blocks [call-build]~] out]
|
[[%blocks [call-build]~] out]
|
||||||
::
|
::
|
||||||
?. ?=([~ %success %call *] call-result)
|
?. ?=([~ %success %call *] call-result)
|
||||||
(cast-wrap-error call-result)
|
(cast-wrap-error %grab source-mark target-mark call-result)
|
||||||
::
|
::
|
||||||
[[%success [mark vase.u.call-result]] out]
|
[[%success [mark vase.u.call-result]] out]
|
||||||
:: +grow: grow from the input mark to the destination mark
|
:: +grow: grow from the input mark to the destination mark
|
||||||
@ -2468,7 +2509,7 @@
|
|||||||
[[%blocks [starting-mark-path-build]~] out]
|
[[%blocks [starting-mark-path-build]~] out]
|
||||||
::
|
::
|
||||||
?. ?=([~ %success %path *] starting-mark-path-result)
|
?. ?=([~ %success %path *] starting-mark-path-result)
|
||||||
(cast-wrap-error starting-mark-path-result)
|
(cast-wrap-error %grow source-mark target-mark starting-mark-path-result)
|
||||||
:: grow the value from the initial mark to the final mark
|
:: grow the value from the initial mark to the final mark
|
||||||
::
|
::
|
||||||
:: Replace the input mark's sample with the input's result,
|
:: Replace the input mark's sample with the input's result,
|
||||||
@ -2493,7 +2534,7 @@
|
|||||||
[[%blocks [grow-build]~] out]
|
[[%blocks [grow-build]~] out]
|
||||||
::
|
::
|
||||||
?. ?=([~ %success %ride *] grow-result)
|
?. ?=([~ %success %ride *] grow-result)
|
||||||
(cast-wrap-error grow-result)
|
(cast-wrap-error %grow source-mark target-mark grow-result)
|
||||||
:: make sure the product nests in the sample of the destination mark
|
:: make sure the product nests in the sample of the destination mark
|
||||||
::
|
::
|
||||||
=/ bunt-build=^build [date.build [%bunt disc target-mark]]
|
=/ bunt-build=^build [date.build [%bunt disc target-mark]]
|
||||||
@ -2503,7 +2544,7 @@
|
|||||||
[[%blocks [bunt-build]~] out]
|
[[%blocks [bunt-build]~] out]
|
||||||
::
|
::
|
||||||
?. ?=([~ %success %bunt *] bunt-result)
|
?. ?=([~ %success %bunt *] bunt-result)
|
||||||
(cast-wrap-error bunt-result)
|
(cast-wrap-error %grow source-mark target-mark bunt-result)
|
||||||
::
|
::
|
||||||
?. (~(nest ut p.q.cage.u.bunt-result) | p.vase.u.grow-result)
|
?. (~(nest ut p.q.cage.u.bunt-result) | p.vase.u.grow-result)
|
||||||
=* src source-mark
|
=* src source-mark
|
||||||
@ -2515,14 +2556,23 @@
|
|||||||
[[%success mark vase.u.grow-result] out]
|
[[%success mark vase.u.grow-result] out]
|
||||||
::
|
::
|
||||||
++ cast-wrap-error
|
++ cast-wrap-error
|
||||||
|= result=(unit build-result)
|
|= $: action=term
|
||||||
|
source-mark=term
|
||||||
|
target-mark=term
|
||||||
|
result=(unit build-result)
|
||||||
|
==
|
||||||
^- [action-result _out]
|
^- [action-result _out]
|
||||||
::
|
::
|
||||||
|
:_ out
|
||||||
|
:- %error
|
||||||
|
:- :- %leaf
|
||||||
|
;: weld
|
||||||
|
"ford: %cast {<mark>} on {<disc>} failed "
|
||||||
|
"while calling {<action>} to cast from "
|
||||||
|
"{<source-mark>} to {<target-mark>}:"
|
||||||
|
==
|
||||||
?> ?=([~ %error *] result)
|
?> ?=([~ %error *] result)
|
||||||
=/ message=tang
|
message.u.result
|
||||||
[[%leaf "ford: {<-.schematic.build>} failed: "] message.u.result]
|
|
||||||
::
|
|
||||||
[[%error message] out]
|
|
||||||
--
|
--
|
||||||
::
|
::
|
||||||
++ make-core
|
++ make-core
|
||||||
@ -2538,7 +2588,9 @@
|
|||||||
(return-blocks [hood-build]~)
|
(return-blocks [hood-build]~)
|
||||||
::
|
::
|
||||||
?: ?=(%error -.u.hood-result)
|
?: ?=(%error -.u.hood-result)
|
||||||
(wrap-error hood-result)
|
%- return-error
|
||||||
|
:- [%leaf "ford: %core on {<(rail-to-path source-path)>} failed:"]
|
||||||
|
message.u.hood-result
|
||||||
:: build the +scaffold into a program
|
:: build the +scaffold into a program
|
||||||
::
|
::
|
||||||
?> ?=([%success %hood *] u.hood-result)
|
?> ?=([%success %hood *] u.hood-result)
|
||||||
@ -2551,7 +2603,9 @@
|
|||||||
(return-blocks [plan-build]~)
|
(return-blocks [plan-build]~)
|
||||||
::
|
::
|
||||||
?: ?=(%error -.u.plan-result)
|
?: ?=(%error -.u.plan-result)
|
||||||
(wrap-error plan-result)
|
%- return-error
|
||||||
|
:- [%leaf "ford: %core on {<(rail-to-path source-path)>} failed:"]
|
||||||
|
message.u.plan-result
|
||||||
::
|
::
|
||||||
?> ?=([%success %plan *] u.plan-result)
|
?> ?=([%success %plan *] u.plan-result)
|
||||||
(return-result %success %core vase.u.plan-result)
|
(return-result %success %core vase.u.plan-result)
|
||||||
@ -2596,8 +2650,12 @@
|
|||||||
?~ mark-path-result
|
?~ mark-path-result
|
||||||
(return-blocks [mark-path-build]~)
|
(return-blocks [mark-path-build]~)
|
||||||
::
|
::
|
||||||
?. ?=([~ %success %path *] mark-path-result)
|
?: ?=([~ %error *] mark-path-result)
|
||||||
(wrap-error mark-path-result)
|
%- return-error
|
||||||
|
:- [%leaf "ford: %diff failed on {<disc>}:"]
|
||||||
|
message.u.mark-path-result
|
||||||
|
::
|
||||||
|
?> ?=([~ %success %path *] mark-path-result)
|
||||||
::
|
::
|
||||||
=/ mark-build=^build [date.build [%core rail.u.mark-path-result]]
|
=/ mark-build=^build [date.build [%core rail.u.mark-path-result]]
|
||||||
::
|
::
|
||||||
@ -2605,8 +2663,12 @@
|
|||||||
?~ mark-result
|
?~ mark-result
|
||||||
(return-blocks [mark-build]~)
|
(return-blocks [mark-build]~)
|
||||||
::
|
::
|
||||||
?. ?=([~ %success %core *] mark-result)
|
?: ?=([~ %error *] mark-result)
|
||||||
(wrap-error mark-result)
|
%- return-error
|
||||||
|
:- [%leaf "ford: %diff failed on {<disc>}:"]
|
||||||
|
message.u.mark-result
|
||||||
|
::
|
||||||
|
?> ?=([~ %success %core *] mark-result)
|
||||||
::
|
::
|
||||||
?. (slab %grad p.vase.u.mark-result)
|
?. (slab %grad p.vase.u.mark-result)
|
||||||
%- return-error :_ ~ :- %leaf
|
%- return-error :_ ~ :- %leaf
|
||||||
@ -2619,8 +2681,12 @@
|
|||||||
?~ grad-result
|
?~ grad-result
|
||||||
(return-blocks [grad-build]~)
|
(return-blocks [grad-build]~)
|
||||||
::
|
::
|
||||||
?. ?=([~ %success %ride *] grad-result)
|
?: ?=([~ %error *] grad-result)
|
||||||
(wrap-error grad-result)
|
%- return-error
|
||||||
|
:- [%leaf "ford: %diff failed on {<disc>}:"]
|
||||||
|
message.u.grad-result
|
||||||
|
::
|
||||||
|
?> ?=([~ %success %ride *] grad-result)
|
||||||
:: if +grad produced a @tas, convert to that mark and diff those
|
:: if +grad produced a @tas, convert to that mark and diff those
|
||||||
::
|
::
|
||||||
?@ q.vase.u.grad-result
|
?@ q.vase.u.grad-result
|
||||||
@ -2723,24 +2789,31 @@
|
|||||||
::
|
::
|
||||||
++ make-hood
|
++ make-hood
|
||||||
~% %make-hood ..^^$ ~
|
~% %make-hood ..^^$ ~
|
||||||
|= source-path=rail
|
|= source-rail=rail
|
||||||
^- build-receipt
|
^- build-receipt
|
||||||
::
|
::
|
||||||
=/ scry-build=^build [date.build [%scry [%c %x source-path]]]
|
=/ scry-build=^build [date.build [%scry [%c %x source-rail]]]
|
||||||
=^ scry-result out (depend-on scry-build)
|
=^ scry-result out (depend-on scry-build)
|
||||||
?~ scry-result
|
?~ scry-result
|
||||||
::
|
::
|
||||||
(return-blocks ~[scry-build])
|
(return-blocks ~[scry-build])
|
||||||
::
|
::
|
||||||
?: ?=([~ %error *] scry-result)
|
?: ?=([~ %error *] scry-result)
|
||||||
(wrap-error scry-result)
|
=/ =path (rail-to-path source-rail)
|
||||||
|
%- return-error
|
||||||
|
:- [%leaf "ford: %hood failed for {<path>}:"]
|
||||||
|
message.u.scry-result
|
||||||
=+ as-cage=(result-to-cage u.scry-result)
|
=+ as-cage=(result-to-cage u.scry-result)
|
||||||
:: hoon files must be atoms to parse
|
:: hoon files must be atoms to parse
|
||||||
::
|
::
|
||||||
?. ?=(@ q.q.as-cage)
|
?. ?=(@ q.q.as-cage)
|
||||||
(return-error [%leaf "ford: %hood: file not an atom"]~)
|
=/ =path (rail-to-path source-rail)
|
||||||
|
%- return-error
|
||||||
|
:_ ~
|
||||||
|
:- %leaf
|
||||||
|
"ford: %hood: path {<path>} not an atom"
|
||||||
::
|
::
|
||||||
=/ src-beam=beam [[ship.disc desk.disc [%ud 0]] spur]:source-path
|
=/ src-beam=beam [[ship.disc desk.disc [%ud 0]] spur]:source-rail
|
||||||
::
|
::
|
||||||
=/ =cache-key [%hood src-beam q.q.as-cage]
|
=/ =cache-key [%hood src-beam q.q.as-cage]
|
||||||
=^ cached-result out (access-cache cache-key)
|
=^ cached-result out (access-cache cache-key)
|
||||||
@ -2751,7 +2824,13 @@
|
|||||||
((full (parse-scaffold src-beam)) [1 1] (trip q.q.as-cage))
|
((full (parse-scaffold src-beam)) [1 1] (trip q.q.as-cage))
|
||||||
::
|
::
|
||||||
?~ q.parsed
|
?~ q.parsed
|
||||||
(return-error [%leaf "syntax error: {<p.p.parsed>} {<q.p.parsed>}"]~)
|
=/ =path (rail-to-path source-rail)
|
||||||
|
~& [%fail path]
|
||||||
|
%- return-error
|
||||||
|
:- :- %leaf
|
||||||
|
%+ weld "ford: %hood: syntax error at "
|
||||||
|
"[{<p.p.parsed>} {<q.p.parsed>}] in {<path>}"
|
||||||
|
~
|
||||||
::
|
::
|
||||||
(return-result %success %hood p.u.q.parsed)
|
(return-result %success %hood p.u.q.parsed)
|
||||||
::
|
::
|
||||||
@ -2785,8 +2864,12 @@
|
|||||||
?~ mark-result
|
?~ mark-result
|
||||||
(return-blocks [mark-build]~)
|
(return-blocks [mark-build]~)
|
||||||
::
|
::
|
||||||
?. ?=([~ %success %core *] mark-result)
|
?: ?=([~ %error *] mark-result)
|
||||||
(wrap-error mark-result)
|
%- return-error
|
||||||
|
:- [%leaf "ford: %join to {<mark>} on {<disc>} failed:"]
|
||||||
|
message.u.mark-result
|
||||||
|
::
|
||||||
|
?> ?=([~ %success %core *] mark-result)
|
||||||
::
|
::
|
||||||
=/ mark-vase=vase vase.u.mark-result
|
=/ mark-vase=vase vase.u.mark-result
|
||||||
::
|
::
|
||||||
@ -2801,8 +2884,12 @@
|
|||||||
?~ grad-result
|
?~ grad-result
|
||||||
(return-blocks [grad-build]~)
|
(return-blocks [grad-build]~)
|
||||||
::
|
::
|
||||||
?. ?=([~ %success %ride *] grad-result)
|
?: ?=([~ %error *] grad-result)
|
||||||
(wrap-error grad-result)
|
%- return-error
|
||||||
|
:- [%leaf "ford: %join to {<mark>} on {<disc>} failed:"]
|
||||||
|
message.u.grad-result
|
||||||
|
::
|
||||||
|
?> ?=([~ %success %ride *] grad-result)
|
||||||
::
|
::
|
||||||
=/ grad-vase=vase vase.u.grad-result
|
=/ grad-vase=vase vase.u.grad-result
|
||||||
:: if +grad produced a mark, delegate %join behavior to that mark
|
:: if +grad produced a mark, delegate %join behavior to that mark
|
||||||
@ -2822,8 +2909,12 @@
|
|||||||
?~ join-result
|
?~ join-result
|
||||||
(return-blocks [join-build]~)
|
(return-blocks [join-build]~)
|
||||||
::
|
::
|
||||||
?. ?=([~ %success %join *] join-result)
|
?: ?=([~ %error *] join-result)
|
||||||
(wrap-error join-result)
|
%- return-error
|
||||||
|
:- [%leaf "ford: %join to {<mark>} on {<disc>} failed:"]
|
||||||
|
message.u.join-result
|
||||||
|
::
|
||||||
|
?> ?=([~ %success %join *] join-result)
|
||||||
::
|
::
|
||||||
(return-result u.join-result)
|
(return-result u.join-result)
|
||||||
:: make sure the +grad core has a +form arm
|
:: make sure the +grad core has a +form arm
|
||||||
@ -2875,8 +2966,12 @@
|
|||||||
?~ diff-result
|
?~ diff-result
|
||||||
(return-blocks [diff-build]~)
|
(return-blocks [diff-build]~)
|
||||||
::
|
::
|
||||||
?. ?=([~ %success %call *] diff-result)
|
?: ?=([~ %error *] diff-result)
|
||||||
(wrap-error diff-result)
|
%- return-error
|
||||||
|
:- [%leaf "ford: %join to {<mark>} on {<disc>} failed:"]
|
||||||
|
message.u.diff-result
|
||||||
|
::
|
||||||
|
?> ?=([~ %success %call *] diff-result)
|
||||||
:: the result was a unit; if `~`, use %null mark; otherwise grab tail
|
:: the result was a unit; if `~`, use %null mark; otherwise grab tail
|
||||||
::
|
::
|
||||||
=/ =build-result
|
=/ =build-result
|
||||||
@ -2897,7 +2992,7 @@
|
|||||||
:: depend on builds of each schematic
|
:: depend on builds of each schematic
|
||||||
::
|
::
|
||||||
=^ maybe-schematic-results out
|
=^ maybe-schematic-results out
|
||||||
(perform-schematics key-and-schematics %ignore-errors *~)
|
(perform-schematics "" key-and-schematics %ignore-errors *~)
|
||||||
?~ maybe-schematic-results
|
?~ maybe-schematic-results
|
||||||
out
|
out
|
||||||
:: return all builds
|
:: return all builds
|
||||||
@ -3077,7 +3172,12 @@
|
|||||||
=/ subject-vase=vase q.subject-cage
|
=/ subject-vase=vase q.subject-cage
|
||||||
::
|
::
|
||||||
=^ maybe-schematic-results out
|
=^ maybe-schematic-results out
|
||||||
(perform-schematics mutations %fail-on-errors *wing)
|
%- perform-schematics :*
|
||||||
|
"ford: %mute contained failures:"
|
||||||
|
mutations
|
||||||
|
%fail-on-errors
|
||||||
|
*wing
|
||||||
|
==
|
||||||
?~ maybe-schematic-results
|
?~ maybe-schematic-results
|
||||||
out
|
out
|
||||||
:: all builds succeeded; retrieve vases from results
|
:: all builds succeeded; retrieve vases from results
|
||||||
@ -3346,7 +3446,18 @@
|
|||||||
:: depend on builds of each schematic
|
:: depend on builds of each schematic
|
||||||
::
|
::
|
||||||
=^ maybe-schematic-results out
|
=^ maybe-schematic-results out
|
||||||
(perform-schematics rails-and-schematics %filter-errors *rail)
|
%- perform-schematics :*
|
||||||
|
;: weld
|
||||||
|
"ford: %path resolution of "
|
||||||
|
(trip raw-path)
|
||||||
|
"at prefix "
|
||||||
|
(trip prefix)
|
||||||
|
" contained failures:"
|
||||||
|
==
|
||||||
|
rails-and-schematics
|
||||||
|
%filter-errors
|
||||||
|
*rail
|
||||||
|
==
|
||||||
?~ maybe-schematic-results
|
?~ maybe-schematic-results
|
||||||
out
|
out
|
||||||
:: matches: builds that completed with a successful result
|
:: matches: builds that completed with a successful result
|
||||||
@ -4258,7 +4369,7 @@
|
|||||||
%_ out
|
%_ out
|
||||||
result
|
result
|
||||||
?- -.compiled
|
?- -.compiled
|
||||||
%| [%build-result %error [leaf+"%slim failed: " p.compiled]]
|
%| [%build-result %error [leaf+"ford: %slim failed: " p.compiled]]
|
||||||
%& [%build-result %success %slim p.compiled]
|
%& [%build-result %success %slim p.compiled]
|
||||||
==
|
==
|
||||||
==
|
==
|
||||||
@ -4283,7 +4394,7 @@
|
|||||||
%| :* %build-result %error
|
%| :* %build-result %error
|
||||||
:* (~(dunk ut p.sample) %have)
|
:* (~(dunk ut p.sample) %have)
|
||||||
(~(dunk ut (~(peek ut p.gate) %free 6)) %want)
|
(~(dunk ut (~(peek ut p.gate) %free 6)) %want)
|
||||||
leaf+"%slit failed: "
|
leaf+"ford: %slit failed: "
|
||||||
p.product
|
p.product
|
||||||
==
|
==
|
||||||
==
|
==
|
||||||
@ -4302,8 +4413,12 @@
|
|||||||
?~ bunt-result
|
?~ bunt-result
|
||||||
(return-blocks [bunt-build]~)
|
(return-blocks [bunt-build]~)
|
||||||
::
|
::
|
||||||
?. ?=([~ %success %bunt *] bunt-result)
|
?: ?=([~ %error *] bunt-result)
|
||||||
(wrap-error bunt-result)
|
%- return-error
|
||||||
|
:- [%leaf "ford: %volt {<mark>} on {<disc>} failed:"]
|
||||||
|
message.u.bunt-result
|
||||||
|
::
|
||||||
|
?> ?=([~ %success %bunt *] bunt-result)
|
||||||
::
|
::
|
||||||
=/ =build-result
|
=/ =build-result
|
||||||
[%success %volt [mark p.q.cage.u.bunt-result input]]
|
[%success %volt [mark p.q.cage.u.bunt-result input]]
|
||||||
@ -4329,8 +4444,12 @@
|
|||||||
?~ path-result
|
?~ path-result
|
||||||
(return-blocks [path-build]~)
|
(return-blocks [path-build]~)
|
||||||
::
|
::
|
||||||
?. ?=([~ %success %path *] path-result)
|
?: ?=([~ %error *] path-result)
|
||||||
(wrap-error path-result)
|
%- return-error
|
||||||
|
:- leaf+"ford: %vale failed while searching for {<mark>}:"
|
||||||
|
message.u.path-result
|
||||||
|
::
|
||||||
|
?> ?=([~ %success %path *] path-result)
|
||||||
::
|
::
|
||||||
=/ bunt-build=^build [date.build [%bunt disc mark]]
|
=/ bunt-build=^build [date.build [%bunt disc mark]]
|
||||||
::
|
::
|
||||||
@ -4458,7 +4577,12 @@
|
|||||||
:: For %path builds, any ambiguous path is just filtered out.
|
:: For %path builds, any ambiguous path is just filtered out.
|
||||||
::
|
::
|
||||||
=^ maybe-path-results out
|
=^ maybe-path-results out
|
||||||
(perform-schematics nodes-and-schematics %filter-errors *load-node)
|
%- perform-schematics :*
|
||||||
|
"ford: %walk from {<source>} to {<target>} contained failures:"
|
||||||
|
nodes-and-schematics
|
||||||
|
%filter-errors
|
||||||
|
*load-node
|
||||||
|
==
|
||||||
?~ maybe-path-results
|
?~ maybe-path-results
|
||||||
[~ out]
|
[~ out]
|
||||||
::
|
::
|
||||||
@ -4473,7 +4597,12 @@
|
|||||||
[%core rail.build-result]
|
[%core rail.build-result]
|
||||||
::
|
::
|
||||||
=^ maybe-core-results out
|
=^ maybe-core-results out
|
||||||
(perform-schematics nodes-and-cores %filter-errors *load-node)
|
%- perform-schematics :*
|
||||||
|
"ford: %walk from {<source>} to {<target>} contained failures:"
|
||||||
|
nodes-and-cores
|
||||||
|
%filter-errors
|
||||||
|
*load-node
|
||||||
|
==
|
||||||
?~ maybe-core-results
|
?~ maybe-core-results
|
||||||
[~ out]
|
[~ out]
|
||||||
:: clear the queue before we process the new results
|
:: clear the queue before we process the new results
|
||||||
@ -4635,7 +4764,8 @@
|
|||||||
:: key types with schematics.
|
:: key types with schematics.
|
||||||
::
|
::
|
||||||
++ perform-schematics
|
++ perform-schematics
|
||||||
|* $: builds=(list [key=* =schematic])
|
|* $: failure=tape
|
||||||
|
builds=(list [key=* =schematic])
|
||||||
on-error=?(%fail-on-errors %filter-errors %ignore-errors)
|
on-error=?(%fail-on-errors %filter-errors %ignore-errors)
|
||||||
key-bunt=*
|
key-bunt=*
|
||||||
==
|
==
|
||||||
@ -4665,19 +4795,21 @@
|
|||||||
++ check-errors
|
++ check-errors
|
||||||
|= results=(list [_key-bunt ^build (unit build-result)])
|
|= results=(list [_key-bunt ^build (unit build-result)])
|
||||||
::
|
::
|
||||||
=/ error=tang
|
=/ braces [[' ' ' ' ~] ['{' ~] ['}' ~]]
|
||||||
%- zing ^- (list tang)
|
=/ errors=(list tank)
|
||||||
%+ murn results
|
%+ murn results
|
||||||
|= [* * result=(unit build-result)]
|
|= [* * result=(unit build-result)]
|
||||||
^- (unit tang)
|
^- (unit tank)
|
||||||
?. ?=([~ %error *] result)
|
?. ?=([~ %error *] result)
|
||||||
~
|
~
|
||||||
`message.u.result
|
`[%rose braces message.u.result]
|
||||||
:: only produce the first error, as is tradition
|
::
|
||||||
|
?^ errors
|
||||||
|
:- ~
|
||||||
|
%- return-error
|
||||||
|
:- [%leaf failure]
|
||||||
|
errors
|
||||||
::
|
::
|
||||||
?^ error
|
|
||||||
=. error [leaf+"ford: %mute failed: " error]
|
|
||||||
[~ (return-error error)]
|
|
||||||
(handle-rest results)
|
(handle-rest results)
|
||||||
::
|
::
|
||||||
++ filter-errors
|
++ filter-errors
|
||||||
|
Loading…
Reference in New Issue
Block a user