Skip to content

Fixing path, platform name, and escape chars. - #15

Merged
phforest-wow merged 2 commits into
mainfrom
fix/windows-runtime
Oct 29, 2026
Merged

phforest-wow merged 2 commits into
mainfrom
fix/windows-runtime

Conversation

@phforest-wow

Copy link
Copy Markdown
Collaborator

Description

Initial windows runtime build

Type of Change

  • Fixing escape characters of paths
  • Improvement of the platform detection.
  • Add the .dll extension
  • downloading the correct .whl for windows.
  • removing exception in no WOWOOL_SDK_KEY is found. Which defaults to the community edition

@phforest-wow
phforest-wow requested a review from rikdoclo October 29, 2026 17:20
…nd fix windows dll discovery

- Restore Linux aarch64/arm64 wheel detection in WowoolInstaller
- Fix hasInstalledBinaries() to recognize wowool.dll on Windows
- Add WowoolPaths.isWindows() and fix native/lib architecture folder resolution
- Deterministically sort ICU DLL loading order (icudt -> icuuc -> other) on Windows
- Only set WOWOOL_SDK_KEY when non-blank to prevent unexpected CRT env deletion
- Remove unused buildMissingLicenseMessage dead code
- Comply with Spotless formatting and Checkstyle standards
- Add test coverage for Windows wowool.dll detection in WowoolInstallerTest
@rikdoclo

Copy link
Copy Markdown
Owner

Hi @phforest-wow,

Thank you for this PR and adding initial Windows runtime support to the SDK! Escaping path backslashes for createAnalyzer and resolving .dll dependencies on Windows are great additions.

I checked out your branch, resolved the formatting violations causing the CI to fail, and pushed a follow-up commit (6c3fb33) with a few adjustments:

  1. Restored Linux ARM64 support in WowoolInstaller: The previous platformMatcher in installCppBundle unintentionally dropped linux-aarch64 / arm64 wheels. Both Windows and Linux ARM64 are now supported.
  2. Fixed hasInstalledBinaries() for Windows: On Windows the primary binary is wowool.dll (no lib prefix); the detection logic now checks for wowool.dll as well, preventing false negatives. A unit test has been added to WowoolInstallerTest.
  3. Deterministic ICU dependency loading order: On Windows, Files.list() returns files in arbitrary filesystem order. ICU DLLs are now deterministically loaded in order of dependency (icudt -> icuuc -> remainder) to eliminate potential UnsatisfiedLinkErrors.
  4. Environment variable hygiene on Community fallback: When no license key is present, setting WOWOOL_SDK_KEY is skipped instead of passing an empty string to _putenv_s / setenv.
  5. Spotless & Checkstyle compliance: All files are now 100% compliant with the project's formatting standards.

All matrix builds (Ubuntu & macOS runners on Java 22 and 23) as well as CodeQL checks are now 100% green.

Feel free to review the changes and merge the PR when you're ready! 🚀

@phforest-wow
phforest-wow merged commit 643ee75 into main Oct 29, 2026
7 checks passed
@phforest-wow
phforest-wow deleted the fix/windows-runtime branch October 29, 2026 22:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants