|
@@ -1,14 +1,59 @@
|
|
|
-Write-Output "Checking tauri crates"
|
|
|
+#!/usr/bin/env pwsh
|
|
|
+# note: you can pass in the cargo sub-commands used to check manually.
|
|
|
+# allowed commands: check, clippy, fmt, test
|
|
|
+# default: clippy, fmt, test
|
|
|
|
|
|
+# set the script arguments if none are found
|
|
|
+if(-Not $args) {
|
|
|
+ $args=@("clippy","fmt","test")
|
|
|
+}
|
|
|
+
|
|
|
+# exit the script early if the last command returned an error
|
|
|
+function check_error {
|
|
|
+ if($LASTEXITCODE -ne 0 ) {
|
|
|
+ Exit $LASTEXITCODE
|
|
|
+ }
|
|
|
+}
|
|
|
|
|
|
-$commands=@("clippy","test")
|
|
|
-$features=@("no-server","embedded-server")
|
|
|
-foreach ($command in $commands) {
|
|
|
- foreach ($feature in $features) {
|
|
|
- Write-Output "[$command][$feature] checking tauri"
|
|
|
- cargo $command --manifest-path tauri/Cargo.toml --all-targets --features "$feature,cli,all-api"
|
|
|
+# run n+1 times, where n is the amount of mutually exclusive features.
|
|
|
+# the extra run is for all the crates without mutually exclusive features.
|
|
|
+# as many features as possible are enabled at for each command
|
|
|
+function mutex {
|
|
|
+ $command, $_args = $args
|
|
|
+
|
|
|
+ foreach ($feature in @("no-server","embedded-server")) {
|
|
|
+ Write-Output "[$command][$feature] tauri"
|
|
|
+ cargo $command --manifest-path tauri/Cargo.toml --all-targets --features "$feature,cli,all-api" $_args
|
|
|
+ check_error
|
|
|
}
|
|
|
|
|
|
- Write-Output "[$command] checking other crates"
|
|
|
- cargo $command --workspace --exclude tauri --all-targets --all-features
|
|
|
+ Write-Output "[$command] other crates"
|
|
|
+ cargo $command --workspace --exclude tauri --all-targets --all-features $_args
|
|
|
+ check_error
|
|
|
+}
|
|
|
+
|
|
|
+foreach ($command in $args) {
|
|
|
+ Switch ($command) {
|
|
|
+ "check" {
|
|
|
+ mutex check
|
|
|
+ break
|
|
|
+ }
|
|
|
+ "test" {
|
|
|
+ mutex test
|
|
|
+ break
|
|
|
+ }
|
|
|
+ "clippy" {
|
|
|
+ mutex clippy "--" -D warnings
|
|
|
+ break
|
|
|
+ }
|
|
|
+ "fmt" {
|
|
|
+ Write-Output "[$command] checking formatting"
|
|
|
+ cargo fmt "--" --check
|
|
|
+ check_error
|
|
|
+ }
|
|
|
+ default {
|
|
|
+ Write-Output "[cargo-check.ps1] Unknown cargo sub-command: $command"
|
|
|
+ Exit 1
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|