Skip to content

Commit f1f07be

Browse files
authored
Fix Gizmos warnings and doc errors when a subset of features are selected (#14887)
# Objective When trying to test a gizmos change I ran `cargo test -p bevy_gizmos` and the output had a lot of noise from warnings and failed doc errors. This was because I didn't have all of the features enabled. ## Solution I admit this might be pedantic, and am happy if the concensus is to reject it. Although it does reduce the lines of code, testing noise, and the amount of code compiled. I don't think it affects the complexity of public code, and it doesn't change much to the complexity of internal code. I've removed un-needed `bevy_render` imports in all of the gizmos docs examples, there's probably other unnecessary ones there too, but I haven't looked exhaustively. It isn't needed for those docs, and isn't available except in a subset of `cfg` combinations. I've also made several of the `use` statements slightly more specific. I shouldn't have changed the public interfaces, except that `GizmoMeshConfig` requires either `bevy_sprite` or `bevy_pbr`, as it does nothing without them. I've also avoided adding some systems and plugins in situations where they can't work. An example of this is where the `light` module depends on `all(feature = "bevy_pbr", feature = "bevy_render")`, but it has `use` statements that only require `bevy_render`. ## Testing During development I ran: ``` cargo check -p bevy_gizmos && cargo check -p bevy_gizmos --features=bevy_pbr && cargo check -p bevy_gizmos --features=bevy_sprite && cargo check -p bevy_gizmos --features=bevy_render ``` Afterwards I ran this just to be sure: ``` cargo check && cargo check --features=bevy_pbr && cargo check --features=bevy_sprite && cargo check --features=bevy_render ``` Finally I ran: ``` cargo test -p bevy_gizmos && cargo test -p bevy_gizmos --features=bevy_pbr && test check -p bevy_gizmos --features=bevy_sprite && cargo test -p bevy_gizmos --features=bevy_render ``` ## Migration Guide There shouldn't be any reason to migrate, although if for some reason you use `GizmoMeshConfig` and `bevy_render` but not `bevy_pbr` or `bevy_sprite` (such that it does nothing), then you will get an error that it no longer exists.
1 parent 9054d9d commit f1f07be

File tree

10 files changed

+54
-70
lines changed

10 files changed

+54
-70
lines changed

crates/bevy_asset/src/io/file/sync_file_asset.rs

Lines changed: 8 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -160,10 +160,7 @@ impl AssetReader for FileAssetReader {
160160
}
161161
}
162162

163-
async fn is_directory<'a>(
164-
&'a self,
165-
path: &'a Path,
166-
) -> std::result::Result<bool, AssetReaderError> {
163+
async fn is_directory<'a>(&'a self, path: &'a Path) -> Result<bool, AssetReaderError> {
167164
let full_path = self.root_path.join(path);
168165
let metadata = full_path
169166
.metadata()
@@ -194,35 +191,26 @@ impl AssetWriter for FileAssetWriter {
194191
Ok(writer)
195192
}
196193

197-
async fn remove<'a>(&'a self, path: &'a Path) -> std::result::Result<(), AssetWriterError> {
194+
async fn remove<'a>(&'a self, path: &'a Path) -> Result<(), AssetWriterError> {
198195
let full_path = self.root_path.join(path);
199196
std::fs::remove_file(full_path)?;
200197
Ok(())
201198
}
202199

203-
async fn remove_meta<'a>(
204-
&'a self,
205-
path: &'a Path,
206-
) -> std::result::Result<(), AssetWriterError> {
200+
async fn remove_meta<'a>(&'a self, path: &'a Path) -> Result<(), AssetWriterError> {
207201
let meta_path = get_meta_path(path);
208202
let full_path = self.root_path.join(meta_path);
209203
std::fs::remove_file(full_path)?;
210204
Ok(())
211205
}
212206

