aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/program/aedifex/command
diff options
context:
space:
mode:
authorEduardo Julian2022-02-23 05:30:53 -0400
committerEduardo Julian2022-02-23 05:30:53 -0400
commitf27a91a7b67790272578692ea20e2d875dbb3d35 (patch)
treecf0d9a53f3ef1b16be92ee5a120651b1abbb866d /stdlib/source/program/aedifex/command
parentf07effd9faf3fdaa677f659d6bbccf98931c5e5a (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 'stdlib/source/program/aedifex/command')
-rw-r--r--stdlib/source/program/aedifex/command/build.lux15
-rw-r--r--stdlib/source/program/aedifex/command/deploy.lux107
-rw-r--r--stdlib/source/program/aedifex/command/install.lux87
-rw-r--r--stdlib/source/program/aedifex/command/version.lux31
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))