diff --git a/docs/support-matrix.md b/docs/support-matrix.md index 970c6dc20..91f5b7189 100644 --- a/docs/support-matrix.md +++ b/docs/support-matrix.md @@ -44,6 +44,7 @@ Do not edit this page. Run `bazel run //tools/docs/support_matrix:update` to ref | Rust | none | `cargo` | `rust_bench` | `rust_fuzz_test` | | Scala | none | `maven` | `scala_bench` | `scala_fuzz_test` | | Svelte | none | `npm` | n/a | n/a | +| Swift | `windows_x86_64`, `windows_arm64`: rules_dx registers no Swift toolchain for Windows | `swiftpm` | `swift_bench` | `swift_fuzz_test` | | TypeScript | none | `npm` | `typescript_bench` | `typescript_fuzz_test` | | Vue | none | `npm` | n/a | n/a | | Zig | none | none for `build.zig.zon`: the zig family does not fetch `.dependencies` | `zig_bench` | n/a | @@ -108,6 +109,7 @@ Each cell names the tools `dx lint`, `dx format`, or `dx typecheck` runs, and th | Rust | `clippy`, `typos` | `rustfmt` | `rustc` | `rustdoc` | `llvm-cov` | `rustc dead_code` | | Scala | `scalafix`, `typos` | `scalafmt` | `scalac` | `scaladoc` | `jacoco` | `scalac -Wunused` | | Svelte | `eslint`, `typos` | `prettier` | `tsc` | `svelte2tsx` | no: js_test has no dx coverage wiring | `eslint @typescript-eslint/no-unused-vars` | +| Swift | `swift_lint` (not on `macos_arm64`: SwiftLint is pinned only for Linux; `windows_x86_64`: SwiftLint is pinned only for Linux; `windows_arm64`: SwiftLint is pinned only for Linux), `typos` | `swift_format` (not on `macos_arm64`: swift-format is pinned only for Linux; `windows_x86_64`: swift-format is pinned only for Linux; `windows_arm64`: swift-format is pinned only for Linux) | no | no | no: no dx coverage wiring in the Swift rules | no | | TypeScript | `biome`, `eslint`, `typos` | `biome` | `tsc` | `typedoc` | `jest` | `eslint no-unused-vars` | | Vue | `eslint`, `typos` | `prettier` | `tsc` | `vue-component-meta` | no: js_test has no dx coverage wiring | `eslint @typescript-eslint/no-unused-vars` | | Zig | `typos`, `zig_ast_check` | `zig_fmt` | `zig` | no | `kcov` (kcov runs on Linux only) | `zig ast-check unused local, unused parameter` | diff --git a/tools/docs/support_matrix/facts_tests.bzl b/tools/docs/support_matrix/facts_tests.bzl index 2c5063050..962b445f7 100644 --- a/tools/docs/support_matrix/facts_tests.bzl +++ b/tools/docs/support_matrix/facts_tests.bzl @@ -78,7 +78,7 @@ def _not_applicable_problems(facts): ] # Rows with a stated reason that do not yet declare an unsupported constraint_value; shrink as #6175 lands them. -_PENDING_UNSUPPORTED = ["appimage", "apple", "cc_gcc", "cc_msvc", "cuda", "fortran", "ocaml", "perl"] +_PENDING_UNSUPPORTED = ["appimage", "apple", "cc_gcc", "cc_msvc", "cuda", "fortran", "ocaml", "perl", "swift"] def support_matrix_facts_tests(name): """Declares the support matrix facts schema test.""" diff --git a/tools/docs/support_matrix/languages.bzl b/tools/docs/support_matrix/languages.bzl index 2f917d91b..7452ee389 100644 --- a/tools/docs/support_matrix/languages.bzl +++ b/tools/docs/support_matrix/languages.bzl @@ -69,6 +69,7 @@ BENCH = { "python": "python_bench", "rust": "rust_bench", "scala": "scala_bench", + "swift": "swift_bench", "typescript": "typescript_bench", "zig": "zig_bench", } @@ -83,6 +84,7 @@ FUZZ = { "python": "python_fuzz_test", "rust": "rust_fuzz_test", "scala": "scala_fuzz_test", + "swift": "swift_fuzz_test", "typescript": "typescript_fuzz_test", } @@ -118,6 +120,7 @@ DEPENDENCIES = { "rust": "`cargo`", "scala": "`maven`", "svelte": "`npm`", + "swift": "`swiftpm`", "typescript": "`npm`", "vue": "`npm`", "zig": "none for `build.zig.zon`: the zig family does not fetch `.dependencies`", @@ -155,6 +158,7 @@ DOC_TOOLS = { "rust": {"tool": "rustdoc", "shard": "docs_site"}, "scala": {"tool": "scaladoc", "shard": "scala_doc_shard"}, "svelte": {"tool": "svelte2tsx", "shard": "svelte_doc_shard"}, + "swift": None, "typescript": {"tool": "typedoc", "shard": "typescript_doc_shard"}, "vue": {"tool": "vue-component-meta", "shard": "vue_doc_shard"}, "zig": None, @@ -256,6 +260,7 @@ NO_COVERAGE = { "mdx": "js_test has no dx coverage wiring", "qt": "no dx coverage wiring in the Qt rules", "svelte": "js_test has no dx coverage wiring", + "swift": "no dx coverage wiring in the Swift rules", "vue": "js_test has no dx coverage wiring", "wasi": "the WASI guest test has no coverage collector", } @@ -397,6 +402,7 @@ ROWS = [ }, {"ci_tests": _hello("scala", "@rules_dx_jvm"), "consumer_tests": ["//tools/testing/hermetic:scala_scalafix"], "name": "scala", "section": "languages", "title": "Scala"}, {"ci_tests": _hello("svelte", "@rules_dx_js"), "consumer_tests": _starter_consumers("svelte"), "name": "svelte", "section": "languages", "title": "Svelte"}, + {"ci_tests": ["//swift/tests/fixtures/hello:hello_output_test"], "name": "swift", "section": "languages", "title": "Swift"}, {"ci_tests": _hello("typescript", "@rules_dx_js"), "consumer_tests": _starter_consumers("typescript"), "name": "typescript", "section": "languages", "title": "TypeScript"}, {"ci_tests": _hello("vue", "@rules_dx_js"), "consumer_tests": _starter_consumers("vue"), "name": "vue", "section": "languages", "title": "Vue"}, {"ci_tests": ["@rules_dx_zig//zig/tests/fixtures/hello:greet_test"], "consumer_tests": ["//tools/testing/hermetic:zig"] + _starter_consumers("zig"), "name": "zig", "section": "languages", "title": "Zig"}, @@ -503,7 +509,6 @@ ROWS = [ NOT_LANGUAGES = [ "containers", - "swift", "bcr_test_module", "ci", "cli", @@ -598,6 +603,10 @@ PLATFORM_NOT_APPLICABLE = { "php": { "windows_arm64": "static-php-cli and windows.php.net ship no Windows arm64 PHP 8.5 build", }, + "swift": { + "windows_arm64": "rules_dx registers no Swift toolchain for Windows", + "windows_x86_64": "rules_dx registers no Swift toolchain for Windows", + }, } def _build_file(label):