Add Android headless preset and parser tests
This commit is contained in:
@@ -63,6 +63,8 @@ cmake --build --preset windows-msvc-default --config Debug --target PanoPainter
|
||||
ctest --preset desktop-fast --build-config Debug
|
||||
powershell -ExecutionPolicy Bypass -File scripts\automation\test.ps1 -Preset desktop-fast -Configuration Debug
|
||||
powershell -ExecutionPolicy Bypass -File scripts\automation\build.ps1 -Preset windows-msvc-default -Configuration Debug -Target pano_cli
|
||||
cmake --preset android-arm64
|
||||
cmake --build --preset android-arm64 --target pp_foundation pano_cli pp_foundation_binary_stream_tests pp_foundation_parse_tests
|
||||
```
|
||||
|
||||
Known local toolchain state:
|
||||
@@ -71,6 +73,7 @@ Known local toolchain state:
|
||||
- Local Visual Studio generator selected by CMake: Visual Studio 17 2022
|
||||
- Android SDK: `C:\Users\omara\AppData\Local\Android\Sdk`
|
||||
- Android NDK: `C:\Users\omara\AppData\Local\Android\Sdk\ndk\29.0.14206865`
|
||||
- Android arm64 headless configure/build passes through root CMake.
|
||||
- `vcpkg` is not on PATH yet; see DEBT-0007.
|
||||
|
||||
Known warnings after the current CMake app build:
|
||||
|
||||
@@ -28,6 +28,7 @@ agent or engineer to remove them without reconstructing context from chat.
|
||||
| DEBT-0006 | Open | Modernization | `pano_cli create-document` validates and emits JSON command contracts but does not yet invoke the legacy document/app model | The document model has not been extracted from `Canvas`/`App` yet | `pano_cli create-document --width 64 --height 32 --layers 2`; CTest `pano_cli_create_document_smoke` | Replace command contract implementation with real `pp_document` creation once Phase 4 extracts the document model |
|
||||
| DEBT-0007 | Open | Modernization | `vcpkg.json` exists but CMake is not yet using a validated vcpkg toolchain on this machine | `vcpkg` is not available on PATH and Visual Studio reports manifest mode is disabled | `cmake --preset windows-msvc-default` currently configures with vendored dependencies | Add validated vcpkg toolchain/preset integration for desktop, Android, and Apple triplets |
|
||||
| DEBT-0008 | Open | Modernization | `windows-msvc-default` preset is used for local validation because the VS 2026 generator is not installed here | The target VS 2026 preset must remain, but this machine configures with Visual Studio 17 2022 | `cmake --preset windows-msvc-default`; `ctest --preset desktop-fast --build-config Debug` | Validate `windows-vs2026-x64` on a machine with Visual Studio 2026 installed and make it the default Windows validation preset |
|
||||
| DEBT-0009 | Open | Modernization | Android root CMake validation currently builds headless targets only, not APK/package variants | Platform app entrypoints still live in legacy Gradle/CMake projects and need Phase 6 alignment | `cmake --preset android-arm64`; `cmake --build --preset android-arm64 --target pp_foundation pano_cli pp_foundation_binary_stream_tests pp_foundation_parse_tests` | Android standard, Quest, and Focus/Wave package targets consume shared component targets and have package smoke commands |
|
||||
|
||||
## Closed Debt
|
||||
|
||||
|
||||
@@ -142,8 +142,9 @@ Goal: make CMake the canonical source list without breaking existing projects.
|
||||
Status: in progress. Root `CMakeLists.txt`, `CMakePresets.json`, and project
|
||||
option targets exist. The Windows desktop app builds through CMake as
|
||||
`PanoPainter`; the raw Visual Studio solution/project files were removed on
|
||||
2026-05-31 by user decision. Non-Windows platform build files remain during
|
||||
Phase 6 alignment.
|
||||
2026-05-31 by user decision. Android arm64 now configures and builds headless
|
||||
foundation/tool targets through the root CMake/NDK path. Non-Windows platform
|
||||
app/package files remain during Phase 6 alignment.
|
||||
|
||||
Implementation tasks:
|
||||
|
||||
@@ -297,8 +298,10 @@ Gate:
|
||||
Goal: split libraries while keeping current app behavior.
|
||||
|
||||
Status: started. `pp_foundation` exists with binary stream utilities and
|
||||
boundary/overread tests. Continue extracting legacy-safe utilities before
|
||||
moving assets, paint, or document behavior.
|
||||
boundary/overread tests. It also owns strict decimal `uint32` parsing used by
|
||||
`pano_cli`, with rejection tests for empty, signed, mixed, and overflowing
|
||||
input. Continue extracting legacy-safe utilities before moving assets, paint,
|
||||
or document behavior.
|
||||
|
||||
Implementation tasks:
|
||||
|
||||
@@ -498,20 +501,25 @@ Last verified on 2026-05-31:
|
||||
|
||||
```powershell
|
||||
cmake --preset windows-msvc-default
|
||||
cmake --build --preset windows-msvc-default --config Debug --target pp_foundation_tests pano_cli PanoPainter
|
||||
cmake --build --preset windows-msvc-default --config Debug --target pp_foundation_binary_stream_tests pp_foundation_parse_tests pano_cli PanoPainter
|
||||
ctest --preset desktop-fast --build-config Debug
|
||||
powershell -ExecutionPolicy Bypass -File scripts\automation\test.ps1 -Preset desktop-fast -Configuration Debug
|
||||
powershell -ExecutionPolicy Bypass -File scripts\automation\build.ps1 -Preset windows-msvc-default -Configuration Debug -Target pano_cli
|
||||
cmake --preset android-arm64
|
||||
cmake --build --preset android-arm64 --target pp_foundation pano_cli pp_foundation_binary_stream_tests pp_foundation_parse_tests
|
||||
```
|
||||
|
||||
Results:
|
||||
|
||||
- `pp_foundation_tests` passed.
|
||||
- `pp_foundation_binary_stream_tests` passed.
|
||||
- `pp_foundation_parse_tests` passed.
|
||||
- `pano_cli_create_document_smoke` passed.
|
||||
- `PanoPainter.exe` built through CMake at
|
||||
`out/build/windows-msvc-default/Debug/PanoPainter.exe`.
|
||||
- PowerShell build/test automation wrappers return JSON summaries and passed
|
||||
local smoke checks.
|
||||
- Android arm64 configured with NDK 29.0.14206865 and compiled headless
|
||||
foundation/tool/test targets.
|
||||
- Known remaining warnings: legacy project/vendor diagnostics, Visual Studio
|
||||
vcpkg-manifest warning, `LNK4099` missing libyuv PDBs, and `LNK4098` runtime
|
||||
library conflict from retained vendor binaries.
|
||||
|
||||
Reference in New Issue
Block a user