mirror of
https://github.com/lune-org/lune.git
synced 2025-04-10 21:40:54 +01:00
Add proper cfgs and feature dependencies to lune crate
This commit is contained in:
parent
b4b7440130
commit
3b3bd54c16
3 changed files with 135 additions and 95 deletions
|
@ -18,30 +18,31 @@ name = "lune"
|
||||||
path = "src/lib.rs"
|
path = "src/lib.rs"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = [
|
default = ["std", "cli"]
|
||||||
"datetime",
|
|
||||||
"fs",
|
|
||||||
"luau",
|
|
||||||
"net",
|
|
||||||
"process",
|
|
||||||
"regex",
|
|
||||||
"roblox",
|
|
||||||
"serde",
|
|
||||||
"stdio",
|
|
||||||
"task",
|
|
||||||
"cli",
|
|
||||||
]
|
|
||||||
|
|
||||||
datetime = ["lune-std/datetime"]
|
std-datetime = ["dep:lune-std", "lune-std/datetime"]
|
||||||
fs = ["lune-std/fs"]
|
std-fs = ["dep:lune-std", "lune-std/fs"]
|
||||||
luau = ["lune-std/luau"]
|
std-luau = ["dep:lune-std", "lune-std/luau"]
|
||||||
net = ["lune-std/net"]
|
std-net = ["dep:lune-std", "lune-std/net"]
|
||||||
process = ["lune-std/process"]
|
std-process = ["dep:lune-std", "lune-std/process"]
|
||||||
regex = ["lune-std/regex"]
|
std-regex = ["dep:lune-std", "lune-std/regex"]
|
||||||
roblox = ["lune-std/roblox", "dep:lune-roblox"]
|
std-roblox = ["dep:lune-std", "lune-std/roblox", "dep:lune-roblox"]
|
||||||
serde = ["lune-std/serde"]
|
std-serde = ["dep:lune-std", "lune-std/serde"]
|
||||||
stdio = ["lune-std/stdio"]
|
std-stdio = ["dep:lune-std", "lune-std/stdio"]
|
||||||
task = ["lune-std/task"]
|
std-task = ["dep:lune-std", "lune-std/task"]
|
||||||
|
|
||||||
|
std = [
|
||||||
|
"std-datetime",
|
||||||
|
"std-fs",
|
||||||
|
"std-luau",
|
||||||
|
"std-net",
|
||||||
|
"std-process",
|
||||||
|
"std-regex",
|
||||||
|
"std-roblox",
|
||||||
|
"std-serde",
|
||||||
|
"std-stdio",
|
||||||
|
"std-task",
|
||||||
|
]
|
||||||
|
|
||||||
cli = [
|
cli = [
|
||||||
"dep:anyhow",
|
"dep:anyhow",
|
||||||
|
@ -75,9 +76,9 @@ reqwest = { version = "0.11", default-features = false, features = [
|
||||||
"rustls-tls",
|
"rustls-tls",
|
||||||
] }
|
] }
|
||||||
|
|
||||||
lune-std = { version = "0.1.0", path = "../lune-std" }
|
lune-std = { optional = true, version = "0.1.0", path = "../lune-std" }
|
||||||
lune-utils = { version = "0.1.0", path = "../lune-utils" }
|
|
||||||
lune-roblox = { optional = true, version = "0.1.0", path = "../lune-roblox" }
|
lune-roblox = { optional = true, version = "0.1.0", path = "../lune-roblox" }
|
||||||
|
lune-utils = { version = "0.1.0", path = "../lune-utils" }
|
||||||
|
|
||||||
### CLI
|
### CLI
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
mod rt;
|
mod rt;
|
||||||
|
|
||||||
#[cfg(feature = "roblox")]
|
#[cfg(feature = "std-roblox")]
|
||||||
pub use lune_roblox as roblox;
|
pub use lune_roblox as roblox;
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
|
|
|
@ -45,56 +45,19 @@ macro_rules! create_tests {
|
||||||
)* }
|
)* }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(any(
|
||||||
|
feature = "std-datetime",
|
||||||
|
feature = "std-fs",
|
||||||
|
feature = "std-luau",
|
||||||
|
feature = "std-net",
|
||||||
|
feature = "std-process",
|
||||||
|
feature = "std-regex",
|
||||||
|
feature = "std-roblox",
|
||||||
|
feature = "std-serde",
|
||||||
|
feature = "std-stdio",
|
||||||
|
feature = "std-task"
|
||||||
|
))]
|
||||||
create_tests! {
|
create_tests! {
|
||||||
datetime_format_local_time: "datetime/formatLocalTime",
|
|
||||||
datetime_format_universal_time: "datetime/formatUniversalTime",
|
|
||||||
datetime_from_iso_date: "datetime/fromIsoDate",
|
|
||||||
datetime_from_local_time: "datetime/fromLocalTime",
|
|
||||||
datetime_from_universal_time: "datetime/fromUniversalTime",
|
|
||||||
datetime_from_unix_timestamp: "datetime/fromUnixTimestamp",
|
|
||||||
datetime_now: "datetime/now",
|
|
||||||
datetime_to_iso_date: "datetime/toIsoDate",
|
|
||||||
datetime_to_local_time: "datetime/toLocalTime",
|
|
||||||
datetime_to_universal_time: "datetime/toUniversalTime",
|
|
||||||
|
|
||||||
fs_files: "fs/files",
|
|
||||||
fs_copy: "fs/copy",
|
|
||||||
fs_dirs: "fs/dirs",
|
|
||||||
fs_metadata: "fs/metadata",
|
|
||||||
fs_move: "fs/move",
|
|
||||||
|
|
||||||
luau_compile: "luau/compile",
|
|
||||||
luau_load: "luau/load",
|
|
||||||
luau_options: "luau/options",
|
|
||||||
|
|
||||||
net_request_codes: "net/request/codes",
|
|
||||||
net_request_compression: "net/request/compression",
|
|
||||||
net_request_methods: "net/request/methods",
|
|
||||||
net_request_query: "net/request/query",
|
|
||||||
net_request_redirect: "net/request/redirect",
|
|
||||||
net_url_encode: "net/url/encode",
|
|
||||||
net_url_decode: "net/url/decode",
|
|
||||||
net_serve_requests: "net/serve/requests",
|
|
||||||
net_serve_websockets: "net/serve/websockets",
|
|
||||||
net_socket_basic: "net/socket/basic",
|
|
||||||
net_socket_wss: "net/socket/wss",
|
|
||||||
net_socket_wss_rw: "net/socket/wss_rw",
|
|
||||||
|
|
||||||
process_args: "process/args",
|
|
||||||
process_cwd: "process/cwd",
|
|
||||||
process_env: "process/env",
|
|
||||||
process_exit: "process/exit",
|
|
||||||
process_spawn_async: "process/spawn/async",
|
|
||||||
process_spawn_basic: "process/spawn/basic",
|
|
||||||
process_spawn_cwd: "process/spawn/cwd",
|
|
||||||
process_spawn_shell: "process/spawn/shell",
|
|
||||||
process_spawn_stdin: "process/spawn/stdin",
|
|
||||||
process_spawn_stdio: "process/spawn/stdio",
|
|
||||||
|
|
||||||
regex_general: "regex/general",
|
|
||||||
regex_metamethods: "regex/metamethods",
|
|
||||||
regex_replace: "regex/replace",
|
|
||||||
|
|
||||||
require_aliases: "require/tests/aliases",
|
require_aliases: "require/tests/aliases",
|
||||||
require_async: "require/tests/async",
|
require_async: "require/tests/async",
|
||||||
require_async_concurrent: "require/tests/async_concurrent",
|
require_async_concurrent: "require/tests/async_concurrent",
|
||||||
|
@ -117,28 +80,76 @@ create_tests! {
|
||||||
global_type: "globals/type",
|
global_type: "globals/type",
|
||||||
global_typeof: "globals/typeof",
|
global_typeof: "globals/typeof",
|
||||||
global_warn: "globals/warn",
|
global_warn: "globals/warn",
|
||||||
|
|
||||||
serde_compression_files: "serde/compression/files",
|
|
||||||
serde_compression_roundtrip: "serde/compression/roundtrip",
|
|
||||||
serde_json_decode: "serde/json/decode",
|
|
||||||
serde_json_encode: "serde/json/encode",
|
|
||||||
serde_toml_decode: "serde/toml/decode",
|
|
||||||
serde_toml_encode: "serde/toml/encode",
|
|
||||||
|
|
||||||
stdio_format: "stdio/format",
|
|
||||||
stdio_color: "stdio/color",
|
|
||||||
stdio_style: "stdio/style",
|
|
||||||
stdio_write: "stdio/write",
|
|
||||||
stdio_ewrite: "stdio/ewrite",
|
|
||||||
|
|
||||||
task_cancel: "task/cancel",
|
|
||||||
task_defer: "task/defer",
|
|
||||||
task_delay: "task/delay",
|
|
||||||
task_spawn: "task/spawn",
|
|
||||||
task_wait: "task/wait",
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "roblox")]
|
#[cfg(feature = "std-datetime")]
|
||||||
|
create_tests! {
|
||||||
|
datetime_format_local_time: "datetime/formatLocalTime",
|
||||||
|
datetime_format_universal_time: "datetime/formatUniversalTime",
|
||||||
|
datetime_from_iso_date: "datetime/fromIsoDate",
|
||||||
|
datetime_from_local_time: "datetime/fromLocalTime",
|
||||||
|
datetime_from_universal_time: "datetime/fromUniversalTime",
|
||||||
|
datetime_from_unix_timestamp: "datetime/fromUnixTimestamp",
|
||||||
|
datetime_now: "datetime/now",
|
||||||
|
datetime_to_iso_date: "datetime/toIsoDate",
|
||||||
|
datetime_to_local_time: "datetime/toLocalTime",
|
||||||
|
datetime_to_universal_time: "datetime/toUniversalTime",
|
||||||
|
}
|
||||||
|
|
||||||
|
#[cfg(feature = "std-fs")]
|
||||||
|
create_tests! {
|
||||||
|
fs_files: "fs/files",
|
||||||
|
fs_copy: "fs/copy",
|
||||||
|
fs_dirs: "fs/dirs",
|
||||||
|
fs_metadata: "fs/metadata",
|
||||||
|
fs_move: "fs/move",
|
||||||
|
}
|
||||||
|
|
||||||
|
#[cfg(feature = "std-luau")]
|
||||||
|
create_tests! {
|
||||||
|
luau_compile: "luau/compile",
|
||||||
|
luau_load: "luau/load",
|
||||||
|
luau_options: "luau/options",
|
||||||
|
}
|
||||||
|
|
||||||
|
#[cfg(feature = "std-net")]
|
||||||
|
create_tests! {
|
||||||
|
net_request_codes: "net/request/codes",
|
||||||
|
net_request_compression: "net/request/compression",
|
||||||
|
net_request_methods: "net/request/methods",
|
||||||
|
net_request_query: "net/request/query",
|
||||||
|
net_request_redirect: "net/request/redirect",
|
||||||
|
net_url_encode: "net/url/encode",
|
||||||
|
net_url_decode: "net/url/decode",
|
||||||
|
net_serve_requests: "net/serve/requests",
|
||||||
|
net_serve_websockets: "net/serve/websockets",
|
||||||
|
net_socket_basic: "net/socket/basic",
|
||||||
|
net_socket_wss: "net/socket/wss",
|
||||||
|
net_socket_wss_rw: "net/socket/wss_rw",
|
||||||
|
}
|
||||||
|
|
||||||
|
#[cfg(feature = "std-process")]
|
||||||
|
create_tests! {
|
||||||
|
process_args: "process/args",
|
||||||
|
process_cwd: "process/cwd",
|
||||||
|
process_env: "process/env",
|
||||||
|
process_exit: "process/exit",
|
||||||
|
process_spawn_async: "process/spawn/async",
|
||||||
|
process_spawn_basic: "process/spawn/basic",
|
||||||
|
process_spawn_cwd: "process/spawn/cwd",
|
||||||
|
process_spawn_shell: "process/spawn/shell",
|
||||||
|
process_spawn_stdin: "process/spawn/stdin",
|
||||||
|
process_spawn_stdio: "process/spawn/stdio",
|
||||||
|
}
|
||||||
|
|
||||||
|
#[cfg(feature = "std-regex")]
|
||||||
|
create_tests! {
|
||||||
|
regex_general: "regex/general",
|
||||||
|
regex_metamethods: "regex/metamethods",
|
||||||
|
regex_replace: "regex/replace",
|
||||||
|
}
|
||||||
|
|
||||||
|
#[cfg(feature = "std-roblox")]
|
||||||
create_tests! {
|
create_tests! {
|
||||||
roblox_datatype_axes: "roblox/datatypes/Axes",
|
roblox_datatype_axes: "roblox/datatypes/Axes",
|
||||||
roblox_datatype_brick_color: "roblox/datatypes/BrickColor",
|
roblox_datatype_brick_color: "roblox/datatypes/BrickColor",
|
||||||
|
@ -206,3 +217,31 @@ create_tests! {
|
||||||
roblox_reflection_enums: "roblox/reflection/enums",
|
roblox_reflection_enums: "roblox/reflection/enums",
|
||||||
roblox_reflection_property: "roblox/reflection/property",
|
roblox_reflection_property: "roblox/reflection/property",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(feature = "std-serde")]
|
||||||
|
create_tests! {
|
||||||
|
serde_compression_files: "serde/compression/files",
|
||||||
|
serde_compression_roundtrip: "serde/compression/roundtrip",
|
||||||
|
serde_json_decode: "serde/json/decode",
|
||||||
|
serde_json_encode: "serde/json/encode",
|
||||||
|
serde_toml_decode: "serde/toml/decode",
|
||||||
|
serde_toml_encode: "serde/toml/encode",
|
||||||
|
}
|
||||||
|
|
||||||
|
#[cfg(feature = "std-stdio")]
|
||||||
|
create_tests! {
|
||||||
|
stdio_format: "stdio/format",
|
||||||
|
stdio_color: "stdio/color",
|
||||||
|
stdio_style: "stdio/style",
|
||||||
|
stdio_write: "stdio/write",
|
||||||
|
stdio_ewrite: "stdio/ewrite",
|
||||||
|
}
|
||||||
|
|
||||||
|
#[cfg(feature = "std-task")]
|
||||||
|
create_tests! {
|
||||||
|
task_cancel: "task/cancel",
|
||||||
|
task_defer: "task/defer",
|
||||||
|
task_delay: "task/delay",
|
||||||
|
task_spawn: "task/spawn",
|
||||||
|
task_wait: "task/wait",
|
||||||
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue