aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/program/aedifex/metadata.lux
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib/source/program/aedifex/metadata.lux')
-rw-r--r--stdlib/source/program/aedifex/metadata.lux31
1 files changed, 30 insertions, 1 deletions
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]
+ )