From 86bcfadb774618defaa27bbb9361a93d288fb985 Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Mon, 12 Jul 2021 22:51:25 -0400 Subject: A bit more clarity for Licentia licenses. --- stdlib/source/program/aedifex/profile.lux | 68 +++++++++++++++++++++++-------- 1 file changed, 50 insertions(+), 18 deletions(-) (limited to 'stdlib/source/program/aedifex/profile.lux') diff --git a/stdlib/source/program/aedifex/profile.lux b/stdlib/source/program/aedifex/profile.lux index d31d0aca9..9fe05b10b 100644 --- a/stdlib/source/program/aedifex/profile.lux +++ b/stdlib/source/program/aedifex/profile.lux @@ -13,6 +13,8 @@ ["." dictionary (#+ Dictionary)] ["." list ("#\." monoid)] ["." set (#+ Set)]]] + [macro + ["." template]] [world [net (#+ URL)] [file (#+ Path)]] @@ -22,6 +24,7 @@ [archive [descriptor (#+ Module)]]]]]] [// + ["." runtime (#+ Runtime) ("#\." equivalence)] ["." dependency (#+ Dependency) ("#\." equivalence)] ["." artifact (#+ Artifact) ["." type]] @@ -160,7 +163,12 @@ #target Target #program (Maybe Module) #test (Maybe Module) - #deploy_repositories (Dictionary Text Address)}) + #deploy_repositories (Dictionary Text Address) + #java Runtime + #js Runtime + #python Runtime + #lua Runtime + #ruby Runtime}) (def: #export equivalence (Equivalence Profile) @@ -186,7 +194,17 @@ ## #test (maybe.equivalence text.equivalence) ## #deploy_repositories - (dictionary.equivalence text.equivalence))) + (dictionary.equivalence text.equivalence) + ## #java + runtime.equivalence + ## #js + runtime.equivalence + ## #python + runtime.equivalence + ## #lua + runtime.equivalence + ## #ruby + runtime.equivalence)) (implementation: #export monoid (Monoid Profile) @@ -202,23 +220,37 @@ #target ..default_target #program #.None #test #.None - #deploy_repositories (dictionary.new text.hash)}) + #deploy_repositories (dictionary.new text.hash) + #java runtime.default_java + #js runtime.default_js + #python runtime.default_python + #lua runtime.default_lua + #ruby runtime.default_ruby}) (def: (compose override baseline) - {#parents (list\compose (get@ #parents baseline) (get@ #parents override)) - #identity (maybe\compose (get@ #identity override) (get@ #identity baseline)) - #info (maybe\compose (get@ #info override) (get@ #info baseline)) - #repositories (set.union (get@ #repositories baseline) (get@ #repositories override)) - #dependencies (set.union (get@ #dependencies baseline) (get@ #dependencies override)) - #compiler (if (dependency\= ..default_compiler (get@ #compiler override)) - (get@ #compiler baseline) - (get@ #compiler override)) - #sources (set.union (get@ #sources baseline) (get@ #sources override)) - #target (if (text\= ..default_target (get@ #target baseline)) - (get@ #target override) - (get@ #target baseline)) - #program (maybe\compose (get@ #program override) (get@ #program baseline)) - #test (maybe\compose (get@ #test override) (get@ #test baseline)) - #deploy_repositories (dictionary.merge (get@ #deploy_repositories override) (get@ #deploy_repositories baseline))})) + (template.let [(!runtime ) + [(if (runtime\= (get@ override)) + (get@ baseline) + (get@ override))]] + {#parents (list\compose (get@ #parents baseline) (get@ #parents override)) + #identity (maybe\compose (get@ #identity override) (get@ #identity baseline)) + #info (maybe\compose (get@ #info override) (get@ #info baseline)) + #repositories (set.union (get@ #repositories baseline) (get@ #repositories override)) + #dependencies (set.union (get@ #dependencies baseline) (get@ #dependencies override)) + #compiler (if (dependency\= ..default_compiler (get@ #compiler override)) + (get@ #compiler baseline) + (get@ #compiler override)) + #sources (set.union (get@ #sources baseline) (get@ #sources override)) + #target (if (text\= ..default_target (get@ #target baseline)) + (get@ #target override) + (get@ #target baseline)) + #program (maybe\compose (get@ #program override) (get@ #program baseline)) + #test (maybe\compose (get@ #test override) (get@ #test baseline)) + #deploy_repositories (dictionary.merge (get@ #deploy_repositories override) (get@ #deploy_repositories baseline)) + #java (!runtime #java runtime.default_java) + #js (!runtime #js runtime.default_js) + #python (!runtime #python runtime.default_python) + #lua (!runtime #lua runtime.default_lua) + #ruby (!runtime #ruby runtime.default_ruby)}))) (exception: #export no_identity) -- cgit v1.2.3