mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-21 23:20:20 +00:00
Meta: Add swift-format linter script
Some checks are pending
CI / Lagom (false, NO_FUZZ, ubuntu-22.04, Linux, GNU) (push) Waiting to run
CI / Lagom (false, FUZZ, ubuntu-22.04, Linux, Clang) (push) Waiting to run
CI / Lagom (false, NO_FUZZ, macos-14, macOS, Clang) (push) Waiting to run
CI / Lagom (true, NO_FUZZ, ubuntu-22.04, Linux, Clang) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (macos-14, macOS, macOS-universal2) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (ubuntu-22.04, Linux, Linux-x86_64) (push) Waiting to run
Run test262 and test-wasm / run_and_update_results (push) Waiting to run
Lint Code / lint (push) Waiting to run
Push notes / build (push) Waiting to run
Some checks are pending
CI / Lagom (false, NO_FUZZ, ubuntu-22.04, Linux, GNU) (push) Waiting to run
CI / Lagom (false, FUZZ, ubuntu-22.04, Linux, Clang) (push) Waiting to run
CI / Lagom (false, NO_FUZZ, macos-14, macOS, Clang) (push) Waiting to run
CI / Lagom (true, NO_FUZZ, ubuntu-22.04, Linux, Clang) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (macos-14, macOS, macOS-universal2) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (ubuntu-22.04, Linux, Linux-x86_64) (push) Waiting to run
Run test262 and test-wasm / run_and_update_results (push) Waiting to run
Lint Code / lint (push) Waiting to run
Push notes / build (push) Waiting to run
swift-format is available in the Xcode 16 Beta and homebrew. We will need some extra docs to tell Linux developers how to get it on their distribution. This also makes use of the fact that you can pass git diff a colon delimited pattern to include ':*pattern' or exclude ':!*pattern' matching files, which is pretty neat.
This commit is contained in:
parent
2575cfb14c
commit
91de0438fe
Notes:
github-actions[bot]
2024-10-01 19:34:01 +00:00
Author: https://github.com/ADKaster Commit: https://github.com/LadybirdBrowser/ladybird/commit/91de0438fed Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/1221 Reviewed-by: https://github.com/trflynn89
2 changed files with 41 additions and 1 deletions
|
@ -43,11 +43,18 @@ else
|
||||||
echo -e "[${GREEN}SKIP${NC}]: IPCMagicLinter (in Meta/lint-ci.sh)"
|
echo -e "[${GREEN}SKIP${NC}]: IPCMagicLinter (in Meta/lint-ci.sh)"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if Meta/lint-clang-format.sh --overwrite-inplace "$@" && git diff --exit-code; then
|
if Meta/lint-clang-format.sh --overwrite-inplace "$@" && git diff --exit-code -- ':*.cpp' ':*.h' ':*.mm'; then
|
||||||
echo -e "[${GREEN}OK${NC}]: Meta/lint-clang-format.sh"
|
echo -e "[${GREEN}OK${NC}]: Meta/lint-clang-format.sh"
|
||||||
else
|
else
|
||||||
echo -e "[${RED}FAIL${NC}]: Meta/lint-clang-format.sh"
|
echo -e "[${RED}FAIL${NC}]: Meta/lint-clang-format.sh"
|
||||||
((FAILURES+=1))
|
((FAILURES+=1))
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if Meta/lint-swift.sh "$@" && git diff --exit-code -- ':*.swift'; then
|
||||||
|
echo -e "[${GREEN}OK${NC}]: Meta/lint-swift.sh"
|
||||||
|
else
|
||||||
|
echo -e "[${RED}FAIL${NC}]: Meta/lint-swift.sh"
|
||||||
|
((FAILURES+=1))
|
||||||
|
fi
|
||||||
|
|
||||||
exit "${FAILURES}"
|
exit "${FAILURES}"
|
||||||
|
|
33
Meta/lint-swift.sh
Executable file
33
Meta/lint-swift.sh
Executable file
|
@ -0,0 +1,33 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
script_path=$(cd -P -- "$(dirname -- "$0")" && pwd -P)
|
||||||
|
cd "${script_path}/.." || exit 1
|
||||||
|
|
||||||
|
if [ "$#" -eq "0" ]; then
|
||||||
|
files=()
|
||||||
|
while IFS= read -r file; do
|
||||||
|
files+=("$file")
|
||||||
|
done < <(
|
||||||
|
git ls-files '*.swift'
|
||||||
|
)
|
||||||
|
else
|
||||||
|
files=()
|
||||||
|
for file in "$@"; do
|
||||||
|
if [[ "${file}" == *".swift" ]] ; then
|
||||||
|
files+=("${file}")
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
if (( ${#files[@]} )); then
|
||||||
|
if ! command -v swift-format >/dev/null 2>&1 ; then
|
||||||
|
echo "swift-format is not available, but Swift files need linting! Either skip this script, or install swift-format."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
swift-format -i "${files[@]}"
|
||||||
|
echo "Maybe some files have changed. Sorry, but swift-format doesn't indicate what happened."
|
||||||
|
else
|
||||||
|
echo "No .swift files to check."
|
||||||
|
fi
|
Loading…
Reference in a new issue