aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/program/aedifex/package.lux
diff options
context:
space:
mode:
authorEduardo Julian2021-02-07 04:56:58 -0400
committerEduardo Julian2021-02-07 04:56:58 -0400
commitd99c47989a1047cd24019fd5ce434e701b5d3519 (patch)
tree19bfb0f5e4713e5dcd0c71bbd7b88d09d75dfe5d /stdlib/source/program/aedifex/package.lux
parent571d816dfd0b056a1649f5057867abbfa4421f5d (diff)
Mo' updates, less problems.
Diffstat (limited to 'stdlib/source/program/aedifex/package.lux')
-rw-r--r--stdlib/source/program/aedifex/package.lux27
1 files changed, 23 insertions, 4 deletions
diff --git a/stdlib/source/program/aedifex/package.lux b/stdlib/source/program/aedifex/package.lux
index f6ba87078..445c92987 100644
--- a/stdlib/source/program/aedifex/package.lux
+++ b/stdlib/source/program/aedifex/package.lux
@@ -10,6 +10,8 @@
["." sum]
["." product]
["." binary (#+ Binary)]
+ [text
+ ["." encoding]]
[format
["." xml (#+ XML)]]
[collection
@@ -21,12 +23,13 @@
[dependency (#+ Dependency)
["#." status (#+ Status)]]
[repository
+ [remote (#+ Address)]
["#." origin (#+ Origin)]]])
(type: #export Package
{#origin Origin
#library [Binary Status]
- #pom [XML Status]})
+ #pom [XML Binary Status]})
(template [<name> <tag>]
[(def: #export (<name> package)
@@ -46,19 +49,35 @@
(-> XML Binary Package)
{#origin (#//origin.Local "")
#library [library #//status.Unverified]
- #pom [pom #//status.Unverified]})
+ #pom [pom
+ (|> pom (\ xml.codec encode) (\ encoding.utf8 encode))
+ #//status.Unverified]})
(def: #export dependencies
(-> Package (Try (Set Dependency)))
(|>> (get@ #pom)
product.left
+ list
(<xml>.run //pom.parser)
(try\map (get@ #/.dependencies))))
+(def: #export repositories
+ (-> Package (Try (Set Address)))
+ (|>> (get@ #pom)
+ product.left
+ list
+ (<xml>.run //pom.parser)
+ (try\map (get@ #/.repositories))))
+
(def: #export equivalence
(Equivalence Package)
($_ product.equivalence
//origin.equivalence
- (product.equivalence binary.equivalence //status.equivalence)
- (product.equivalence xml.equivalence //status.equivalence)
+ ($_ product.equivalence
+ binary.equivalence
+ //status.equivalence)
+ ($_ product.equivalence
+ xml.equivalence
+ binary.equivalence
+ //status.equivalence)
))