mirror of
https://github.com/urbit/shrub.git
synced 2024-12-24 11:24:21 +03:00
181 lines
4.6 KiB
Plaintext
181 lines
4.6 KiB
Plaintext
::
|
|
|%
|
|
++ test
|
|
$% [%arvo ~] ::UNIMPLEMENTED
|
|
[%marks ~] ::UNIMPLEMENTED
|
|
[%cores p=path]
|
|
[%hoons p=path]
|
|
[%names p=path]
|
|
[%renders p=path]
|
|
==
|
|
--
|
|
::
|
|
|%
|
|
++ join
|
|
|= {a/cord b/(list cord)}
|
|
?~ b ''
|
|
(rap 3 |-([i.b ?~(t.b ~ [a $(b t.b)])]))
|
|
::
|
|
++ fake-fcgi [%many [%blob *cred:eyre] $+[%n ~] ~]
|
|
--
|
|
::
|
|
=, gall
|
|
=, ford
|
|
=, format
|
|
|_ {bowl $~}
|
|
::
|
|
++ peek _~
|
|
::
|
|
++ report-error
|
|
|= [=spur bud=build-result]
|
|
^- tang
|
|
=/ should-fail (~(get by failing) (flop spur))
|
|
?- -.bud
|
|
%success
|
|
?~ should-fail ~
|
|
:~ leaf+"warn: expected failure, {<`tape`u.should-fail>}"
|
|
leaf+"warn: built succesfully"
|
|
?: ?=(%bake +<.bud)
|
|
(sell q.cage.bud)
|
|
?> ?=(%core +<.bud)
|
|
(sell vase.bud)
|
|
==
|
|
::
|
|
%error
|
|
?^ should-fail
|
|
~[>[%failed-known `tape`(weld "TODO: " u.should-fail)]<]
|
|
(flop message.bud)
|
|
==
|
|
::
|
|
++ made-a-core
|
|
|= [=spur @da res=made-result]
|
|
:_ +>.$
|
|
?: ?=([%incomplete *] res)
|
|
~& incomplete-core+spur
|
|
((slog tang.res) ~)
|
|
?. ?=([%complete %success *] res)
|
|
~& unsuccessful-core+spur
|
|
((slog message.build-result.res) ~)
|
|
?> ?=(^ +<.build-result.res)
|
|
%- (slog (report-error spur head.build-result.res))
|
|
=/ nex=(list ^spur)
|
|
=< p
|
|
;; [%success %$ %cont * p=(list ^spur)]
|
|
tail.build-result.res
|
|
?~ nex ~&(%cores-tested ~)
|
|
[ost (build-core nex)]~
|
|
::
|
|
++ build-core
|
|
|= [a=spur b=(list spur)]
|
|
~& >> (flop a)
|
|
:- %build
|
|
:+ a-core+a
|
|
live=|
|
|
^- schematic:ford
|
|
:- [%core now-disc %hoon a]
|
|
[%$ %cont !>(b)]
|
|
::
|
|
++ made-a-rend
|
|
|= [=spur @da res=made-result]
|
|
:_ +>.$
|
|
?> ?=([ren=term ~] spur)
|
|
=+ `[ren=term pax=path]`?~(spur !! spur)
|
|
?: ?=([%incomplete *] res)
|
|
~& incomplete-core+spur
|
|
((slog tang.res) ~)
|
|
?. ?=([%complete %success *] res)
|
|
~& unsuccessful-core+spur
|
|
((slog message.build-result.res) ~)
|
|
?> ?=(^ +<.build-result.res)
|
|
%- (slog (report-error /[ren]/ren head.build-result.res))
|
|
=/ nex=(list term)
|
|
=< p
|
|
;; [%success %$ %cont * p=(list term)]
|
|
tail.build-result.res
|
|
?~ nex ~&(%rens-tested ~)
|
|
[ost (build-rend nex)]~
|
|
::
|
|
++ build-rend
|
|
|= [a=term b=(list term)]
|
|
~& >> [%ren a]
|
|
:- %build
|
|
:+ a-rend+/[a]
|
|
live=|
|
|
^- schematic:ford
|
|
=/ bem=beam (need (de-beam %/example))
|
|
=/ =rail [[p q] s]:bem
|
|
:- [%bake a fake-fcgi rail]
|
|
[%$ %cont !>(b)]
|
|
::
|
|
++ poke-noun
|
|
|= a=test
|
|
:_ +>
|
|
?- -.a
|
|
%arvo ~|(%stub !!) ::basically double solid?
|
|
%hoons ~&((list-hoons p.a ~) ~)
|
|
%cores [ost (build-core [- +]:(list-hoons p.a skip=(sy /sys /ren /tests ~)))]~
|
|
%names ~&((list-names p.a) ~)
|
|
%marks ~|(%stub !!) ::TODO restore historical handler
|
|
%renders [ost (build-rend [- +]:(list-names (weld /ren p.a)))]~
|
|
==
|
|
::
|
|
++ list-names
|
|
|= a/path ^- (list term)
|
|
=/ hon (list-hoons a ~)
|
|
%+ turn hon
|
|
|= b=spur
|
|
(join '-' (slag 1 (flop b)))
|
|
::
|
|
++ list-hoons
|
|
|= [under=path skipping=(set spur)] ^- (list spur)
|
|
=/ sup (flop under)
|
|
~& [%findining-hoons under=under]
|
|
|- ^- (list spur)
|
|
%- zing
|
|
%+ turn
|
|
=- (sort ~(tap by -) aor)
|
|
dir:.^(arch %cy (en-beam now-beak sup))
|
|
|= [a=knot ~] ^- (list spur)
|
|
=. sup [a sup]
|
|
?: (~(has in skipping) (flop sup))
|
|
~&(> [(flop sup) %out-of-scope] ~)
|
|
=/ ded (~(get by skip-completely) (flop sup))
|
|
?^ ded
|
|
~&(> [(flop sup) %skipped `tape`u.ded] ~)
|
|
?~ [fil:.^(arch %cy (en-beam now-beak [%hoon sup]))]
|
|
^$
|
|
~& (flop sup)
|
|
[sup ^$]
|
|
::
|
|
++ now-beak %_(byk r [%da now])
|
|
++ now-disc `disc:ford`[p.byk q.byk]
|
|
++ skip-completely
|
|
^~ ^- (map path tape)
|
|
%- my :~ ::TODO don't hardcode
|
|
:- /ren/css "not meant to be called outside /web/pack"
|
|
:- /ren/js "not meant to be called outside /web/pack"
|
|
:- /ren/run "not meant to be called except on a (different) hoon file"
|
|
:- /ren/collections "temporarily disabled"
|
|
:- /ren/test-gen "temporarily disabled"
|
|
:- /ren/urb "temporarily disabled"
|
|
:- /ren/x-urb "temporarily disabled"
|
|
:- /ren/x-htm "temporarily disabled"
|
|
:- /ren/x-collections-snip "temporarily disabled"
|
|
:- /ren/x-collections-json "temporarily disabled"
|
|
::
|
|
:- /web/landscape "/$ doensn't work in tests"
|
|
==
|
|
::
|
|
++ failing
|
|
^~ ^- (map path tape)
|
|
%- my :~ ::TODO don't hardcode
|
|
::
|
|
:- /gen/al "compiler types out-of-date"
|
|
:- /gen/musk "compiler types out-of-date"
|
|
::
|
|
:- /gen/cosmetic "incomplete"
|
|
:- /gen/lust "incomplete"
|
|
:- /gen/scantastic "incomplete"
|
|
==
|
|
--
|