213-
async fn remove_directory<'a>(
214-
&'a self,
215-
path: &'a Path,
216-
) -> std::result::Result<(), AssetWriterError> {
207+
async fn remove_directory<'a>(&'a self, path: &'a Path) -> Result<(), AssetWriterError> {
217208
let full_path = self.root_path.join(path);
218209
std::fs::remove_dir_all(full_path)?;
219210
Ok(())
220211
}
221212

222-
async fn remove_empty_directory<'a>(
223-
&'a self,
224-
path: &'a Path,
225-
) -> std::result::Result<(), AssetWriterError> {
213+
async fn remove_empty_directory<'a>(&'a self, path: &'a Path) -> Result<(), AssetWriterError> {
226214
let full_path = self.root_path.join(path);
227215
std::fs::remove_dir(full_path)?;
228216
Ok(())
@@ -231,7 +219,7 @@ impl AssetWriter for FileAssetWriter {
231219
async fn remove_assets_in_directory<'a>(
232220
&'a self,
233221
path: &'a Path,
234-
) -> std::result::Result<(), AssetWriterError> {
222+
) -> Result<(), AssetWriterError> {
235223
let full_path = self.root_path.join(path);
236224
std::fs::remove_dir_all(&full_path)?;
237225
std::fs::create_dir_all(&full_path)?;
@@ -242,7 +230,7 @@ impl AssetWriter for FileAssetWriter {
242230
&'a self,
243231
old_path: &'a Path,
244232
new_path: &'a Path,
245-
) -> std::result::Result<(), AssetWriterError> {
233+
) -> Result<(), AssetWriterError> {
246234
let full_old_path = self.root_path.join(old_path);
247235
let full_new_path = self.root_path.join(new_path);
248236
if let Some(parent) = full_new_path.parent() {
@@ -256,7 +244,7 @@ impl AssetWriter for FileAssetWriter {
256244
&'a self,
257245
old_path: &'a Path,
258246
new_path: &'a Path,
259-
) -> std::result::Result<(), AssetWriterError> {
247+
) -> Result<(), AssetWriterError> {
260248
let old_meta_path = get_meta_path(old_path);
261249
let new_meta_path = get_meta_path(new_path);
262250
let full_old_path = self.root_path.join(old_meta_path);

crates/bevy_gizmos/src/arcs.rs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ where
3131
/// # Example
3232
/// ```
3333
/// # use bevy_gizmos::prelude::*;
34-
/// # use bevy_render::prelude::*;
3534
/// # use bevy_math::prelude::*;
3635
/// # use std::f32::consts::PI;
3736
/// # use bevy_color::palettes::basic::{GREEN, RED};
@@ -168,7 +167,6 @@ where
168167
/// # Example
169168
/// ```
170169
/// # use bevy_gizmos::prelude::*;
171-
/// # use bevy_render::prelude::*;
172170
/// # use bevy_math::prelude::*;
173171
/// # use std::f32::consts::PI;
174172
/// # use bevy_color::palettes::css::ORANGE;
@@ -225,7 +223,6 @@ where
225223
/// # Examples
226224
/// ```
227225
/// # use bevy_gizmos::prelude::*;
228-
/// # use bevy_render::prelude::*;
229226
/// # use bevy_math::prelude::*;
230227
/// # use bevy_color::palettes::css::ORANGE;
231228
/// fn system(mut gizmos: Gizmos) {
@@ -272,7 +269,6 @@ where
272269
/// # Examples
273270
/// ```
274271
/// # use bevy_gizmos::prelude::*;
275-
/// # use bevy_render::prelude::*;
276272
/// # use bevy_math::prelude::*;
277273
/// # use bevy_color::palettes::css::ORANGE;
278274
/// fn system(mut gizmos: Gizmos) {

crates/bevy_gizmos/src/arrows.rs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ where
3636
/// # Example
3737
/// ```
3838
/// # use bevy_gizmos::prelude::*;
39-
/// # use bevy_render::prelude::*;
4039
/// # use bevy_math::prelude::*;
4140
/// # use bevy_color::palettes::basic::GREEN;
4241
/// fn system(mut gizmos: Gizmos) {
@@ -114,7 +113,6 @@ where
114113
/// # Example
115114
/// ```
116115
/// # use bevy_gizmos::prelude::*;
117-
/// # use bevy_render::prelude::*;
118116
/// # use bevy_math::prelude::*;
119117
/// # use bevy_color::palettes::basic::GREEN;
120118
/// fn system(mut gizmos: Gizmos) {
@@ -146,7 +144,6 @@ where
146144
/// # Example
147145
/// ```
148146
/// # use bevy_gizmos::prelude::*;
149-
/// # use bevy_render::prelude::*;
150147
/// # use bevy_math::prelude::*;
151148
/// # use bevy_color::palettes::basic::GREEN;
152149
/// fn system(mut gizmos: Gizmos) {

crates/bevy_gizmos/src/circles.rs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ where
3131
/// # Example
3232
/// ```
3333
/// # use bevy_gizmos::prelude::*;
34-
/// # use bevy_render::prelude::*;
3534
/// # use bevy_math::prelude::*;
3635
/// # use bevy_color::palettes::basic::{RED, GREEN};
3736
/// fn system(mut gizmos: Gizmos) {
@@ -70,7 +69,6 @@ where
7069
/// # Example
7170
/// ```
7271
/// # use bevy_gizmos::prelude::*;
73-
/// # use bevy_render::prelude::*;
7472
/// # use bevy_math::prelude::*;
7573
/// # use bevy_color::palettes::basic::{RED, GREEN};
7674
/// fn system(mut gizmos: Gizmos) {
@@ -109,7 +107,6 @@ where
109107
/// # Example
110108
/// ```
111109
/// # use bevy_gizmos::prelude::*;
112-
/// # use bevy_render::prelude::*;
113110
/// # use bevy_math::prelude::*;
114111
/// # use bevy_color::palettes::basic::{RED, GREEN};
115112
/// fn system(mut gizmos: Gizmos) {
@@ -148,7 +145,6 @@ where
148145
/// # Example
149146
/// ```
150147
/// # use bevy_gizmos::prelude::*;
151-
/// # use bevy_render::prelude::*;
152148
/// # use bevy_math::prelude::*;
153149
/// # use bevy_color::palettes::basic::{RED, GREEN};
154150
/// fn system(mut gizmos: Gizmos) {
@@ -186,7 +182,6 @@ where
186182
/// # Example
187183
/// ```
188184
/// # use bevy_gizmos::prelude::*;
189-
/// # use bevy_render::prelude::*;
190185
/// # use bevy_math::prelude::*;
191186
/// # use bevy_color::Color;
192187
/// fn system(mut gizmos: Gizmos) {

crates/bevy_gizmos/src/config.rs

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,13 @@
33
use crate as bevy_gizmos;
44
pub use bevy_gizmos_macros::GizmoConfigGroup;
55

6-
use bevy_ecs::{component::Component, reflect::ReflectResource, system::Resource};
6+
#[cfg(all(
7+
feature = "bevy_render",
8+
any(feature = "bevy_pbr", feature = "bevy_sprite")
9+
))]
10+
use bevy_ecs::component::Component;
11+
12+
use bevy_ecs::{reflect::ReflectResource, system::Resource};
713
use bevy_reflect::{std_traits::ReflectDefault, Reflect, TypePath};
814
use bevy_utils::TypeIdMap;
915
use core::panic;
@@ -186,15 +192,21 @@ impl Default for GizmoConfig {
186192
}
187193
}
188194

189-
#[cfg(feature = "bevy_render")]
195+
#[cfg(all(
196+
feature = "bevy_render",
197+
any(feature = "bevy_pbr", feature = "bevy_sprite")
198+
))]
190199
#[derive(Component)]
191200
pub(crate) struct GizmoMeshConfig {
192201
pub line_perspective: bool,
193202
pub line_style: GizmoLineStyle,
194203
pub render_layers: bevy_render::view::RenderLayers,
195204
}
196205

