diff options
Diffstat (limited to '')
-rw-r--r-- | stdlib/source/program/aedifex/package.lux | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/stdlib/source/program/aedifex/package.lux b/stdlib/source/program/aedifex/package.lux new file mode 100644 index 000000000..757f116e6 --- /dev/null +++ b/stdlib/source/program/aedifex/package.lux @@ -0,0 +1,36 @@ +(.module: + [lux #* + [control + ["." try (#+ Try) ("#@." functor)] + [parser + ["<.>" xml]]] + [data + [binary (#+ Binary)] + [format + [xml (#+ XML)]] + [collection + [set (#+ Set)]]]] + ["." // #_ + [dependency (#+ Dependency)] + ["/" profile] + ["#." hash (#+ Hash SHA-1 MD5)] + ["#." pom]]) + +(type: #export Package + {#library Binary + #pom XML + #sha-1 (Hash SHA-1) + #md5 (Hash MD5)}) + +(def: #export (local pom library) + (-> XML Binary Package) + {#library library + #pom pom + #sha-1 (//hash.sha-1 library) + #md5 (//hash.md5 library)}) + +(def: #export dependencies + (-> Package (Try (Set Dependency))) + (|>> (get@ #pom) + (<xml>.run //pom.parser) + (try@map (get@ #/.dependencies)))) |