lux_cli/dist/mod.rs
1mod bin;
2mod flat_archive;
3
4pub use bin::*;
5pub use flat_archive::*;
6
7use clap::Subcommand;
8
9#[derive(Subcommand)]
10pub enum Dist {
11 /// Distribute an archive of a flat install tree which includes all dependencies.{n}
12 /// The resulting archive does not include the `etc` directory or build dependencies.{n}
13 /// Unlike a Lux tree, dependency conflicts are not supported/handled.
14 FlatArchive(FlatArchive),
15 /// Compile a Lux project, including its dependencies, into a single binary,{n}
16 /// which runs on systems that do not have Lua installed.{n}
17 /// Projects with native Lua modules are not single binaries: the modules are{n}
18 /// copied as shared libraries next to the output binary, and must be{n}
19 /// shipped alongside it.{n}
20 /// As with flat-archive, dependency conflicts are not supported/handled.{n}
21 /// {n}
22 /// The entrypoint is specified via the lux.toml's [run] field, e.g.: {n}
23 /// {n}
24 /// ```toml{n}
25 /// [run]{n}
26 /// args = ["src/main.lua"]{n}
27 /// ```
28 Bin(Bin),
29}