197-
#[cfg(feature = "bevy_render")]
206+
#[cfg(all(
207+
feature = "bevy_render",
208+
any(feature = "bevy_pbr", feature = "bevy_sprite")
209+
))]
198210
impl From<&GizmoConfig> for GizmoMeshConfig {
199211
fn from(item: &GizmoConfig) -> Self {
200212
GizmoMeshConfig {

crates/bevy_gizmos/src/cross.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ where
1818
/// # Example
1919
/// ```
2020
/// # use bevy_gizmos::prelude::*;
21-
/// # use bevy_render::prelude::*;
2221
/// # use bevy_math::prelude::*;
2322
/// # use bevy_color::palettes::basic::WHITE;
2423
/// fn system(mut gizmos: Gizmos) {
@@ -51,7 +50,6 @@ where
5150
/// # Example
5251
/// ```
5352
/// # use bevy_gizmos::prelude::*;
54-
/// # use bevy_render::prelude::*;
5553
/// # use bevy_math::prelude::*;
5654
/// # use bevy_color::palettes::basic::WHITE;
5755
/// fn system(mut gizmos: Gizmos) {

crates/bevy_gizmos/src/gizmos.rs

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -280,7 +280,6 @@ where
280280
/// # Example
281281
/// ```
282282
/// # use bevy_gizmos::prelude::*;
283-
/// # use bevy_render::prelude::*;
284283
/// # use bevy_math::prelude::*;
285284
/// # use bevy_color::palettes::basic::GREEN;
286285
/// fn system(mut gizmos: Gizmos) {
@@ -304,7 +303,6 @@ where
304303
/// # Example
305304
/// ```
306305
/// # use bevy_gizmos::prelude::*;
307-
/// # use bevy_render::prelude::*;
308306
/// # use bevy_math::prelude::*;
309307
/// # use bevy_color::palettes::basic::{RED, GREEN};
310308
/// fn system(mut gizmos: Gizmos) {
@@ -334,7 +332,6 @@ where
334332
/// # Example
335333
/// ```
336334
/// # use bevy_gizmos::prelude::*;
337-
/// # use bevy_render::prelude::*;
338335
/// # use bevy_math::prelude::*;
339336
/// # use bevy_color::palettes::basic::GREEN;
340337
/// fn system(mut gizmos: Gizmos) {
@@ -357,7 +354,6 @@ where
357354
/// # Example
358355
/// ```
359356
/// # use bevy_gizmos::prelude::*;
360-
/// # use bevy_render::prelude::*;
361357
/// # use bevy_math::prelude::*;
362358
/// # use bevy_color::palettes::basic::{RED, GREEN};
363359
/// fn system(mut gizmos: Gizmos) {
@@ -386,7 +382,6 @@ where
386382
/// # Example
387383
/// ```
388384
/// # use bevy_gizmos::prelude::*;
389-
/// # use bevy_render::prelude::*;
390385
/// # use bevy_math::prelude::*;
391386
/// # use bevy_color::palettes::basic::GREEN;
392387
/// fn system(mut gizmos: Gizmos) {
@@ -417,7 +412,6 @@ where
417412
/// # Example
418413
/// ```
419414
/// # use bevy_gizmos::prelude::*;
420-
/// # use bevy_render::prelude::*;
421415
/// # use bevy_math::prelude::*;
422416
/// # use bevy_color::palettes::basic::{BLUE, GREEN, RED};
423417
/// fn system(mut gizmos: Gizmos) {
@@ -465,7 +459,6 @@ where
465459
/// # Example
466460
/// ```
467461
/// # use bevy_gizmos::prelude::*;
468-
/// # use bevy_render::prelude::*;
469462
/// # use bevy_math::prelude::*;
470463
/// # use bevy_color::palettes::basic::GREEN;
471464
/// fn system(mut gizmos: Gizmos) {
@@ -489,7 +482,6 @@ where
489482
/// # Example
490483
/// ```
491484
/// # use bevy_gizmos::prelude::*;
492-
/// # use bevy_render::prelude::*;
493485
/// # use bevy_transform::prelude::*;
494486
/// # use bevy_color::palettes::basic::GREEN;
495487
/// fn system(mut gizmos: Gizmos) {
@@ -530,7 +522,6 @@ where
530522
/// # Example
531523
/// ```
532524
/// # use bevy_gizmos::prelude::*;
533-
/// # use bevy_render::prelude::*;
534525
/// # use bevy_math::prelude::*;
535526
/// # use bevy_color::palettes::basic::GREEN;
536527
/// fn system(mut gizmos: Gizmos) {
@@ -553,7 +544,6 @@ where
553544
/// # Example
554545
/// ```
555546
/// # use bevy_gizmos::prelude::*;
556-
/// # use bevy_render::prelude::*;
557547
/// # use bevy_math::prelude::*;
558548
/// # use bevy_color::palettes::basic::{RED, GREEN};
559549
/// fn system(mut gizmos: Gizmos) {
@@ -582,7 +572,6 @@ where
582572
/// # Example
583573
/// ```
584574
/// # use bevy_gizmos::prelude::*;
585-
/// # use bevy_render::prelude::*;
586575
/// # use bevy_math::prelude::*;
587576
/// # use bevy_color::palettes::basic::GREEN;
588577
/// fn system(mut gizmos: Gizmos) {
@@ -609,7 +598,6 @@ where
609598
/// # Example
610599
/// ```
611600
/// # use bevy_gizmos::prelude::*;
612-
/// # use bevy_render::prelude::*;
613601
/// # use bevy_math::prelude::*;
614602
/// # use bevy_color::palettes::basic::{RED, GREEN, BLUE};
615603
/// fn system(mut gizmos: Gizmos) {
@@ -643,7 +631,6 @@ where
643631
/// # Example
644632
/// ```
645633
/// # use bevy_gizmos::prelude::*;
646-
/// # use bevy_render::prelude::*;
647634
/// # use bevy_math::prelude::*;
648635
/// # use bevy_color::palettes::basic::GREEN;
649636
/// fn system(mut gizmos: Gizmos) {
@@ -666,7 +653,6 @@ where
666653
/// # Example
667654
/// ```
668655
/// # use bevy_gizmos::prelude::*;
669-
/// # use bevy_render::prelude::*;
670656
/// # use bevy_math::prelude::*;
671657
/// # use bevy_color::palettes::basic::{RED, GREEN};
672658
/// fn system(mut gizmos: Gizmos) {
@@ -695,7 +681,6 @@ where
695681
/// # Example
696682
/// ```
697683
/// # use bevy_gizmos::prelude::*;
698-
/// # use bevy_render::prelude::*;
699684
/// # use bevy_math::prelude::*;
700685
/// # use bevy_color::palettes::basic::GREEN;
701686
/// fn system(mut gizmos: Gizmos) {

crates/bevy_gizmos/src/grid.rs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,6 @@ where
201201
/// # Example
202202
/// ```
203203
/// # use bevy_gizmos::prelude::*;
204-
/// # use bevy_render::prelude::*;
205204
/// # use bevy_math::prelude::*;
206205
/// # use bevy_color::palettes::basic::GREEN;
207206
/// fn system(mut gizmos: Gizmos) {
@@ -257,7 +256,6 @@ where
257256
/// # Example
258257
/// ```
259258
/// # use bevy_gizmos::prelude::*;
260-
/// # use bevy_render::prelude::*;
261259
/// # use bevy_math::prelude::*;
262260
/// # use bevy_color::palettes::basic::GREEN;
263261
/// fn system(mut gizmos: Gizmos) {
@@ -313,7 +311,6 @@ where
313311
/// # Example
314312
/// ```
315313
/// # use bevy_gizmos::prelude::*;
316-
/// # use bevy_render::prelude::*;
317314
/// # use bevy_math::prelude::*;
318315
/// # use bevy_color::palettes::basic::GREEN;
319316
/// fn system(mut gizmos: Gizmos) {

0 commit comments

Comments
 (0)