Skip to content

Integrating with Build Event Protocol #9

@sean7218

Description

@sean7218

Context

The sourcekit-lsp needs a set of compiler flags from bazel build server for background indexing and semantic analysis. Currently build server runs bazel action query to get target information and its compiler flags. However these queried actions have placeholder values and often doesn’t represent the final action being run. Especially for larger projects where transitions or config drifting can alter the final build action.

Proposed Solution

Build Event Protocol can be leveraged to get the final build action where swiftmodule paths are already resolved.

Action query can still be used as the entry point and BEP can be seen as supplementary or validating add-on. The final solution depends on which is more robust and performant

Questions

  1. Do we want to use BEP and integrate it with build server ?
  2. Do we want this to be an opt-in behavior or a default experience for user?
  3. Do we want to make two modes, ActionQueryMode only or BEPMode only so user can switch to one or the other?

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions