Skip to content

[Indexing] Disable indexing textual-interface-blocklisted modules during Explicit Module Builds #78128

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

artemcm
Copy link
Contributor

@artemcm artemcm commented Dec 12, 2024

If a module is blocklisted from the compiler using its textual interface, then under Implicitly-Built modules it will not get indexed, since indexing will not be able to spawn swiftinterface compilation. With explicitly-built modules, none of the dependency modules get built from interface during indexing, which means we directly index input binary modules.

For now, for functional parity with Implicit Module Builds, disable indexing of modules during Explicit Module Builds which would not get indexed during Implicit Module Builds.

@artemcm
Copy link
Contributor Author

artemcm commented Dec 12, 2024

@swift-ci smoke test

…ing Explicit Module Builds

If a module is blocklisted from the compiler using its textual interface, then under Implicitly-Built modules it will not get indexed, since indexing will not be able to spawn swiftinterface compilation. With explicitly-built modules, none of the dependency modules get built from interface during indexing, which means we directly index input binary modules.

For now, for functional parity with Implicit Module Builds, disable indexing of modules during Explicit Module Builds which would not get indexed during Implicit Module Builds.
@artemcm artemcm force-pushed the NoIndexBlocklistedInterfaceModulesOnEBM branch from da97c9a to fdda02b Compare December 12, 2024 17:18
@artemcm
Copy link
Contributor Author

artemcm commented Dec 12, 2024

@swift-ci smoke test

if (explicitModuleBuild &&
ctx.blockListConfig.hasBlockListAction(moduleName,
BlockListKeyKind::ModuleName,
BlockListAction::ShouldUseBinaryModule))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This blocklist is close enough but we'd have to add the problematic module. It's only on DowngradeInterfaceVerificationFailure as otherwise we don't use its swiftmodule by default.

@artemcm
Copy link
Contributor Author

artemcm commented Dec 12, 2024

@swift-ci smoke test Linux platform

@artemcm artemcm merged commit a4757f9 into swiftlang:main Dec 13, 2024
3 checks passed
@artemcm artemcm deleted the NoIndexBlocklistedInterfaceModulesOnEBM branch December 13, 2024 00:11
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.

3 participants