[2026-10-16] eagle: work/projects/vscode-migration/tech-design-xcode-build-server.md work/projects/vscode-migration/vscode-migration.md work/projects/vscode-migration/xcode-build-server.md
This commit is contained in:
1 parent
37f97cb127
commit
74029cefab
3 files changed
+8
-8
No files matched your search
@@ -11,7 +11,7 @@ The personal [mallexxx/sourcekit-xcode-bsp fork](https://github.com/mallexxx/sou
|
||||
|
||||
The reusable harness now lives at `/Users/admin/Developer/xcode-editor-tools`: generic code, README integration instructions, configurable workspace/project/schemes/targets, examples, MIT license, tests and CI workflow. No local paths or Apple browser identifiers are in its source. Project-specific settings live privately at `/Users/admin/DuckDuckGo/apple-browsers.git/.git/xcode-editor/config.json`; shared local `core.hooksPath` selects `.git/xcode-editor/hooks`. All 97 existing worktrees retain identical BSP settings and unchanged tracked/customized files; a fresh 98th experiment bootstrapped automatically with clean status. 47 unit tests and an unrelated real Xcode app build/run plus BSP target discovery passed. Previous harness/hook/config are retained for rollback, and `.vscode-local/worktrees.py` forwards legacy commands.
|
||||
|
||||
The standalone harness is initialized on `main` with no commits, staged changes or remote; it has not been published. Generated files remain locally excluded. The earlier `exp/buildServer.json` migration remains the existing intentional uncommitted change because that file was already tracked. No app-repository commits, upstream PRs or issues were created. The DuckDuckGo-owned fork and team/repository rollout described below remain proposed.
|
||||
The standalone harness is now public at [mallexxx/xcode-editor-tools](https://github.com/mallexxx/xcode-editor-tools), pushed to `main` at `b4a839b92f60ec09cd33982014f4b593161d2673` on 2026-10-16 at the user's request. All 35 source files were audited for local/private details before publication; the initial commit uses GitHub's noreply identity. GitHub's exact SHA and public visibility were verified, and the local checkout is clean and tracks `origin/main`. Generated files remain locally excluded. The earlier `exp/buildServer.json` migration remains the existing intentional uncommitted change because that file was already tracked. No app-repository commits, upstream PRs or issues were created. The DuckDuckGo-owned fork and team/repository rollout described below remain proposed.
|
||||
|
||||
Deployment paths, maintenance commands, verification evidence, publishing limitations and cache research: [[projects/vscode-migration/xcode-build-server]].
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ SPM-compatible, so `swift build` + SourceKit-LSP work, and configure
|
||||
| Move non-Swift code to local packages | ✅ Jun 2025 |
|
||||
| Missing imports, unused files cleanup | ✅ Jun 2025 |
|
||||
| Initial VSCode config | ✅ Jun 2025 (original SweetPad setup) |
|
||||
| Xcode BSP local setup | ✅ 2026-10-16: generic harness at `~/Developer/xcode-editor-tools`, local Git hook migrated, all 97 existing worktrees preserved; fresh 98th worktree bootstrapped automatically. 47 unit tests and unrelated Xcode app/BSP smoke passed. New harness has docs/license/tests/CI, no commits or remote. Details: [[projects/vscode-migration/xcode-build-server#Standalone harness extraction and deployment — 2026-10-16]] |
|
||||
| Xcode BSP local setup | ✅ 2026-10-16: generic harness at `~/Developer/xcode-editor-tools`, local Git hook migrated, all 97 existing worktrees preserved; fresh 98th worktree bootstrapped automatically. 47 unit tests and unrelated Xcode app/BSP smoke passed. New harness has docs/license/tests/CI and is public at [mallexxx/xcode-editor-tools](https://github.com/mallexxx/xcode-editor-tools), `main` commit `b4a839b`; local checkout clean. Details: [[projects/vscode-migration/xcode-build-server#Standalone harness extraction and deployment — 2026-10-16]] |
|
||||
| BSP fork with required fixes | ✅ [mallexxx/sourcekit-xcode-bsp](https://github.com/mallexxx/sourcekit-xcode-bsp), pinned `afd0e3d`; 58 tests and strict SwiftLint pass. App-repository setup is local/uncommitted |
|
||||
| Unify WebKit private methods (Sparkle/AppStore) | ✅ Feb 2026 |
|
||||
| Drop `#if SPARKLE/APPSTORE` | ✅ Mar 2026 — DMG and App Store targets now compile the same 1398 files |
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# VS Code via Xcode build server (sourcekit-xcode-bsp)
|
||||
|
||||
Status: **generic harness extracted to ~/Developer/xcode-editor-tools and deployed; 97 existing worktrees preserved + fresh hook experiment verified; nothing committed or published** · 2026-10-16
|
||||
Status: **generic harness published at mallexxx/xcode-editor-tools; deployed to 97 existing worktrees plus a verified fresh experiment** · 2026-10-16
|
||||
**Parent:** [[projects/vscode-migration/vscode-migration]]
|
||||
**Tech design:** [[projects/vscode-migration/tech-design-xcode-build-server]]
|
||||
|
||||
@@ -13,7 +13,7 @@ An alternative to the [[projects/vscode-migration/tech-design-spm-browser-packag
|
||||
|
||||
| What | Where |
|
||||
|---|---|
|
||||
| Standalone harness repository | `/Users/admin/Developer/xcode-editor-tools` — generic source, README, configuration reference, examples, tests, MIT license, CI workflow; initialized on `main`, no commits, staged files, remote or publication |
|
||||
| Standalone harness repository | `/Users/admin/Developer/xcode-editor-tools` — generic source, README, configuration reference, examples, tests, MIT license, CI workflow; published at [mallexxx/xcode-editor-tools](https://github.com/mallexxx/xcode-editor-tools), branch `main`, commit `b4a839b92f60ec09cd33982014f4b593161d2673`; local checkout clean and tracking `origin/main` |
|
||||
| Integration instructions | `/Users/admin/Developer/xcode-editor-tools/README.md` and `CONFIGURATION.md` |
|
||||
| Private Apple browser profile | `/Users/admin/DuckDuckGo/apple-browsers.git/.git/xcode-editor/config.json` |
|
||||
| Active shared Git hook | `/Users/admin/DuckDuckGo/apple-browsers.git/.git/xcode-editor/hooks/post-checkout` |
|
||||
@@ -29,7 +29,7 @@ An alternative to the [[projects/vscode-migration/tech-design-spm-browser-packag
|
||||
|
||||
## Standalone harness extraction and deployment — 2026-10-16
|
||||
|
||||
The harness now lives in **`~/Developer/xcode-editor-tools`**, ready for public publication as source but **not committed or published**. Its source contains no workstation paths, Apple browser names, schemes, product paths or private target filters. Those values are in the private Git profile above. The default editor workspace filename is derived from the configured Xcode container; an ordinary project, bare repository and externally located linked worktrees are supported. There are no third-party patches, binaries, package checkouts or local logs in the new repository. The separate BSP fork remains the public pinned dependency.
|
||||
The harness now lives in **`~/Developer/xcode-editor-tools`**, published as [mallexxx/xcode-editor-tools](https://github.com/mallexxx/xcode-editor-tools) on 2026-10-16 at commit `b4a839b92f60ec09cd33982014f4b593161d2673`. Its source contains no workstation paths, Apple browser names, schemes, product paths or private target filters. Those values are in the private Git profile above. The default editor workspace filename is derived from the configured Xcode container; an ordinary project, bare repository and externally located linked worktrees are supported. There are no third-party patches, binaries, package checkouts or local logs in the new repository. The separate BSP fork remains the public pinned dependency.
|
||||
|
||||
The deployed hook now runs that repository's CLI. All **97 existing worktrees** were refreshed from the generic implementation. A fresh experimental worktree, `/Users/admin/DuckDuckGo/apple-browsers.git/vscode-editor-tools-check`, was then created through ordinary `git worktree add --detach … main` and bootstrapped automatically: **19 generated files**, clean Git status, and zero rewrites on another apply. There are now **98 registered checked-out worktrees** including that experiment.
|
||||
|
||||
@@ -84,7 +84,7 @@ Edit the private profile, then run `apply --all` to propagate profile changes. `
|
||||
- **47 unit tests** passed across the bootstrap and runtime suites. They cover ordinary/bare repositories, external and relocated worktrees, hook chaining/removal/adoption, ownership, path quoting, ignore metacharacters, platform persistence, build parameters, exit status, CAS/debug mapping and the original helper API.
|
||||
- An unrelated minimal **OrbitSample** macOS application built and ran through the new wrapper; the actual installed BSP discovered its target. This used Xcode 27.1 and exposed/fixed Foundation's `/private` temporary-path spelling difference when locating DerivedData.
|
||||
- The actual deployed hook generated the fresh browser experiment automatically; its folder-open setup command also verified `buildServer.json` was already current.
|
||||
- Public source scan: no local paths or project names; Python/JSON/shell syntax and whitespace checks passed. CI is configured but has not run remotely. No new full browser build, editor UI walkthrough or indexing run was performed in every worktree.
|
||||
- Public source scan: no local paths or project names; Python/JSON/shell syntax and whitespace checks passed. CI was configured during extraction; hosted results are available under [GitHub Actions](https://github.com/mallexxx/xcode-editor-tools/actions). No new full browser build, editor UI walkthrough or indexing run was performed in every worktree.
|
||||
|
||||
The first rollout had written 1,526 files across 97 worktrees and preserved 45 existing/tracked entries. Its diagnostics remain in `.vscode-local/backfill-*.json` and `backfill.log`. The old configurations in `exp` and `sweetpad` were backed up at `.vscode-local/backups/backfill-20261015T185058Z/{exp,sweetpad}/buildServer.json` before migration. **`exp/buildServer.json` was already tracked** and remains its earlier intentional uncommitted modification. A branch checkout may restore its tracked legacy config; the explicit folder-open setup command refreshes it. The extraction introduced no new tracked changes.
|
||||
|
||||
@@ -92,7 +92,7 @@ Extraction evidence: `/Users/admin/DuckDuckGo/apple-browsers.git/.vscode-local/e
|
||||
|
||||
### Publication scope
|
||||
|
||||
The new generic harness has README integration instructions, a configuration reference, minimal and two-platform examples, MIT license, dependency/license notice, contributor instructions, automated tests and a CI workflow. It has **no commits, staged changes or Git remote**; nothing was posted or published. The separate BSP fork is already public; its earlier 58 tests and strict SwiftLint validation remain recorded. A DuckDuckGo-owned fork, team deployment and upstream PRs remain proposed.
|
||||
The new generic harness has README integration instructions, a configuration reference, minimal and two-platform examples, MIT license, dependency/license notice, contributor instructions, automated tests and a CI workflow. At the user's request, it is now **public at [mallexxx/xcode-editor-tools](https://github.com/mallexxx/xcode-editor-tools)**. The 35 audited source files were committed and pushed to `main` as `b4a839b92f60ec09cd33982014f4b593161d2673`; GitHub's remote SHA and public visibility were verified. The public commit uses `365498+mallexxx@users.noreply.github.com` for author/committer, with no private workstation identity. Local `main` tracks `origin/main` and is clean. README includes the actual clone command. The source/privacy audit found no local paths, private project identifiers, embedded credentials or secret patterns. The separate BSP fork is already public; its earlier 58 tests and strict SwiftLint validation remain recorded. A DuckDuckGo-owned fork, team deployment and upstream PRs remain proposed.
|
||||
|
||||
## Files (`scripts/vscode/`)
|
||||
|
||||
@@ -168,7 +168,7 @@ Not verified: VS Code/Cursor UI itself; Xcode IDE reading our index / no-rebuild
|
||||
- [ ] Check Xcode IDE: open a worktree indexed/built from VS Code — no reindex, no rebuild.
|
||||
- [x] Publish tested fixes to [mallexxx/sourcekit-xcode-bsp](https://github.com/mallexxx/sourcekit-xcode-bsp), pinned at `afd0e3dd026b3ee3619e2271809debee25fec96f`.
|
||||
- [x] Deploy shared local hook and backfill all 97 registered worktrees (2026-10-16).
|
||||
- [x] Extract reusable harness into `~/Developer/xcode-editor-tools`, migrate all existing worktrees and verify an unrelated Xcode app plus a fresh deployed-hook experiment (2026-10-16); source remains uncommitted/unpublished.
|
||||
- [x] Extract reusable harness into `~/Developer/xcode-editor-tools`, migrate all existing worktrees and verify an unrelated Xcode app plus a fresh deployed-hook experiment (2026-10-16); published to [mallexxx/xcode-editor-tools](https://github.com/mallexxx/xcode-editor-tools) at the user's request, commit `b4a839b`.
|
||||
- [ ] Establish a DuckDuckGo-owned fork/team rollout if approved.
|
||||
- [ ] Offer the build-server fixes upstream (no upstream PR opened).
|
||||
- [ ] Upstream issue: duplicate outputs/stray `.o` when all targets are configured; lldb-dap attach with `program`/`attachCommands` to simulator processes.
|
||||
|
||||
Reference in new issue
Block a user