@@ -96,10 +96,10 @@ These tradeoffs ensure reliable, cross-platform debugging without slowing down t
9696
9797 ``` bash
9898 # macOS
99- code --install-extension xsltdebugger-darwin-0.0.3 .vsix
99+ code --install-extension xsltdebugger-darwin-darwin-arm64-0.5.0 .vsix
100100
101101 # Windows
102- code --install-extension xsltdebugger-windows-0.0.3 .vsix
102+ code --install-extension xsltdebugger-windows-win32-x64-0.5.0 .vsix
103103 ```
104104
1051052 . ** Create a debug configuration** in [ .vscode/launch.json] ( #setting-up-a-debug-configuration )
@@ -124,23 +124,23 @@ These tradeoffs ensure reliable, cross-platform debugging without slowing down t
124124
1251253 . ** Package and install locally** :
126126
127- ** Platform-specific packaging ** (optimized size, only includes binaries for target platform ):
127+ ** Build both platforms at once ** (recommended ):
128128
129129 ``` bash
130- # For macOS
131- ./package-darwin.sh
132- code --install-extension xsltdebugger-darwin-* .vsix
133-
134- # For Windows
135- ./package-win.sh
136- code --install-extension xsltdebugger-windows-* .vsix
130+ ./package-all.sh
131+ code --install-extension xsltdebugger-darwin-darwin-arm64-0.5.0.vsix
137132 ```
138133
139- ** Universal packaging** (includes all platforms, larger file size ):
134+ ** Platform-specific packaging** (build individually ):
140135
141136 ``` bash
142- npx vsce package
143- code --install-extension xsltdebugger-* .vsix
137+ # For macOS only
138+ ./package-darwin.sh
139+ code --install-extension xsltdebugger-darwin-darwin-arm64-0.5.0.vsix
140+
141+ # For Windows only
142+ ./package-win.sh
143+ code --install-extension xsltdebugger-windows-win32-x64-0.5.0.vsix
144144 ```
145145
146146## Usage
@@ -401,21 +401,35 @@ The workflow is split between a lightweight VS Code entry point and a .NET debu
401401
402402See the [ CHANGELOG] ( CHANGELOG.md ) for detailed version history.
403403
404- ### Latest Release: v0.0.3
404+ ### Latest Release: v0.5.0
405+
406+ ** Test Infrastructure & Code Quality Improvements**
405407
406- ** Saxon .NET Engine Improvements**
408+ - Centralized test data to ` TestData/Integration/ ` folder at repository root for better organization
409+ - All test projects now reference common test data location
410+ - Enhanced test coverage with 105 passing integration and unit tests
411+ - Improved ConsoleTest project with unified engine support (both Compiled and Saxon)
407412
408- - Fixed compatibility issues with .NET 8+ using SaxonHE10Net31Api (community IKVM build)
409- - XSLT 2.0/3.0 support now works cross-platform without Java
410- - Same reliable approach used by Azure Logic Apps Data Mapper
413+ ** Variable Debugging Enhancements**
411414
412- ** Key Features**
415+ - Enhanced variable instrumentation for both Compiled and Saxon engines
416+ - Improved variable capture and display in VS Code Variables panel
417+ - Better support for XSLT 2.0/3.0 variable debugging with Saxon engine
418+ - Added ` CompiledMessageHandler ` for enhanced compiled engine debugging
413419
414- - Full debugging support for XSLT 1.0 with breakpoints and stepping
415- - Transform execution for XSLT 2.0/3.0 (breakpoint debugging in development)
416- - Inline C# scripting with ` msxsl:script `
417- - Variable inspection and XPath evaluation
418- - Configurable log levels for troubleshooting
420+ ** Engine Improvements**
421+
422+ - Unified console testing with ` ProgramUsingEngineType.cs ` supporting both engines
423+ - Better breakpoint context information and handling
424+ - Enhanced xsl: message support for debugging output
425+ - Improved XSLT 2.0/3.0 features support including accumulators
426+
427+ ** Developer Experience**
428+
429+ - Platform-specific packaging with optimized binary sizes
430+ - Updated build scripts for both macOS (darwin-arm64) and Windows (win32-x64)
431+ - Comprehensive integration tests for both engines
432+ - Better documentation and code organization
419433
420434## Contributing
421435
@@ -447,12 +461,10 @@ dotnet build XsltDebugger.DebugAdapter/
447461# Run tests
448462dotnet test XsltDebugger.Tests/
449463
450- # Package for testing (platform-specific)
451- ./package-darwin.sh # macOS
452- ./package-win.sh # Windows
453-
454- # Or package universal (all platforms)
455- npx vsce package
464+ # Package for testing
465+ ./package-all.sh # Build both macOS and Windows (recommended)
466+ ./package-darwin.sh # macOS only
467+ ./package-win.sh # Windows only
456468```
457469
458470### Platform-Specific Packaging
@@ -461,10 +473,11 @@ The extension supports platform-specific packaging to reduce file size by includ
461473
462474#### Package Scripts
463475
464- | Script | Platform | Extension Name | Includes |
465- | -------------------------------------- | -------- | ---------------------- | ----------------------- |
466- | [ package-darwin.sh] ( package-darwin.sh ) | macOS | ` xsltdebugger-darwin ` | osx-arm64 binaries only |
467- | [ package-win.sh] ( package-win.sh ) | Windows | ` xsltdebugger-windows ` | win-x64 binaries only |
476+ | Script | Platform | Extension Name | Includes |
477+ | ------------------------------------ | --------------- | ---------------------- | ----------------------- |
478+ | [ package-all.sh] ( package-all.sh ) | macOS + Windows | Both platforms | Builds both packages |
479+ | [ package-darwin.sh] ( package-darwin.sh ) | macOS | ` xsltdebugger-darwin ` | osx-arm64 binaries only |
480+ | [ package-win.sh] ( package-win.sh ) | Windows | ` xsltdebugger-windows ` | win-x64 binaries only |
468481
469482#### How It Works
470483
@@ -478,13 +491,12 @@ Each packaging script:
478491#### Publishing to Marketplace
479492
480493``` bash
481- # Build platform-specific packages
482- ./package-darwin.sh
483- ./package-win.sh
494+ # Build both platform packages
495+ ./package-all.sh
484496
485497# Publish each as a separate extension
486- vsce publish -p YOUR_TOKEN --packagePath xsltdebugger-darwin-* .vsix
487- vsce publish -p YOUR_TOKEN --packagePath xsltdebugger-windows-* .vsix
498+ vsce publish -p YOUR_TOKEN --packagePath xsltdebugger-darwin-darwin-arm64-0.5.0 .vsix
499+ vsce publish -p YOUR_TOKEN --packagePath xsltdebugger-windows-win32-x64-0.5.0 .vsix
488500```
489501
490502** Benefits:**
@@ -498,20 +510,27 @@ vsce publish -p YOUR_TOKEN --packagePath xsltdebugger-windows-*.vsix
498510### Project Structure
499511
500512```
501-
502513XsltDebugger/
503- ├── src/ # TypeScript extension source
504- │ ├── extension.ts # Main extension entry point
505- │ └── test/ # Extension tests
506- ├── XsltDebugger.DebugAdapter/ # C# debug adapter
507- │ ├── Program.cs # Debug adapter entry point
508- │ ├── XsltDebugSession.cs # DAP implementation
509- │ ├── CompiledEngine.cs # XSLT 1.0 engine
510- │ ├── SaxonEngine.cs # XSLT 2.0/3.0 engine
511- │ └── XsltInstrumenter.cs # Debugging instrumentation
512- ├── XsltDebugger.Tests/ # C# unit tests
513- └── package.json # Extension manifest
514-
514+ ├── src/ # TypeScript extension source
515+ │ ├── extension.ts # Main extension entry point
516+ │ └── test/ # Extension tests
517+ ├── XsltDebugger.DebugAdapter/ # C# debug adapter
518+ │ ├── Program.cs # Debug adapter entry point
519+ │ ├── DapServer.cs # DAP protocol implementation
520+ │ ├── XsltCompiledEngine.cs # XSLT 1.0 engine with inline C#
521+ │ ├── SaxonEngine.cs # XSLT 2.0/3.0 Saxon engine
522+ │ ├── CompiledMessageHandler.cs # Message handling for compiled engine
523+ │ ├── SaxonDebugExtension.cs # Debug extension for Saxon
524+ │ └── XsltEngineManager.cs # Engine state management
525+ ├── XsltDebugger.Tests/ # C# integration & unit tests (105 tests)
526+ │ ├── CompiledEngineIntegrationTests.cs
527+ │ ├── SaxonEngineIntegrationTests.cs
528+ │ └── [ other test files]
529+ ├── XsltDebugger.ConsoleTest/ # Console test harness
530+ │ └── ProgramUsingEngineType.cs # Unified engine testing
531+ ├── TestData/ # Centralized test data
532+ │ └── Integration/ # Integration test XSLT & XML files
533+ └── package.json # Extension manifest
515534```
516535
517536## License
0 commit comments