[package] name = "bevy_mod_scripting" version = "0.8.0-alpha.1" authors = ["Maksymilian Mozolewski "] edition = "2021" license = "MIT OR Apache-2.0" description = "Multi language scripting in Bevy" repository = "https://github.com/makspll/bevy_mod_scripting" homepage = "https://github.com/makspll/bevy_mod_scripting" keywords = ["bevy", "gamedev", "scripting", "lua"] categories = ["game-development"] readme = "readme.md" include = ["readme.md", "/src", "/examples", "/assets", "LICENSE"] [[bin]] name = "bevy_mod_scripting_doc_gen" path = "src/documentation/main.rs" [lib] name = "bevy_mod_scripting" path = "src/lib.rs" [package.metadata."docs.rs"] features = [ "lua", "lua54", "rhai", "lua_script_api", "rhai_script_api", "teal", "rune", ] [features] ## core doc_always = ["bevy_mod_scripting_core/doc_always"] ## lua lua = ["bevy_mod_scripting_lua"] # one of these must be selected lua51 = ["bevy_mod_scripting_lua/lua51", "lua"] lua52 = ["bevy_mod_scripting_lua/lua52", "lua"] lua53 = ["bevy_mod_scripting_lua/lua53", "lua"] lua54 = ["bevy_mod_scripting_lua/lua54", "lua"] luajit = ["bevy_mod_scripting_lua/luajit", "lua"] luajit52 = ["bevy_mod_scripting_lua/luajit52", "lua"] # optional lua_script_api = ["bevy_script_api/lua"] unsafe_lua_modules = ["bevy_mod_scripting_lua/unsafe_lua_modules"] teal = ["bevy_mod_scripting_lua/teal"] mlua_serialize = ["bevy_mod_scripting_lua/mlua_serialize"] mlua_macros = ["bevy_mod_scripting_lua/mlua_macros"] mlua_async = ["bevy_mod_scripting_lua/mlua_async"] ## rhai rhai = ["bevy_mod_scripting_rhai"] rhai_script_api = ["bevy_script_api/rhai"] ## rune rune = ["bevy_mod_scripting_rune"] [dependencies] bevy = { workspace = true } bevy_mod_scripting_core = { workspace = true } bevy_mod_scripting_lua = { path = "crates/languages/bevy_mod_scripting_lua", version = "0.8.0-alpha.1", optional = true } bevy_mod_scripting_rhai = { path = "crates/languages/bevy_mod_scripting_rhai", version = "0.8.0-alpha.1", optional = true } bevy_mod_scripting_rune = { path = "crates/languages/bevy_mod_scripting_rune", version = "0.8.0-alpha.1", optional = true } bevy_script_api = { path = "crates/bevy_script_api", version = "0.8.0-alpha.1", optional = true } [workspace.dependencies] bevy = { version = "0.15.0-rc.3", default-features = false } bevy_mod_scripting_core = { path = "crates/bevy_mod_scripting_core", version = "0.8.0-alpha.1" } bevy_mod_scripting_common = { path = "crates/bevy_mod_scripting_common", version = "0.8.0-alpha.1" } [dev-dependencies] bevy = { workspace = true, default-features = true } clap = { version = "4.1", features = ["derive"] } rand = "0.8.5" bevy_console = "0.12" rhai-rand = "0.1" [workspace] members = [ "crates/bevy_mod_scripting_core", "crates/bevy_event_priority", "crates/bevy_script_api", "crates/languages/bevy_mod_scripting_lua", "crates/languages/bevy_mod_scripting_lua_derive", "crates/languages/bevy_mod_scripting_rhai", "crates/languages/bevy_mod_scripting_rhai_derive", "crates/languages/bevy_mod_scripting_rune", "crates/bevy_mod_scripting_common", ] resolver = "2" exclude = ["crates/bevy_api_gen", "crates/macro_tests"] [profile.dev] debug = 1 opt-level = 1 [profile.dev.package."*"] debug = 0 opt-level = 3 [profile.ephemeral-build] inherits = "dev" opt-level = 2 codegen-units = 8 incremental = false debug = false # TODO: bump once bevy is released and the lib is updated # [[example]] # name = "console_integration_lua" # path = "examples/lua/console_integration.rs" # required-features = [ # "lua54", # "lua_script_api", # "bevy/file_watcher", # "bevy/multi_threaded", # ] # [[example]] # name = "console_integration_rhai" # path = "examples/rhai/console_integration.rs" # required-features = [ # "rhai", # "rhai_script_api", # "bevy/file_watcher", # "bevy/multi_threaded", # ] [[example]] name = "complex_game_loop_lua" path = "examples/lua/complex_game_loop.rs" required-features = ["lua54"] [[example]] name = "dynamic_queries_lua" path = "examples/lua/dynamic_queries.rs" required-features = ["lua54", "lua_script_api"] [[example]] name = "dynamic_queries_rhai" path = "examples/rhai/dynamic_queries.rs" required-features = ["rhai", "rhai_script_api"] [[example]] name = "game_of_life_lua" path = "examples/lua/game_of_life.rs" required-features = [ "lua54", "lua_script_api", "bevy/file_watcher", "bevy/multi_threaded", ] [[example]] name = "game_of_life_rhai" path = "examples/rhai/game_of_life.rs" required-features = [ "rhai", "rhai_script_api", "bevy/file_watcher", "bevy/multi_threaded", ] [[example]] name = "event_recipients_lua" path = "examples/lua/event_recipients.rs" required-features = ["lua54"] [[example]] name = "coroutines_lua" path = "examples/lua/coroutines.rs" required-features = ["lua54"] [[example]] name = "documentation_gen_lua" path = "examples/lua/documentation_gen.rs" required-features = ["lua54", "teal", "lua_script_api"] [[example]] name = "bevy_api_lua" path = "examples/lua/bevy_api.rs" required-features = ["lua54", "lua_script_api"] [[example]] name = "bevy_api_rhai" path = "examples/rhai/bevy_api.rs" required-features = ["rhai", "rhai_script_api"] [[example]] name = "wrappers" path = "examples/wrappers.rs" required-features = ["lua54", "lua_script_api"] [[example]] name = "minimal_rune" path = "examples/rune/minimal.rs" required-features = ["rune"] [[example]] name = "event_recipients_rune" path = "examples/rune/event_recipients.rs" required-features = ["rune"]