Skip to content

Drop the polyfill for native workspace APIs - #12

Draft
grouville wants to merge 3 commits into
dagger:mainfrom
grouville:polyfill-removal
Draft

Drop the polyfill for native workspace APIs#12
grouville wants to merge 3 commits into
dagger:mainfrom
grouville:polyfill-removal

Conversation

@grouville

@grouville grouville commented Aug 7, 2026

Copy link
Copy Markdown
Member

The Java SDK uses dagger/polyfill to select its managed modules and return generated edits. Those behaviors now live in the engine through dagger/dagger#13854 and #13855, so this PR removes the wrapper and regenerates the committed SDK sources.

The migration is intended to leave generation unchanged: the engine selects the modules registered for the Java SDK, and native Workspace and ModuleSource APIs return the generated files from the user's current directory.

Running the full suite exposed two existing generator gaps in the current schema. Javadocs did not escape */ inside glob examples, and GraphQL Node values could not be serialized as inputs. Both fixes are included because the regenerated SDK cannot compile correctly without them.

What to review

Besides the direct polyfill replacement, the two generator fixes are the only behavior worth separate attention.

Test

dagger check

All 31 checks pass, including parent/module-directory generation, nested chains, init, sdk-sdk contracts, and module loading. The provisional engine version will be updated before merge.

The engine now covers everything this SDK used the polyfill for
(dagger/dagger#13769): findConfigDirs is Workspace.findConfigDirs,
and module sources load through Workspace.moduleSource with
moduleName / introspectionSchemaJSON read off the native ModuleSource.

generateModule also stops hand-building its changeset from raw
directory diffs: it stages through Workspace.fork, so the changeset
comes back measured from the caller's cwd and a change outside the
cwd is a loud error — hand-built root-measured diffs used to land in
the wrong place when generating from a subdirectory.

The engineVersion bump and the dependency removal land together: the
version gate scopes the engine's new changeset rooting to migrated
modules.

Signed-off-by: Guillaume de Rouville <guillaume@dagger.io>
Signed-off-by: Guillaume de Rouville <guillaume@dagger.io>
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.

1 participant