1 import Base 2 import ./type.bend as S 3 import ./release/type.bend as Rl 4 import ./release/ops.bend as RlO 5 import ../ops.bend as O 6 7 def release(s: S.System) -> Rl.Release: 8 match s: 9 case S.System{_, _, _, _, _, r}: 10 r 11 12 # Everything the system is made of ships in a declared package or plugin: what is not published cannot 13 # be used. 14 def components_published(+s: S.System) -> Bool: 15 match s: 16 case S.System{_, _, _, cs, _, +r}: 17 O.all_listed(O.all_component_keys(cs), List.append(&2, String, RlO.shipped_components(RlO.packages(r)), RlO.plugin_components(RlO.plugins(r))))