Bumps [github/super-linter](https://github.com/github/super-linter) from v3 to v3.15.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/github/super-linter/releases">github/super-linter's releases</a>.</em></p>
<blockquote>
<h2>Release v3.15.1</h2>
<h2>Changelog</h2>
<ul>
<li>Fixed Deployment process</li>
<li>Updated Branch protections</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="a4de8540a1"><code>a4de854</code></a> Updating action.yml with new release version</li>
<li><a href="0031981b46"><code>0031981</code></a> fixed deploy (<a href="https://github-redirect.dependabot.com/github/super-linter/issues/1269">#1269</a>)</li>
<li><a href="7ea2fd764e"><code>7ea2fd7</code></a> Updating action.yml with new release version (<a href="https://github-redirect.dependabot.com/github/super-linter/issues/1268">#1268</a>)</li>
<li><a href="0b756c57e8"><code>0b756c5</code></a> only error on rstats lintr errors, not all lints (<a href="https://github-redirect.dependabot.com/github/super-linter/issues/1233">#1233</a>)</li>
<li><a href="a91f07d277"><code>a91f07d</code></a> Bump bobheadxi/deployments from v0.4.3 to v0.5.1 (<a href="https://github-redirect.dependabot.com/github/super-linter/issues/1266">#1266</a>)</li>
<li><a href="f47b363f71"><code>f47b363</code></a> Add rustfmt for Rust (<a href="https://github-redirect.dependabot.com/github/super-linter/issues/1250">#1250</a>)</li>
<li><a href="141a09cdbf"><code>141a09c</code></a> Bump yoheimuta/protolint from v0.28.2 to v0.29.0 (<a href="https://github-redirect.dependabot.com/github/super-linter/issues/1261">#1261</a>)</li>
<li><a href="71d36c41c2"><code>71d36c4</code></a> Add logic to check command output before maping the files (<a href="https://github-redirect.dependabot.com/github/super-linter/issues/1259">#1259</a>)</li>
<li><a href="7a9c11b753"><code>7a9c11b</code></a> Bump eslint-config-prettier from 8.0.0 to 8.1.0 in /dependencies (<a href="https://github-redirect.dependabot.com/github/super-linter/issues/1262">#1262</a>)</li>
<li><a href="acf858ae79"><code>acf858a</code></a> Adding release process (<a href="https://github-redirect.dependabot.com/github/super-linter/issues/1260">#1260</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/github/super-linter/compare/v3...a4de8540a1162d917a5c0918467143c98c2176b2">compare view</a></li>
</ul>
</details>
<br />
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
This PR is easiest to review commit by commit.
Followup on https://github.com/bevyengine/bevy/pull/1309#issuecomment-767310084
- [x] Switch from a bash script to an xtask rust workspace member.
- Results in ~30s longer CI due to compilation of the xtask itself
- Enables Bevy contributors on any platform to run `cargo ci` to run linting -- if the default available Rust is the same version as on CI, then the command should give an identical result.
- [x] Use the xtask from official CI so there's only one place to update.
- [x] Bonus: Run clippy on the _entire_ workspace (existing CI setup was missing the `--workspace` flag
- [x] Clean up newly-exposed clippy errors
~#1388 builds on this to clean up newly discovered clippy errors -- I thought it might be nicer as a separate PR.~ Nope, merged it into this one so CI would pass.
Co-authored-by: Carter Anderson <mcanders1@gmail.com>
I have run the VSCode Extension [markdownlint](https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint) on all Markdown Files in the Repo.
The provided Rules are documented here: https://github.com/DavidAnson/markdownlint/blob/v0.23.1/doc/Rules.md
Rules I didn't follow/fix:
* MD024/no-duplicate-heading
* Changelog: Here Heading will always repeat.
* Examples Readme: Platform-specific documentation should be symmetrical.
* MD025/single-title
* MD026/no-trailing-punctuation
* Caused by the ! in "Hello, World!".
* MD033/no-inline-html
* The plugins_guidlines file does need HTML, so the shown badges aren't downscaled too much.
* ~~MD036/no-emphasis-as-heading:~~
* ~~This Warning only Appears in the Github Issue Templates and can be ignored.~~
* ~~MD041/first-line-heading~~
* ~~Only appears in the Readme for the AlienCake example Assets, which is unimportant.~~
---
I also sorted the Examples in the Readme and Cargo.toml in this order/Priority:
* Topic/Folder
* Introductionary Examples
* Alphabetical Order
The explanation for each case, where it isn't Alphabetical :
* Diagnostics
* log_diagnostics: The usage of inbuild Diagnostics is more important than creating your own.
* ECS (Entity Component System)
* ecs_guide: The guide should be read, before diving into other Features.
* Reflection
* reflection: Basic Explanation should be read, before more advanced Topics.
* WASM Examples
* hello_wasm: It's "Hello, World!".
* Simplify syntax & lint. Combine apt installations into a single step. Future-proof OS selections.
* Remove caching
* Run clippy within the linux stable build. Parallelize all the builds. Cargo check is unneeded.
* build and run tests on windows and macos
* Add force touches, fix ui focus system and touch screen system
* Fix examples README. Update rodio with Android support. Add Android build CI
* Alter android metadata in root Cargo.toml