Skip to content

feat(driver-bundle): split driver per platform and auto-select host#1935

Open
yury-s wants to merge 2 commits into
microsoft:mainfrom
yury-s:fix-1196
Open

feat(driver-bundle): split driver per platform and auto-select host#1935
yury-s wants to merge 2 commits into
microsoft:mainfrom
yury-s:fix-1196

Conversation

@yury-s

@yury-s yury-s commented Jun 18, 2026

Copy link
Copy Markdown
Member

Summary

  • Split the monolithic driver-bundle (~194MB, all platforms) into per-platform artifacts: driver-bundle-mac-x64, -mac-arm64, -linux-x64, -linux-arm64, -win-x64.
  • driver-bundle now ships only DriverJar and uses OS-activated Maven profiles to pull the host platform's artifact automatically — Maven users get just their platform's driver with no extra config (a Linux x64 build pulls ~45MB instead of ~194MB).
  • driver-bundle-all aggregates every platform for cross-platform fat jars (used by test-cli-fatjar).

Notes for review

  • Behavior change: a fat jar now contains only the build host's driver by default; depend on driver-bundle-all for a cross-platform jar.
  • Gradle does not evaluate Maven POM profiles, so Gradle users would need one explicit dependency (driver-bundle-all or a specific driver-bundle-<platform>). Worth documenting if we take this approach.

Fixes #1196

yury-s added 2 commits June 18, 2026 10:29
Replace the single ~194MB driver-bundle (all platforms) with one artifact
per platform: driver-bundle-mac-x64, driver-bundle-mac-arm64,
driver-bundle-linux-x64, driver-bundle-linux-arm64 and driver-bundle-win-x64.

driver-bundle now ships only DriverJar and uses OS-activated Maven profiles
to pull in the matching platform artifact for the build host, so a Maven
build resolves just the driver it needs with no extra configuration.
driver-bundle-all aggregates every platform for cross-platform fat jars.

Fixes: microsoft#1196
Explain that Maven auto-selects the host platform driver, how to bundle
every platform with driver-bundle-all, and that Gradle consumers must
declare the driver explicitly because Gradle ignores Maven POM profiles.
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.

[Feature] Consider splitting driver dependencies

1 participant