aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/program
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--stdlib/source/program/aedifex/cli.lux10
-rw-r--r--stdlib/source/program/aedifex/dependency.lux5
-rw-r--r--stdlib/source/program/aedifex/metadata.lux31
-rw-r--r--stdlib/source/program/aedifex/package.lux8
-rw-r--r--stdlib/source/program/aedifex/profile.lux13
5 files changed, 51 insertions, 16 deletions
diff --git a/stdlib/source/program/aedifex/cli.lux b/stdlib/source/program/aedifex/cli.lux
index 7af7405a9..c00f62852 100644
--- a/stdlib/source/program/aedifex/cli.lux
+++ b/stdlib/source/program/aedifex/cli.lux
@@ -1,11 +1,13 @@
(.module:
[lux (#- Name)
[abstract
- ["." equivalence (#+ Equivalence)]]
+ [equivalence (#+ Equivalence)]]
[control
["<>" parser
["." cli (#+ Parser)]]]
[data
+ ["." sum]
+ ["." product]
["." text]]]
[//
[repository (#+ Identity)]
@@ -23,7 +25,7 @@
(def: compilation-equivalence
(Equivalence Compilation)
- (equivalence.sum ..any-equivalence
+ (sum.equivalence ..any-equivalence
..any-equivalence))
(def: compilation
@@ -43,7 +45,7 @@
(def: #export equivalence
(Equivalence Command)
- ($_ equivalence.sum
+ ($_ sum.equivalence
## #Version
..any-equivalence
## #Clean
@@ -55,7 +57,7 @@
## #Install
..any-equivalence
## #Deploy
- ($_ equivalence.product
+ ($_ product.equivalence
text.equivalence
text.equivalence
text.equivalence)
diff --git a/stdlib/source/program/aedifex/dependency.lux b/stdlib/source/program/aedifex/dependency.lux
index 595891924..b7b605447 100644
--- a/stdlib/source/program/aedifex/dependency.lux
+++ b/stdlib/source/program/aedifex/dependency.lux
@@ -2,8 +2,9 @@
[lux (#- Type)
[abstract
[equivalence (#+ Equivalence)]
- ["." hash (#+ Hash)]]
+ [hash (#+ Hash)]]
[data
+ ["." product]
["." text
["%" format (#+ format)]]]]
["." // #_
@@ -16,7 +17,7 @@
(def: #export hash
(Hash Dependency)
- ($_ hash.product
+ ($_ product.hash
//.hash
text.hash
))
diff --git a/stdlib/source/program/aedifex/metadata.lux b/stdlib/source/program/aedifex/metadata.lux
index 0eca976c0..937fea4a3 100644
--- a/stdlib/source/program/aedifex/metadata.lux
+++ b/stdlib/source/program/aedifex/metadata.lux
@@ -1,8 +1,37 @@
(.module:
[lux #*
+ [data
+ ["." text
+ ["%" format (#+ format)]]]
[world
- [file (#+ Path)]]])
+ [file (#+ Path)]
+ [net
+ ["." uri (#+ URI)]]]]
+ ["." //
+ ["." artifact (#+ Artifact)]])
(def: #export file
Path
"maven-metadata.xml")
+
+(def: (project separator artifact)
+ (-> Text Artifact Text)
+ (format (artifact.directory separator (get@ #artifact.group artifact))
+ separator
+ (get@ #artifact.name artifact)))
+
+(def: (version separator artifact)
+ (-> Text Artifact Text)
+ (format (..project separator artifact)
+ separator
+ (get@ #artifact.version artifact)))
+
+(template [<public> <private>]
+ [(def: #export (<public> artifact)
+ (-> Artifact URI)
+ (let [/ uri.separator]
+ (format (<private> / artifact) / ..file)))]
+
+ [for-project ..project]
+ [for-version ..version]
+ )
diff --git a/stdlib/source/program/aedifex/package.lux b/stdlib/source/program/aedifex/package.lux
index 16c7c443b..de831555e 100644
--- a/stdlib/source/program/aedifex/package.lux
+++ b/stdlib/source/program/aedifex/package.lux
@@ -1,12 +1,14 @@
(.module:
[lux #*
[abstract
- ["." equivalence (#+ Equivalence)]]
+ [equivalence (#+ Equivalence)]]
[control
["." try (#+ Try) ("#\." functor)]
[parser
["<.>" xml]]]
[data
+ ["." sum]
+ ["." product]
["." binary (#+ Binary)]
[format
["." xml (#+ XML)]]
@@ -30,7 +32,7 @@
(def: origin-equivalence
(Equivalence Origin)
- ($_ equivalence.sum
+ ($_ sum.equivalence
..any-equivalence
..any-equivalence))
@@ -66,7 +68,7 @@
(def: #export equivalence
(Equivalence Package)
- ($_ equivalence.product
+ ($_ product.equivalence
..origin-equivalence
binary.equivalence
xml.equivalence
diff --git a/stdlib/source/program/aedifex/profile.lux b/stdlib/source/program/aedifex/profile.lux
index d4e33267d..9729514f2 100644
--- a/stdlib/source/program/aedifex/profile.lux
+++ b/stdlib/source/program/aedifex/profile.lux
@@ -2,10 +2,11 @@
[lux (#- Info Source Module Name)
[abstract
[monoid (#+ Monoid)]
- ["." equivalence (#+ Equivalence)]]
+ [equivalence (#+ Equivalence)]]
[control
["." exception (#+ exception:)]]
[data
+ ["." product]
["." maybe ("#\." monoid)]
["." text]
[collection
@@ -50,7 +51,7 @@
(def: license-equivalence
(Equivalence License)
- ($_ equivalence.product
+ ($_ product.equivalence
text.equivalence
text.equivalence
..distribution-equivalence))
@@ -64,7 +65,7 @@
(def: organization-equivalence
(Equivalence Organization)
- ($_ equivalence.product
+ ($_ product.equivalence
text.equivalence
text.equivalence))
@@ -78,7 +79,7 @@
(def: developer-equivalence
(Equivalence Developer)
- ($_ equivalence.product
+ ($_ product.equivalence
text.equivalence
text.equivalence
(maybe.equivalence ..organization-equivalence)))
@@ -97,7 +98,7 @@
(def: info-equivalence
(Equivalence Info)
- ($_ equivalence.product
+ ($_ product.equivalence
(maybe.equivalence text.equivalence)
(maybe.equivalence text.equivalence)
(maybe.equivalence text.equivalence)
@@ -151,7 +152,7 @@
(def: #export equivalence
(Equivalence Profile)
- ($_ equivalence.product
+ ($_ product.equivalence
## #parents
(list.equivalence text.equivalence)
## #identity