-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Replaces only the cargo_deny.sh script for now. Can be expanded over to replace the other shell and python scripts, so only Rust is needed to work with the repository. Closes #2887
- Loading branch information
Showing
8 changed files
with
124 additions
and
19 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -14,6 +14,8 @@ members = [ | |
"crates/epaint", | ||
|
||
"examples/*", | ||
|
||
"xtask", | ||
] | ||
|
||
[workspace.package] | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,21 +1,3 @@ | ||
#!/usr/bin/env bash | ||
|
||
set -eu | ||
script_path=$( cd "$(dirname "${BASH_SOURCE[0]}")" ; pwd -P ) | ||
cd "$script_path/.." | ||
set -x | ||
|
||
cargo install --quiet cargo-deny | ||
|
||
cargo deny --all-features --log-level error --target aarch64-apple-darwin check | ||
cargo deny --all-features --log-level error --target aarch64-linux-android check | ||
cargo deny --all-features --log-level error --target i686-pc-windows-gnu check | ||
cargo deny --all-features --log-level error --target i686-pc-windows-msvc check | ||
cargo deny --all-features --log-level error --target i686-unknown-linux-gnu check | ||
cargo deny --all-features --log-level error --target wasm32-unknown-unknown check | ||
cargo deny --all-features --log-level error --target x86_64-apple-darwin check | ||
cargo deny --all-features --log-level error --target x86_64-pc-windows-gnu check | ||
cargo deny --all-features --log-level error --target x86_64-pc-windows-msvc check | ||
cargo deny --all-features --log-level error --target x86_64-unknown-linux-gnu check | ||
cargo deny --all-features --log-level error --target x86_64-unknown-linux-musl check | ||
cargo deny --all-features --log-level error --target x86_64-unknown-redox check | ||
cargo xtask deny |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
[package] | ||
name = "xtask" | ||
edition.workspace = true | ||
license.workspace = true | ||
rust-version.workspace = true | ||
version.workspace = true | ||
|
||
[dependencies] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
## xtask - Task automation | ||
|
||
This crate is meant to automate common tasks on the repository. It serves as a | ||
replacement for shell scripts that is more portable across host operating | ||
systems (namely Windows) and hopefully also easier to work with for | ||
contributors who are already familiar with Rust (and not necessarily with shell | ||
scripting). | ||
|
||
The executable can be invoked via the subcommand `cargo xtask`, thanks to an | ||
alias defined in `.cargo/config.toml`. | ||
|
||
For more information, see <https://github.com/matklad/cargo-xtask>. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
//! Run `cargo deny` | ||
//! | ||
//! Also installs the subcommand if it is not already installed. | ||
use std::process::Command; | ||
|
||
use super::DynError; | ||
|
||
pub fn deny(args: &[&str]) -> Result<(), DynError> { | ||
if !args.is_empty() { | ||
eprintln!("Warning: arguments ignored: {args:?}"); | ||
} | ||
install_cargo_deny()?; | ||
let targets = [ | ||
"aarch64-apple-darwin", | ||
"aarch64-linux-android", | ||
"i686-pc-windows-gnu", | ||
"i686-pc-windows-msvc", | ||
"i686-unknown-linux-gnu", | ||
"wasm32-unknown-unknown", | ||
"x86_64-apple-darwin", | ||
"x86_64-pc-windows-gnu", | ||
"x86_64-pc-windows-msvc", | ||
"x86_64-unknown-linux-gnu", | ||
"x86_64-unknown-linux-musl", | ||
"x86_64-unknown-redox", | ||
]; | ||
for target in targets { | ||
let status = Command::new("cargo") | ||
.args([ | ||
"deny", | ||
"--all-features", | ||
"--log-level", | ||
"error", | ||
"--target", | ||
target, | ||
"check", | ||
]) | ||
.status()?; | ||
if !status.success() { | ||
return Err(status.to_string().into()); | ||
} | ||
} | ||
Ok(()) | ||
} | ||
|
||
fn install_cargo_deny() -> Result<(), DynError> { | ||
let status = Command::new("cargo") | ||
.args(["+stable", "install", "--quiet", "--locked", "cargo-deny"]) | ||
.status()?; | ||
if !status.success() { | ||
return Err(status.to_string().into()); | ||
} | ||
Ok(()) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
#![allow(clippy::print_stdout)] | ||
#![allow(clippy::print_stderr)] | ||
#![allow(clippy::exit)] | ||
|
||
mod deny; | ||
|
||
type DynError = Box<dyn std::error::Error>; | ||
|
||
fn main() { | ||
if let Err(e) = try_main() { | ||
eprintln!("{e}"); | ||
std::process::exit(-1); | ||
} | ||
} | ||
|
||
fn try_main() -> Result<(), DynError> { | ||
let arg_strings: Vec<_> = std::env::args().skip(1).collect(); | ||
let args: Vec<_> = arg_strings.iter().map(String::as_str).collect(); | ||
|
||
match args.as_slice() { | ||
&[] | &["-h"] | &["--help"] => print_help(), | ||
&["deny", ..] => deny::deny(&args[1..])?, | ||
c => Err(format!("Invalid arguments {c:?}"))?, | ||
} | ||
Ok(()) | ||
} | ||
|
||
fn print_help() { | ||
let help = " | ||
xtask help | ||
Subcommands | ||
deny: Run cargo-deny for all targets | ||
Options | ||
-h, --help: print help and exit | ||
"; | ||
println!("{help}"); | ||
} |