Thanks to visit codestin.com
Credit goes to github.com

Skip to content

refactor: consolidate _bazel.bzl and remove semantics.bzl #2522

Open
@rickeylev

Description

@rickeylev

This issue is to track work related to consolidating and cleaning up the code now that it's been moved out of Bazel itself. The main reason for this is to simplify the implementation. When the code was in Bazel itself, having separate files for Bazel and Google-internal pieces sense because carrying patches for the code was particularly hard. However, this ended up making the code somewhat complicated: (1) a "semantics" plugin object with quite a few "hooks" into various low-level steps and (2) the "hook points" have turned into a brittle API that make it hard to communicate state from one step to another.

Most low-hanging fruit has been cleaned up, the three main things remaining are:

  1. Merging py_executable_bazel.bzl into py_executable.bzl
  2. Merging common_bazel.bzl into common.bzl
  3. Removing semantics.bzl
  4. Removing "binary semantics" and "library semantics"

Cleaning this up will probably expose some natural points of simplification in how things are implemented.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions