diff options
author | Eduardo Julian | 2022-02-23 05:30:53 -0400 |
---|---|---|
committer | Eduardo Julian | 2022-02-23 05:30:53 -0400 |
commit | f27a91a7b67790272578692ea20e2d875dbb3d35 (patch) | |
tree | cf0d9a53f3ef1b16be92ee5a120651b1abbb866d /stdlib/source/program/aedifex/command | |
parent | f07effd9faf3fdaa677f659d6bbccf98931c5e5a (diff) |
ADDED Can pass config parameters to compiler and select code based on it. Can also select code based on compiler version.
Diffstat (limited to '')
-rw-r--r-- | stdlib/source/program/aedifex/command/build.lux | 15 | ||||
-rw-r--r-- | stdlib/source/program/aedifex/command/deploy.lux | 107 | ||||
-rw-r--r-- | stdlib/source/program/aedifex/command/install.lux | 87 | ||||
-rw-r--r-- | stdlib/source/program/aedifex/command/version.lux | 31 |
4 files changed, 123 insertions, 117 deletions
diff --git a/stdlib/source/program/aedifex/command/build.lux b/stdlib/source/program/aedifex/command/build.lux index 8570207be..599887fe4 100644 --- a/stdlib/source/program/aedifex/command/build.lux +++ b/stdlib/source/program/aedifex/command/build.lux @@ -6,7 +6,7 @@ [order {"+" Order}] [monad {"+" do}]] [control - ["[0]" try {"+" Try}] + ["[0]" try {"+" Try} ("[1]#[0]" functor)] ["[0]" exception {"+" exception:}] ["[0]" io {"+" IO}] [concurrency @@ -23,10 +23,13 @@ [number {"+" hex} ["n" nat] ["i" int]]] + [meta + ["[0]" configuration]] [tool [compiler [meta - ["[0]" cli] + [cli + ["[0]" compiler]] ["[0]" packager ["[0]_[1]" ruby]]]]] [world @@ -238,8 +241,9 @@ (def: windows? Bit - (|> (java/lang/System::getProperty "os.name") + (|> (java/lang/System::getProperty (ffi.as_string "os.name")) io.run! + (try#each (|>> ffi.of_string)) (try.else "") text.lower_cased (text.starts_with? "windows"))) @@ -306,10 +310,11 @@ (list "build") (..plural "--library" (..libraries fs home resolution)) (..plural "--host_dependency" host_dependencies) - (..plural "--compiler" (list#each cli.compiler_format (value@ ///.#compilers profile))) + (..plural "--compiler" (list#each compiler.format (value@ ///.#compilers profile))) (..plural "--source" (set.list (value@ ///.#sources profile))) (..singular "--target" cache_directory) - (..singular "--module" program_module)))] + (..singular "--module" program_module) + (..singular "--configuration" (configuration.format (value@ ///.#configuration profile)))))] process (# shell execute [environment working_directory command diff --git a/stdlib/source/program/aedifex/command/deploy.lux b/stdlib/source/program/aedifex/command/deploy.lux index f80ed0275..3ceefa7c1 100644 --- a/stdlib/source/program/aedifex/command/deploy.lux +++ b/stdlib/source/program/aedifex/command/deploy.lux @@ -1,57 +1,58 @@ (.using - [library - [lux "*" - [abstract - [monad {"+" do}]] - [control - [pipe {"+" do>}] - ["[0]" try {"+" Try}] - [concurrency - ["[0]" async {"+" Async} ("[1]#[0]" monad)]] - ["<>" parser - ["<[0]>" xml]]] - [data - [binary {"+" Binary}] - [text - ["%" format {"+" format}] - [encoding - ["[0]" utf8]]] - [collection - ["[0]" set]] - [format - ["[0]" binary] - ["[0]" tar] - ["[0]" xml]]] - [time - ["[0]" instant {"+" Instant}]] - [world - ["[0]" file] - ["[0]" console {"+" Console}]]]] - [program - [compositor - ["[0]" export]]] - ["[0]" // "_" - ["[1][0]" clean] - ["/[1]" // "_" - [command {"+" Command}] - ["/" profile] - ["[1][0]" action {"+" Action}] - ["[1][0]" pom] - ["[1][0]" hash] - ["[1][0]" package] - ["[1][0]" dependency - ["[1]/[0]" deployment] - ["[1]/[0]" status {"+" Status}]] - ["[1][0]" repository {"+" Repository} - [identity {"+" Identity}] - ["[1]/[0]" remote] - ["[1]/[0]" origin]] - ["[1][0]" metadata - ["[1]/[0]" artifact] - ["[1]/[0]" snapshot]] - ["[1][0]" artifact {"+" Artifact} - ["[1]/[0]" extension {"+" Extension}] - ["[1]/[0]" type]]]]) + [library + [lux "*" + [abstract + [monad {"+" do}]] + [control + [pipe {"+" do>}] + ["[0]" try {"+" Try}] + [concurrency + ["[0]" async {"+" Async} ("[1]#[0]" monad)]] + ["<>" parser + ["<[0]>" xml]]] + [data + [binary {"+" Binary}] + [text + ["%" format {"+" format}] + [encoding + ["[0]" utf8]]] + [collection + ["[0]" set]] + [format + ["[0]" binary] + ["[0]" tar] + ["[0]" xml]]] + [time + ["[0]" instant {"+" Instant}]] + [tool + [compiler + [meta + ["[0]" export]]]] + [world + ["[0]" file] + ["[0]" console {"+" Console}]]]] + ["[0]" // "_" + ["[1][0]" clean] + ["/[1]" // "_" + [command {"+" Command}] + ["/" profile] + ["[1][0]" action {"+" Action}] + ["[1][0]" pom] + ["[1][0]" hash] + ["[1][0]" package] + ["[1][0]" dependency + ["[1]/[0]" deployment] + ["[1]/[0]" status {"+" Status}]] + ["[1][0]" repository {"+" Repository} + [identity {"+" Identity}] + ["[1]/[0]" remote] + ["[1]/[0]" origin]] + ["[1][0]" metadata + ["[1]/[0]" artifact] + ["[1]/[0]" snapshot]] + ["[1][0]" artifact {"+" Artifact} + ["[1]/[0]" extension {"+" Extension}] + ["[1]/[0]" type]]]]) (def: .public success "Successfully deployed the project.") diff --git a/stdlib/source/program/aedifex/command/install.lux b/stdlib/source/program/aedifex/command/install.lux index 06f3197f8..a1553e4bd 100644 --- a/stdlib/source/program/aedifex/command/install.lux +++ b/stdlib/source/program/aedifex/command/install.lux @@ -1,47 +1,48 @@ (.using - [library - [lux "*" - [abstract - [monad {"+" do}]] - [control - ["[0]" try {"+" Try}] - ["[0]" exception] - [concurrency - ["[0]" async {"+" Async}]]] - [data - [binary {"+" Binary}] - [text - [encoding - ["[0]" utf8]]] - [collection - ["[0]" set]] - [format - ["[0]" binary] - ["[0]" tar] - ["[0]" xml]]] - [world - [program {"+" Program}] - ["[0]" file] - ["[0]" console {"+" Console}]]]] - [program - [compositor - ["[0]" export]]] - ["[0]" // "_" - ["[1][0]" clean] - ["/[1]" // "_" - ["/" profile {"+" Profile}] - ["[1][0]" action {"+" Action}] - ["[1][0]" command {"+" Command}] - ["[1][0]" local] - ["[1][0]" pom] - ["[1][0]" package] - [repository {"+" Repository} - ["[1][0]" origin]] - ["[1][0]" dependency "_" - ["[1]/[0]" deployment] - ["[1]/[0]" status]] - ["[1][0]" artifact {"+" Artifact} - ["[1]/[0]" type]]]]) + [library + [lux "*" + [abstract + [monad {"+" do}]] + [control + ["[0]" try {"+" Try}] + ["[0]" exception] + [concurrency + ["[0]" async {"+" Async}]]] + [data + [binary {"+" Binary}] + [text + [encoding + ["[0]" utf8]]] + [collection + ["[0]" set]] + [format + ["[0]" binary] + ["[0]" tar] + ["[0]" xml]]] + [tool + [compiler + [meta + ["[0]" export]]]] + [world + [program {"+" Program}] + ["[0]" file] + ["[0]" console {"+" Console}]]]] + ["[0]" // "_" + ["[1][0]" clean] + ["/[1]" // "_" + ["/" profile {"+" Profile}] + ["[1][0]" action {"+" Action}] + ["[1][0]" command {"+" Command}] + ["[1][0]" local] + ["[1][0]" pom] + ["[1][0]" package] + [repository {"+" Repository} + ["[1][0]" origin]] + ["[1][0]" dependency "_" + ["[1]/[0]" deployment] + ["[1]/[0]" status]] + ["[1][0]" artifact {"+" Artifact} + ["[1]/[0]" type]]]]) (def: .public success "Successfully installed the project locally.") diff --git a/stdlib/source/program/aedifex/command/version.lux b/stdlib/source/program/aedifex/command/version.lux index 2a9072c39..c61e796df 100644 --- a/stdlib/source/program/aedifex/command/version.lux +++ b/stdlib/source/program/aedifex/command/version.lux @@ -1,21 +1,20 @@ (.using - [library - [lux "*" - [control - [concurrency - ["[0]" async {"+" Async}]]] - [tool - [compiler - ["[0]" version] - ["[0]" language "_" - ["[1]/[0]" lux "_" - ["[1]" version]]]]] - [world - ["[0]" console {"+" Console}]]]] - [/// - [command {"+" Command}]]) + [library + [lux "*" + [control + [concurrency + ["[0]" async {"+" Async}]]] + ["[0]" meta "_" + ["[1]/[0]" version]] + [tool + [compiler + ["[0]" version]]] + [world + ["[0]" console {"+" Console}]]]] + [/// + [command {"+" Command}]]) (def: .public (do! console profile) (-> (Console Async) (Command Any)) - (console.write_line (version.format language/lux.version) + (console.write_line (version.format meta/version.latest) console)) |