bevy/tools/publish.sh
Robert Swain a0a3d8798b ExtractResourcePlugin (#3745)
# Objective

- Add an `ExtractResourcePlugin` for convenience and consistency

## Solution

- Add an `ExtractResourcePlugin` similar to `ExtractComponentPlugin` but for ECS `Resource`s. The system that is executed simply clones the main world resource into a render world resource, if and only if the main world resource was either added or changed since the last execution of the system.
- Add an `ExtractResource` trait with a `fn extract_resource(res: &Self) -> Self` function. This is used by the `ExtractResourcePlugin` to extract the resource
- Add a derive macro for `ExtractResource` on a `Resource` with the `Clone` trait, that simply returns `res.clone()`
- Use `ExtractResourcePlugin` wherever both possible and appropriate
2022-05-30 18:36:03 +00:00

52 lines
858 B
Bash

# if crate A depends on crate B, B must come before A in this list
crates=(
bevy_utils
bevy_ptr
bevy_macro_utils
bevy_derive
bevy_math
bevy_tasks
bevy_reflect/bevy_reflect_derive
bevy_reflect
bevy_ecs/macros
bevy_ecs
bevy_app
bevy_time
bevy_log
bevy_dynamic_plugin
bevy_asset
bevy_audio
bevy_core
bevy_diagnostic
bevy_hierarchy
bevy_transform
bevy_window
bevy_encase_derive
bevy_render/macros
bevy_render
bevy_core_pipeline
bevy_input
bevy_gilrs
bevy_animation
bevy_pbr
bevy_gltf
bevy_scene
bevy_sprite
bevy_text
bevy_ui
bevy_winit
bevy_internal
bevy_dylib
)
cd crates
for crate in "${crates[@]}"
do
echo "Publishing ${crate}"
(cd "$crate"; cargo publish --no-verify)
sleep 20
done
cd ..
cargo publish