Skip to content

Split Bazel packages by language #8485

@KangarooKoala

Description

@KangarooKoala

See the discussion under #8465 (comment).

Currently, each subproject (wpimath, wpiutil, etc.) is one Bazel package. This means bazel invocations look like bazel build //wpimath:wpimath-java, which more closely aligns with our Gradle setup.

However, due to the size of the repository, it now makes sense to split the packages by language (and by dev, main, and test). This more closely aligns with the typical setup in large repositories using Bazel (and other build systems). This also allows bazel invocations to look like bazel build //wpimath/src/main/java. Furthermore, in the top directory, a bazel invcoation could even look like bazel build wpimath/src/main/java, which benefits greatly from shell autocomplete. Note also that because the /... pattern searches in all packages in a directory, bazel build //wpimath/... would still be valid syntax after the split (and bazel build //wpimath/src/main/... would build all languages but not any of their tests).

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