mirror of
https://github.com/bevyengine/bevy
synced 2024-11-22 04:33:37 +00:00
remove most "optional" bevy features
This commit is contained in:
parent
5ea979dd0e
commit
75218be117
4 changed files with 59 additions and 134 deletions
53
Cargo.toml
53
Cargo.toml
|
@ -5,26 +5,7 @@ authors = ["Carter Anderson <mcanders1@gmail.com>"]
|
|||
edition = "2018"
|
||||
|
||||
[features]
|
||||
default = ["headless", "wgpu", "winit"]
|
||||
headless = ["asset", "type_registry", "core", "derive", "diagnostic", "gltf", "input", "pbr", "property", "render", "scene", "sprite", "text", "transform", "ui", "window"]
|
||||
asset = ["bevy_asset"]
|
||||
core = ["bevy_core"]
|
||||
type_registry = ["bevy_type_registry"]
|
||||
derive = ["bevy_derive"]
|
||||
diagnostic = ["bevy_diagnostic"]
|
||||
gltf = ["bevy_gltf"]
|
||||
input = ["bevy_input"]
|
||||
pbr = ["bevy_pbr"]
|
||||
property = ["bevy_property"]
|
||||
render = ["bevy_render"]
|
||||
scene = ["bevy_scene"]
|
||||
sprite = ["bevy_sprite"]
|
||||
text = ["bevy_text"]
|
||||
transform = ["bevy_transform"]
|
||||
ui = ["bevy_ui"]
|
||||
window = ["bevy_window"]
|
||||
wgpu = ["bevy_wgpu"]
|
||||
winit = ["bevy_winit"]
|
||||
default = ["bevy_wgpu", "bevy_winit"]
|
||||
more-system-fns = ["legion/more-system-fns"]
|
||||
|
||||
[workspace]
|
||||
|
@ -40,22 +21,22 @@ exclude = [
|
|||
[dependencies]
|
||||
# bevy
|
||||
bevy_app = { path = "crates/bevy_app" }
|
||||
bevy_asset = { path = "crates/bevy_asset", optional = true }
|
||||
bevy_type_registry = { path = "crates/bevy_type_registry", optional = true }
|
||||
bevy_core = { path = "crates/bevy_core", optional = true }
|
||||
bevy_derive = { path = "crates/bevy_derive", optional = true }
|
||||
bevy_diagnostic = { path = "crates/bevy_diagnostic", optional = true }
|
||||
bevy_gltf = { path = "crates/bevy_gltf", optional = true }
|
||||
bevy_input = { path = "crates/bevy_input", optional = true }
|
||||
bevy_pbr = { path = "crates/bevy_pbr", optional = true }
|
||||
bevy_property = { path = "crates/bevy_property", optional = true }
|
||||
bevy_render = { path = "crates/bevy_render", optional = true }
|
||||
bevy_scene = { path = "crates/bevy_scene", optional = true }
|
||||
bevy_sprite = { path = "crates/bevy_sprite", optional = true }
|
||||
bevy_transform = { path = "crates/bevy_transform", optional = true }
|
||||
bevy_text = { path = "crates/bevy_text", optional = true }
|
||||
bevy_ui = { path = "crates/bevy_ui", optional = true }
|
||||
bevy_window = { path = "crates/bevy_window", optional = true }
|
||||
bevy_asset = { path = "crates/bevy_asset" }
|
||||
bevy_type_registry = { path = "crates/bevy_type_registry" }
|
||||
bevy_core = { path = "crates/bevy_core" }
|
||||
bevy_derive = { path = "crates/bevy_derive" }
|
||||
bevy_diagnostic = { path = "crates/bevy_diagnostic" }
|
||||
bevy_gltf = { path = "crates/bevy_gltf" }
|
||||
bevy_input = { path = "crates/bevy_input" }
|
||||
bevy_pbr = { path = "crates/bevy_pbr" }
|
||||
bevy_property = { path = "crates/bevy_property" }
|
||||
bevy_render = { path = "crates/bevy_render" }
|
||||
bevy_scene = { path = "crates/bevy_scene" }
|
||||
bevy_sprite = { path = "crates/bevy_sprite" }
|
||||
bevy_transform = { path = "crates/bevy_transform" }
|
||||
bevy_text = { path = "crates/bevy_text" }
|
||||
bevy_ui = { path = "crates/bevy_ui" }
|
||||
bevy_window = { path = "crates/bevy_window" }
|
||||
bevy_wgpu = { path = "crates/bevy_wgpu", optional = true }
|
||||
bevy_winit = { path = "crates/bevy_winit", optional = true }
|
||||
legion = { path = "crates/bevy_legion" }
|
||||
|
|
|
@ -6,51 +6,26 @@ pub trait AddDefaultPlugins {
|
|||
|
||||
impl AddDefaultPlugins for AppBuilder {
|
||||
fn add_default_plugins(&mut self) -> &mut Self {
|
||||
#[cfg(feature = "type_registry")]
|
||||
self.add_plugin(bevy_type_registry::TypeRegistryPlugin::default());
|
||||
|
||||
#[cfg(feature = "core")]
|
||||
self.add_plugin(bevy_core::CorePlugin::default());
|
||||
|
||||
#[cfg(feature = "diagnostic")]
|
||||
self.add_plugin(bevy_diagnostic::DiagnosticsPlugin::default());
|
||||
|
||||
#[cfg(feature = "input")]
|
||||
self.add_plugin(bevy_input::InputPlugin::default());
|
||||
|
||||
#[cfg(feature = "window")]
|
||||
self.add_plugin(bevy_window::WindowPlugin::default());
|
||||
|
||||
#[cfg(feature = "asset")]
|
||||
self.add_plugin(bevy_asset::AssetPlugin::default());
|
||||
|
||||
#[cfg(feature = "scene")]
|
||||
self.add_plugin(bevy_scene::ScenePlugin::default());
|
||||
|
||||
#[cfg(feature = "render")]
|
||||
self.add_plugin(bevy_render::RenderPlugin::default());
|
||||
|
||||
#[cfg(feature = "sprite")]
|
||||
self.add_plugin(bevy_sprite::SpritePlugin::default());
|
||||
|
||||
#[cfg(feature = "pbr")]
|
||||
self.add_plugin(bevy_pbr::PbrPlugin::default());
|
||||
|
||||
#[cfg(feature = "ui")]
|
||||
self.add_plugin(bevy_ui::UiPlugin::default());
|
||||
|
||||
#[cfg(feature = "gltf")]
|
||||
self.add_plugin(bevy_gltf::GltfPlugin::default());
|
||||
|
||||
#[cfg(feature = "text")]
|
||||
self.add_plugin(bevy_text::TextPlugin::default());
|
||||
|
||||
#[cfg(feature = "winit")]
|
||||
#[cfg(feature = "bevy_winit")]
|
||||
self.add_plugin(bevy_winit::WinitPlugin::default());
|
||||
#[cfg(not(feature = "winit"))]
|
||||
#[cfg(not(feature = "bevy_winit"))]
|
||||
self.add_plugin(bevy_app::schedule_runner::ScheduleRunnerPlugin::default());
|
||||
|
||||
#[cfg(feature = "wgpu")]
|
||||
#[cfg(feature = "bevy_wgpu")]
|
||||
self.add_plugin(bevy_wgpu::WgpuPlugin::default());
|
||||
|
||||
self
|
||||
|
|
22
src/lib.rs
22
src/lib.rs
|
@ -47,39 +47,23 @@ pub use bevy_app as app;
|
|||
pub use glam as math;
|
||||
pub use legion;
|
||||
|
||||
#[cfg(feature = "asset")]
|
||||
pub use bevy_asset as asset;
|
||||
#[cfg(feature = "core")]
|
||||
pub use bevy_core as core;
|
||||
#[cfg(feature = "derive")]
|
||||
pub use bevy_derive as derive;
|
||||
#[cfg(feature = "diagnostic")]
|
||||
pub use bevy_diagnostic as diagnostic;
|
||||
#[cfg(feature = "gltf")]
|
||||
pub use bevy_gltf as gltf;
|
||||
#[cfg(feature = "input")]
|
||||
pub use bevy_input as input;
|
||||
#[cfg(feature = "pbr")]
|
||||
pub use bevy_pbr as pbr;
|
||||
#[cfg(feature = "property")]
|
||||
pub use bevy_property as property;
|
||||
#[cfg(feature = "render")]
|
||||
pub use bevy_render as render;
|
||||
#[cfg(feature = "scene")]
|
||||
pub use bevy_scene as scene;
|
||||
#[cfg(feature = "sprite")]
|
||||
pub use bevy_sprite as sprite;
|
||||
#[cfg(feature = "text")]
|
||||
pub use bevy_text as text;
|
||||
#[cfg(feature = "transform")]
|
||||
pub use bevy_transform as transform;
|
||||
#[cfg(feature = "type_registry")]
|
||||
pub use bevy_type_registry as type_registry;
|
||||
#[cfg(feature = "ui")]
|
||||
pub use bevy_ui as ui;
|
||||
#[cfg(feature = "wgpu")]
|
||||
pub use bevy_wgpu as wgpu;
|
||||
#[cfg(feature = "window")]
|
||||
pub use bevy_window as window;
|
||||
#[cfg(feature = "winit")]
|
||||
#[cfg(feature = "bevy_wgpu")]
|
||||
pub use bevy_wgpu as wgpu;
|
||||
#[cfg(feature = "bevy_winit")]
|
||||
pub use bevy_winit as winit;
|
||||
|
|
|
@ -1,60 +1,45 @@
|
|||
#[cfg(feature = "asset")]
|
||||
pub use crate::asset::{AddAsset, AssetEvent, AssetServer, Assets, Handle};
|
||||
#[cfg(feature = "core")]
|
||||
pub use crate::core::{
|
||||
time::{Time, Timer},
|
||||
transform::{CommandBufferBuilderSource, WorldBuilder, WorldBuilderSource},
|
||||
};
|
||||
#[cfg(feature = "derive")]
|
||||
pub use crate::derive::*;
|
||||
#[cfg(feature = "diagnostic")]
|
||||
pub use crate::diagnostic::DiagnosticsPlugin;
|
||||
#[cfg(feature = "input")]
|
||||
pub use crate::input::{Input, mouse::MouseButton, keyboard::KeyCode};
|
||||
#[cfg(feature = "pbr")]
|
||||
pub use crate::pbr::{entity::*, light::Light, material::StandardMaterial};
|
||||
#[cfg(feature = "property")]
|
||||
pub use crate::property::{DynamicProperties, Properties, PropertiesVal, Property, PropertyVal};
|
||||
#[cfg(feature = "render")]
|
||||
pub use crate::render::{
|
||||
draw_target,
|
||||
entity::*,
|
||||
mesh::{shape, Mesh},
|
||||
pipeline::PipelineDescriptor,
|
||||
render_graph::{
|
||||
nodes::{
|
||||
AssetUniformNode, CameraNode, PassNode, UniformNode, WindowSwapChainNode,
|
||||
WindowTextureNode,
|
||||
},
|
||||
RenderGraph,
|
||||
},
|
||||
shader::{Shader, ShaderDefSuffixProvider, ShaderStage, ShaderStages},
|
||||
texture::{Texture, TextureType},
|
||||
Camera, Color, ColorSource, OrthographicProjection, PerspectiveProjection, Renderable,
|
||||
};
|
||||
#[cfg(feature = "scene")]
|
||||
pub use crate::scene::{Scene, SceneSpawner};
|
||||
#[cfg(feature = "sprite")]
|
||||
pub use crate::sprite::{
|
||||
entity::{SpriteEntity, SpriteSheetEntity},
|
||||
ColorMaterial, Quad, Sprite, SpriteSheet, SpriteSheetSprite,
|
||||
};
|
||||
#[cfg(feature = "text")]
|
||||
pub use crate::text::Font;
|
||||
#[cfg(feature = "transform")]
|
||||
pub use crate::transform::prelude::*;
|
||||
#[cfg(feature = "type_registry")]
|
||||
pub use crate::type_registry::RegisterType;
|
||||
#[cfg(feature = "ui")]
|
||||
pub use crate::ui::{entity::*, widget::Label, Anchors, Margins, Node};
|
||||
#[cfg(feature = "window")]
|
||||
pub use crate::window::{Window, WindowDescriptor, WindowPlugin, Windows};
|
||||
pub use crate::{
|
||||
app::{
|
||||
schedule_runner::ScheduleRunnerPlugin, stage, App, AppBuilder, AppPlugin, EntityArchetype,
|
||||
EventReader, Events, FromResources, System,
|
||||
},
|
||||
asset::{AddAsset, AssetEvent, AssetServer, Assets, Handle},
|
||||
core::{
|
||||
time::{Time, Timer},
|
||||
transform::{CommandBufferBuilderSource, WorldBuilder, WorldBuilderSource},
|
||||
},
|
||||
derive::*,
|
||||
diagnostic::DiagnosticsPlugin,
|
||||
input::{keyboard::KeyCode, mouse::MouseButton, Input},
|
||||
math::{self, Mat3, Mat4, Quat, Vec2, Vec3, Vec4},
|
||||
pbr::{entity::*, light::Light, material::StandardMaterial},
|
||||
property::{DynamicProperties, Properties, PropertiesVal, Property, PropertyVal},
|
||||
render::{
|
||||
draw_target,
|
||||
entity::*,
|
||||
mesh::{shape, Mesh},
|
||||
pipeline::PipelineDescriptor,
|
||||
render_graph::{
|
||||
nodes::{
|
||||
AssetUniformNode, CameraNode, PassNode, UniformNode, WindowSwapChainNode,
|
||||
WindowTextureNode,
|
||||
},
|
||||
RenderGraph,
|
||||
},
|
||||
shader::{Shader, ShaderDefSuffixProvider, ShaderStage, ShaderStages},
|
||||
texture::{Texture, TextureType},
|
||||
Camera, Color, ColorSource, OrthographicProjection, PerspectiveProjection, Renderable,
|
||||
},
|
||||
scene::{Scene, SceneSpawner},
|
||||
sprite::{
|
||||
entity::{SpriteEntity, SpriteSheetEntity},
|
||||
ColorMaterial, Quad, Sprite, SpriteSheet, SpriteSheetSprite,
|
||||
},
|
||||
text::Font,
|
||||
transform::prelude::*,
|
||||
type_registry::RegisterType,
|
||||
ui::{entity::*, widget::Label, Anchors, Margins, Node},
|
||||
window::{Window, WindowDescriptor, WindowPlugin, Windows},
|
||||
AddDefaultPlugins,
|
||||
};
|
||||
pub use legion::{
|
||||
|
|
Loading…
Reference in a new issue