-
Notifications
You must be signed in to change notification settings - Fork 433
Open
Labels
cpp: operatorGood things for the operator to fixGood things for the operator to fixtype: feature request‘Nice-to-have’ improvement, new feature or different behavior or design.‘Nice-to-have’ improvement, new feature or different behavior or design.
Description
Bazel enforces "Header inclusion rules": https://bazel.build/reference/be/c-cpp#hdrs
When the layering_check feature is enabled, none of the top-level targets are usable. They have no hdrs value:
Lines 79 to 87 in 8ecdff6
| [cc_library( | |
| name = "{library}".format(library = library), | |
| deps = [ | |
| "//google/cloud/{library_dir}:google_cloud_cpp_{library}".format( | |
| library = library, | |
| library_dir = google_cloud_cpp_library_dir_name(library), | |
| ), | |
| ], | |
| ) for library in GA_LIBRARIES + TRANSITION_LIBRARIES] |
- I think we need to change the code to something like:
[cc_library(
name = "{library}".format(library = library),
hdrs = ["//google/cloud/{dir}:hdrs".format(dir=google_cloud_cpp_library_dir_name(library)],
deps = [
"//google/cloud/{library_dir}:google_cloud_cpp_{library}".format(
library = library,
library_dir = google_cloud_cpp_library_dir_name(library),
),
],
) for library in GA_LIBRARIES + TRANSITION_LIBRARIES] - Verify all libraries, specially the hand-crafted libraries, have a
filegroupdefined for the headers. - It might be desirable to remove anything with
/internal/in the name from thisfilegrouptoo. - We should enable
layering_checkin the package once this is working - We should verify the
quickstartprograms compile withlayering_checkonce this is working
Metadata
Metadata
Assignees
Labels
cpp: operatorGood things for the operator to fixGood things for the operator to fixtype: feature request‘Nice-to-have’ improvement, new feature or different behavior or design.‘Nice-to-have’ improvement, new feature or different behavior or design.