mirror of
https://github.com/tauri-apps/tauri.git
synced 2024-12-17 23:51:43 +03:00
60 lines
1.4 KiB
PowerShell
Executable File
60 lines
1.4 KiB
PowerShell
Executable File
#!/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
|
|
}
|
|
}
|
|
|
|
# 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] 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
|
|
}
|
|
}
|
|
}
|