96fcb9ab5e
Rework .agents/, Claude/Codex config, CI workflows, lint gates and lint-rule tests, and the release/changelog tooling. The 5% comment density gate stays diff-scoped inside git hooks, where GIT_DIR outranks the -C the gate uses to locate the repository. The tray icon generator writes multi-size ICO files from the SVG sources into the per-platform tray asset directories. The custom code-review subagents are gone: the built-in /code-review never dispatched them, and the subagent model now lives in a user-level setting outside the repository. The Makefile, build_config.yaml and CI hand the Core and Helper builds to the setup build hook, so the buildkit launchers go, and setup.dart packages AppImage and rpm on arm64 with flutter_distributor pinned to the fork tag that normalizes packaging permissions. Changelog: skip
47 lines
964 B
Bash
Executable File
47 lines
964 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
cd "$(dirname "$0")/.."
|
|
|
|
group() {
|
|
if [[ -n "${GITHUB_ACTIONS:-}" ]]; then echo "::group::$1"; else echo "==> $1"; fi
|
|
}
|
|
|
|
endgroup() {
|
|
if [[ -n "${GITHUB_ACTIONS:-}" ]]; then echo "::endgroup::"; fi
|
|
}
|
|
|
|
shopt -s nullglob
|
|
manifests=(plugins/*/pubspec.yaml)
|
|
shopt -u nullglob
|
|
|
|
if [[ ${#manifests[@]} -eq 0 ]]; then
|
|
echo "no plugin packages found under plugins/" >&2
|
|
exit 1
|
|
fi
|
|
|
|
analyzed=0
|
|
tested=0
|
|
|
|
for manifest in "${manifests[@]}"; do
|
|
package="$(dirname "$manifest")"
|
|
group "$package"
|
|
(
|
|
cd "$package"
|
|
flutter pub get
|
|
flutter analyze --no-fatal-infos
|
|
if compgen -G 'test/*_test.dart' > /dev/null; then
|
|
flutter test --reporter expanded
|
|
else
|
|
echo "no tests in $package"
|
|
fi
|
|
)
|
|
analyzed=$((analyzed + 1))
|
|
if compgen -G "$package/test/*_test.dart" > /dev/null; then
|
|
tested=$((tested + 1))
|
|
fi
|
|
endgroup
|
|
done
|
|
|
|
echo "analyzed $analyzed plugin package(s), $tested with tests"
|