From 02d225d4f4048c8ecf953cedaf2631461f8beb6e Mon Sep 17 00:00:00 2001 From: Corentin Le Molgat Date: Mon, 14 Oct 2024 13:04:18 +0200 Subject: [PATCH] bazel: bump constraint_solver and routing BUILD.bazel --- ortools/constraint_solver/BUILD.bazel | 122 +++++++++++++++----------- ortools/routing/BUILD.bazel | 119 ++++++++++++++++--------- 2 files changed, 147 insertions(+), 94 deletions(-) diff --git a/ortools/constraint_solver/BUILD.bazel b/ortools/constraint_solver/BUILD.bazel index 8c208c3b00a..a1fdc7beadb 100644 --- a/ortools/constraint_solver/BUILD.bazel +++ b/ortools/constraint_solver/BUILD.bazel @@ -14,7 +14,10 @@ # Home of constraint solver constraint_solver load("@rules_cc//cc:defs.bzl", "cc_library", "cc_proto_library") +load("@rules_java//java:defs.bzl", "java_proto_library") load("@rules_proto//proto:defs.bzl", "proto_library") +load("@rules_python//python:defs.bzl", "py_library") +load("@rules_python//python:proto.bzl", "py_proto_library") package(default_visibility = ["//visibility:public"]) @@ -53,10 +56,10 @@ cc_proto_library( deps = [":search_limit_proto"], ) -# java_proto_library( -# name = "search_limit_java_proto", -# deps = [":search_limit_proto"], -# ) +java_proto_library( + name = "search_limit_java_proto", + deps = [":search_limit_proto"], +) proto_library( name = "demon_profiler_proto", @@ -78,10 +81,10 @@ cc_proto_library( deps = [":search_stats_proto"], ) -# java_proto_library( -# name = "search_stats_java_proto", -# deps = [":search_stats_proto"], -# ) +java_proto_library( + name = "search_stats_java_proto", + deps = [":search_stats_proto"], +) proto_library( name = "solver_parameters_proto", @@ -90,37 +93,55 @@ proto_library( cc_proto_library( name = "solver_parameters_cc_proto", - deps = ["solver_parameters_proto"], + deps = [":solver_parameters_proto"], ) -# java_proto_library( -# name = "solver_parameters_java_proto", -# deps = [":solver_parameters_proto"], -# ) +java_proto_library( + name = "solver_parameters_java_proto", + deps = [":solver_parameters_proto"], +) -#py_proto_library( -# name = "assignment_py_pb2", -# deps = [":assignment_proto"], -#) +py_proto_library( + name = "assignment_py_pb2", + deps = [":assignment_proto"], +) -#py_proto_library( -# name = "search_limit_py_pb2", -# deps = [":search_limit_proto"], -#) +py_proto_library( + name = "search_limit_py_pb2", + deps = [":search_limit_proto"], +) -#py_proto_library( -# name = "demon_profiler_py_pb2", -# deps = [":demon_profiler_proto"], -#) +py_proto_library( + name = "demon_profiler_py_pb2", + deps = [":demon_profiler_proto"], +) -#py_proto_library( -# name = "solver_parameters_py_pb2", -# deps = [":solver_parameters_proto"], -#) +py_proto_library( + name = "search_stats_py_pb2", + deps = [":search_stats_proto"], +) + +py_proto_library( + name = "solver_parameters_py_pb2", + deps = [":solver_parameters_proto"], +) + +py_library( + name = "constraint_solver_py_pb2", + deps = [ + ":assignment_py_pb2", + ":demon_profiler_py_pb2", + ":search_limit_py_pb2", + ":search_stats_py_pb2", + ":solver_parameters_py_pb2", + ], +) # ----- Constraint Programming core engine ----- # This is the main library. +# TODO(user): split this monolithic library into independent components. +# Do the same for others. cc_library( name = "cp", srcs = [ @@ -165,28 +186,19 @@ cc_library( ":search_stats_cc_proto", ":solver_parameters_cc_proto", "//ortools/base", - "//ortools/base:file", - "//ortools/base:recordio", - "//ortools/base:sysinfo", - "@com_google_absl//absl/container:flat_hash_map", - "@com_google_absl//absl/container:flat_hash_set", - "@com_google_absl//absl/memory", - "@com_google_absl//absl/strings", - "@com_google_absl//absl/strings:str_format", - "@com_google_absl//absl/time", - "@com_google_absl//absl/types:span", - # "//zlib:zlibonly", "//ortools/base:bitmap", + "//ortools/base:file", + "//ortools/base:int_type", "//ortools/base:intops", - "//ortools/base:strong_vector", "//ortools/base:iterator_adaptors", "//ortools/base:map_util", - "//ortools/base:stl_util", - # "//util/gzip:gzipstring", - "//ortools/base:hash", - # "//util/hash:jenkins", - # "//util/math:fastmath", "//ortools/base:mathutil", + "//ortools/base:recordio", + "//ortools/base:stl_util", + "//ortools/base:strong_vector", + "//ortools/base:sysinfo", + "//ortools/base:timer", + "//ortools/base:types", "//ortools/graph:hamiltonian_path", "//ortools/util:bitset", "//ortools/util:cached_log", @@ -197,11 +209,19 @@ cc_library( "//ortools/util:sorted_interval_list", "//ortools/util:string_array", "//ortools/util:tuple_set", - # "@com_google_re2//:re2", - "@com_google_absl//absl/status", - # "//util/textprogressbar", - "//ortools/base:timer", - # "//util/zippy", + "@com_google_absl//absl/algorithm:container", + "@com_google_absl//absl/base:core_headers", + "@com_google_absl//absl/base:log_severity", + "@com_google_absl//absl/container:flat_hash_map", + "@com_google_absl//absl/container:flat_hash_set", + "@com_google_absl//absl/flags:flag", + "@com_google_absl//absl/log:check", "@com_google_absl//absl/random", + "@com_google_absl//absl/random:distributions", + "@com_google_absl//absl/status", + "@com_google_absl//absl/strings", + "@com_google_absl//absl/strings:str_format", + "@com_google_absl//absl/time", + "@com_google_absl//absl/types:span", ], ) diff --git a/ortools/routing/BUILD.bazel b/ortools/routing/BUILD.bazel index a143d923131..1e9d469acab 100644 --- a/ortools/routing/BUILD.bazel +++ b/ortools/routing/BUILD.bazel @@ -11,8 +11,10 @@ # See the License for the specific language governing permissions and # limitations under the License. -load("@rules_cc//cc:defs.bzl", "cc_proto_library") +load("@rules_cc//cc:defs.bzl", "cc_library", "cc_proto_library") +load("@rules_java//java:defs.bzl", "java_proto_library") load("@rules_proto//proto:defs.bzl", "proto_library") +load("@rules_python//python:proto.bzl", "py_proto_library") package(default_visibility = ["//visibility:public"]) @@ -41,10 +43,10 @@ cc_proto_library( deps = [":enums_proto"], ) -# java_proto_library( -# name = "enums_java_proto", -# deps = [":enums_proto"], -# ) +java_proto_library( + name = "enums_java_proto", + deps = [":enums_proto"], +) proto_library( name = "ils_proto", @@ -54,7 +56,17 @@ proto_library( cc_proto_library( name = "ils_cc_proto", - deps = ["ils_proto"], + deps = [":ils_proto"], +) + +py_proto_library( + name = "ils_py_pb2", + deps = [":ils_proto"], +) + +java_proto_library( + name = "ils_java_proto", + deps = [":ils_proto"], ) proto_library( @@ -75,47 +87,47 @@ cc_proto_library( deps = [":parameters_proto"], ) -# java_proto_library( -# name = "parameters_java_proto", -# deps = [":parameters_proto"], -# ) +java_proto_library( + name = "parameters_java_proto", + deps = [":parameters_proto"], +) -#py_proto_library( -# name = "parameters_py_pb2", -# deps = [":parameters_proto"], -#) +py_proto_library( + name = "parameters_py_pb2", + deps = [":parameters_proto"], +) + +py_proto_library( + name = "enums_py_pb2", + deps = [":enums_proto"], +) cc_library( name = "parameters", srcs = ["parameters.cc"], hdrs = ["parameters.h"], deps = [ + ":enums_cc_proto", + ":ils_cc_proto", + ":parameters_cc_proto", "//ortools/base", "//ortools/base:proto_enum_utils", "//ortools/base:protoutil", + "//ortools/base:types", "//ortools/constraint_solver:cp", "//ortools/constraint_solver:solver_parameters_cc_proto", "//ortools/port:proto_utils", - "//ortools/routing:enums_cc_proto", - "//ortools/routing:parameters_cc_proto", + "//ortools/sat:sat_parameters_cc_proto", "//ortools/util:optional_boolean_cc_proto", "//ortools/util:testing_utils", - "@com_google_absl//absl/status:statusor", + "@com_google_absl//absl/container:flat_hash_map", "@com_google_absl//absl/strings", + "@com_google_absl//absl/strings:str_format", "@com_google_absl//absl/time", "@com_google_protobuf//:protobuf", ], ) -cc_library( - name = "types", - hdrs = ["types.h"], - deps = [ - "//ortools/base", - "//ortools/base:intops", - ], -) - cc_library( name = "parameters_utils", srcs = ["parameters_utils.cc"], @@ -126,14 +138,23 @@ cc_library( ], ) +cc_library( + name = "types", + hdrs = ["types.h"], + deps = [ + "//ortools/base:int_type", + "//ortools/util:piecewise_linear_function", + ], +) + cc_library( name = "utils", srcs = ["utils.cc"], hdrs = ["utils.h"], - visibility = ["//visibility:public"], deps = [ - "//ortools/base", "//ortools/util:saturated_arithmetic", + "@com_google_absl//absl/log:check", + "@com_google_absl//absl/types:span", ], ) @@ -141,12 +162,15 @@ cc_library( name = "neighborhoods", srcs = ["neighborhoods.cc"], hdrs = ["neighborhoods.h"], - visibility = ["//visibility:public"], deps = [ ":types", ":utils", - "//ortools/base", + "//ortools/base:types", "//ortools/constraint_solver:cp", + "//ortools/util:bitset", + "//ortools/util:saturated_arithmetic", + "@com_google_absl//absl/log:check", + "@com_google_absl//absl/types:span", ], ) @@ -157,9 +181,11 @@ cc_library( deps = [ ":types", "//ortools/base", - "//ortools/base:map_util", "//ortools/base:strong_vector", + "//ortools/base:types", "@com_google_absl//absl/container:flat_hash_set", + "@com_google_absl//absl/log:check", + "@com_google_absl//absl/types:span", ], ) @@ -205,50 +231,57 @@ cc_library( ":types", ":utils", "//ortools/base", - "//ortools/base:adjustable_priority_queue", "//ortools/base:dump_vars", - "//ortools/base:hash", + "//ortools/base:int_type", "//ortools/base:map_util", - "//ortools/base:murmur", + "//ortools/base:mathutil", "//ortools/base:protoutil", - "//ortools/base:small_map", "//ortools/base:stl_util", "//ortools/base:strong_vector", + "//ortools/base:types", "//ortools/constraint_solver:cp", + "//ortools/constraint_solver:solver_parameters_cc_proto", "//ortools/glop:lp_solver", + "//ortools/glop:parameters_cc_proto", "//ortools/graph", "//ortools/graph:christofides", "//ortools/graph:connected_components", + "//ortools/graph:ebert_graph", "//ortools/graph:linear_assignment", "//ortools/graph:min_cost_flow", - "//ortools/graph:topologicalsorter", "//ortools/lp_data", "//ortools/lp_data:base", - "//ortools/sat:boolean_problem", - "//ortools/sat:cp_constraints", - "//ortools/sat:cp_model", + "//ortools/port:proto_utils", "//ortools/sat:cp_model_cc_proto", - "//ortools/sat:cp_model_checker", "//ortools/sat:cp_model_solver", - "//ortools/sat:cp_model_utils", "//ortools/sat:integer", - "//ortools/sat:integer_expr", + "//ortools/sat:lp_utils", "//ortools/sat:model", - "//ortools/sat:optimization", + "//ortools/sat:sat_parameters_cc_proto", "//ortools/sat:theta_tree", "//ortools/util:bitset", "//ortools/util:flat_matrix", "//ortools/util:optional_boolean_cc_proto", + "//ortools/util:piecewise_linear_function", + "//ortools/util:range_minimum_query", "//ortools/util:range_query_function", "//ortools/util:saturated_arithmetic", "//ortools/util:sorted_interval_list", + "//ortools/util:time_limit", + "@com_google_absl//absl/algorithm:container", + "@com_google_absl//absl/base:core_headers", "@com_google_absl//absl/container:btree", "@com_google_absl//absl/container:flat_hash_map", "@com_google_absl//absl/container:flat_hash_set", "@com_google_absl//absl/container:inlined_vector", + "@com_google_absl//absl/flags:flag", "@com_google_absl//absl/functional:bind_front", "@com_google_absl//absl/hash", + "@com_google_absl//absl/log", + "@com_google_absl//absl/log:check", + "@com_google_absl//absl/log:die_if_null", "@com_google_absl//absl/memory", + "@com_google_absl//absl/status:statusor", "@com_google_absl//absl/strings", "@com_google_absl//absl/strings:str_format", "@com_google_absl//absl/time",