Fix Windows build compatibility issues #174
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR fixes cross-platform compatibility issues that prevented the project from building successfully on Windows environments.
Changes
1. JSON Line Separator Handling (
TransportUDFMetadata.java)\n) on all platforms, but Windows test expectations use CRLF (\r\n)System.lineSeparator()for platform-appropriate line endings2. Resource Path Resolution (
TransportPluginTest.java)ClassLoader.getResource().getPath()returns invalid path format on Windows (e.g.,/C:/Users/...)Paths.get(resource.toURI()).toString()for proper cross-platform path handlingInvalidPathExceptionin Trino plugin tests on Windows3. File URI Format and Path Normalization (
FileSystemUtilsTest.java)file://instead offile:///) and backslash/forward slash inconsistenciesfile:///URI format and normalize paths for comparisonTesting
All changes have been tested on Windows 10 (MINGW64_NT-10.0-19045):
./gradlew clean build -x javadocCross-Platform Compatibility
These changes are designed to be cross-platform compatible:
System.lineSeparator()is a no-op on Linux (returns\n)Paths.get().toURI()is the recommended Java NIO approach for all platformsRelated Issues
Fixes Windows build failures in:
transportable-udfs-annotation-processor(7 test failures)transportable-udfs-trino-plugin(1 test failure)transportable-udfs-utils(1 test failure)