Add config_unix directory to release archives for BSD/Unix compatibility
Summary
Adds config_unix directory to release archives as an alias for config_linux configuration, improving compatibility with BSD systems and custom launcher scripts.
Problem
Some users, particularly on BSD systems, expect a config_unix directory in their startup scripts rather than config_linux. While the official jdtls.py launcher maps FreeBSD to config_linux, custom launcher scripts and community tools may assume config_unix exists, leading to "config.ini not found" errors.
Solution
This PR adds config_unix as a copy of the Linux x86_64 configuration during the Maven build process. The content is identical to config_linux - this is purely an alias for better compatibility.
Changes Made
org.eclipse.jdt.ls.product/pom.xml:
- Added
copy-config-unixexecution in maven-resources-plugin - Copies Linux x86_64 configuration to
config_unixdirectory during package phase
org.eclipse.jdt.ls.product/publish-assembly.xml:
- Added
config_unix/**to the list of included directories in release archives
Benefits
- Improved compatibility: Works with scripts expecting
config_unix - No breaking changes: Existing scripts using
config_linuxcontinue to work - Minimal overhead: Only 15 lines of build configuration, no runtime cost
- Clearer semantics: "unix" is more intuitive than "linux" for BSD users
- Robustness: Follows the "be liberal in what you accept" principle
Testing
- [x] XML syntax validated with xmllint
- [x] Maven build configuration updated correctly
- [x] No changes to runtime behavior or performance
The next full build will include config_unix in the release archives alongside the existing config_linux, config_mac, and config_win directories.
Can one of the admins verify this patch?
Is it a "just in case", hypothetical need or do you actually need this change?
@fbricon Well, i am on Unix and the folder is empty, which i did not expect. I can copy over from linux folder, but it's an inconsistency.