linear_solver: backport from main
This commit is contained in:
@@ -15,13 +15,34 @@ load("@rules_cc//cc:cc_library.bzl", "cc_library")
|
||||
|
||||
package(default_visibility = ["//visibility:public"])
|
||||
|
||||
cc_library(
|
||||
name = "preprocessor",
|
||||
srcs = ["preprocessor.cc"],
|
||||
hdrs = ["preprocessor.h"],
|
||||
deps = [
|
||||
"//ortools/glop:preprocessor",
|
||||
"//ortools/lp_data",
|
||||
"//ortools/lp_data:base",
|
||||
"//ortools/lp_data:lp_utils",
|
||||
"//ortools/lp_data:sparse",
|
||||
"//ortools/lp_data:sparse_column",
|
||||
"//ortools/util:fp_utils",
|
||||
"//ortools/util:return_macros",
|
||||
"//ortools/util:stats",
|
||||
"@abseil-cpp//absl/log",
|
||||
"@abseil-cpp//absl/log:check",
|
||||
],
|
||||
)
|
||||
|
||||
cc_library(
|
||||
name = "proto_utils",
|
||||
hdrs = ["proto_utils.h"],
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
"//ortools/linear_solver:linear_solver_cc_proto",
|
||||
"//ortools/port:proto_utils",
|
||||
"@abseil-cpp//absl/log",
|
||||
"@abseil-cpp//absl/log:check",
|
||||
"@abseil-cpp//absl/status:statusor",
|
||||
"@protobuf",
|
||||
],
|
||||
)
|
||||
@@ -56,6 +77,7 @@ cc_library(
|
||||
hdrs = ["pdlp_proto_solver.h"],
|
||||
deps = [
|
||||
"//ortools/base:logging",
|
||||
"//ortools/base:status_macros",
|
||||
"//ortools/linear_solver:linear_solver_cc_proto",
|
||||
"//ortools/linear_solver:model_validator",
|
||||
"//ortools/pdlp:iteration_stats",
|
||||
@@ -78,9 +100,12 @@ cc_library(
|
||||
"//ortools/glop:parameters_cc_proto",
|
||||
"//ortools/glop:preprocessor",
|
||||
"//ortools/linear_solver:linear_solver_cc_proto",
|
||||
"//ortools/lp_data",
|
||||
"//ortools/lp_data:base",
|
||||
"//ortools/lp_data:proto_utils",
|
||||
"//ortools/util:logging",
|
||||
"@abseil-cpp//absl/memory",
|
||||
"//ortools/util:time_limit",
|
||||
"@abseil-cpp//absl/log:check",
|
||||
],
|
||||
)
|
||||
|
||||
@@ -118,7 +143,7 @@ cc_library(
|
||||
srcs = ["scip_params.cc"],
|
||||
hdrs = ["scip_params.h"],
|
||||
deps = [
|
||||
"//ortools/base:logging",
|
||||
"//ortools/base",
|
||||
"//ortools/linear_solver:scip_helper_macros",
|
||||
"@abseil-cpp//absl/status",
|
||||
"@abseil-cpp//absl/strings",
|
||||
@@ -136,16 +161,19 @@ cc_library(
|
||||
"//conditions:default": [],
|
||||
}),
|
||||
deps = [
|
||||
"//ortools/base",
|
||||
":scip_params",
|
||||
"//ortools/base:status_macros",
|
||||
"//ortools/base:timer",
|
||||
"//ortools/linear_solver:linear_solver_cc_proto",
|
||||
"//ortools/linear_solver:model_validator",
|
||||
"//ortools/linear_solver:scip_helper_macros",
|
||||
"//ortools/linear_solver/proto_solver:scip_params",
|
||||
"//ortools/util:lazy_mutable_copy",
|
||||
"@abseil-cpp//absl/base:core_headers",
|
||||
"@abseil-cpp//absl/cleanup",
|
||||
"@abseil-cpp//absl/container:btree",
|
||||
"@abseil-cpp//absl/flags:flag",
|
||||
"@abseil-cpp//absl/log",
|
||||
"@abseil-cpp//absl/log:check",
|
||||
"@abseil-cpp//absl/status",
|
||||
"@abseil-cpp//absl/status:statusor",
|
||||
"@abseil-cpp//absl/strings",
|
||||
@@ -162,6 +190,7 @@ cc_library(
|
||||
srcs = ["gurobi_proto_solver.cc"],
|
||||
hdrs = ["gurobi_proto_solver.h"],
|
||||
deps = [
|
||||
"//ortools/base:status_macros",
|
||||
"//ortools/base:timer",
|
||||
"//ortools/linear_solver:gurobi_util",
|
||||
"//ortools/linear_solver:linear_solver_cc_proto",
|
||||
@@ -177,7 +206,6 @@ cc_library(
|
||||
"@abseil-cpp//absl/strings",
|
||||
"@abseil-cpp//absl/strings:str_format",
|
||||
"@abseil-cpp//absl/time",
|
||||
"@abseil-cpp//absl/types:optional",
|
||||
],
|
||||
)
|
||||
|
||||
@@ -193,28 +221,13 @@ cc_library(
|
||||
"//ortools/base:timer",
|
||||
"//ortools/linear_solver:linear_solver_cc_proto",
|
||||
"//ortools/linear_solver:model_validator",
|
||||
"//ortools/port:proto_utils",
|
||||
"//ortools/util:lazy_mutable_copy",
|
||||
"@abseil-cpp//absl/status",
|
||||
"@abseil-cpp//absl/status:statusor",
|
||||
"@abseil-cpp//absl/strings",
|
||||
"@abseil-cpp//absl/time",
|
||||
"@abseil-cpp//absl/types:optional",
|
||||
"@highs",
|
||||
],
|
||||
)
|
||||
|
||||
cc_library(
|
||||
name = "preprocessor",
|
||||
srcs = ["preprocessor.cc"],
|
||||
hdrs = ["preprocessor.h"],
|
||||
deps = [
|
||||
"//ortools/glop:preprocessor",
|
||||
"//ortools/lp_data",
|
||||
"//ortools/lp_data:base",
|
||||
"//ortools/lp_data:lp_utils",
|
||||
"//ortools/lp_data:sparse",
|
||||
"//ortools/lp_data:sparse_column",
|
||||
"//ortools/util:fp_utils",
|
||||
"//ortools/util:return_macros",
|
||||
"//ortools/util:stats",
|
||||
"@abseil-cpp//absl/log",
|
||||
"@abseil-cpp//absl/log:check",
|
||||
"@protobuf",
|
||||
],
|
||||
)
|
||||
|
||||
@@ -11,22 +11,26 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# Python wrapper for model_builder.
|
||||
load("@pip_deps//:requirements.bzl", "requirement")
|
||||
load("@pybind11_bazel//:build_defs.bzl", "pybind_extension")
|
||||
load("@rules_python//python:py_binary.bzl", "py_binary")
|
||||
load("@rules_python//python:py_library.bzl", "py_library")
|
||||
load("@rules_python//python:py_test.bzl", "py_test")
|
||||
|
||||
# Python wrapper for model_builder.
|
||||
pybind_extension(
|
||||
name = "model_builder_helper",
|
||||
srcs = ["model_builder_helper.cc"],
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
"//ortools/base:logging",
|
||||
"//ortools/linear_solver:linear_solver_cc_proto",
|
||||
"//ortools/linear_solver:model_exporter",
|
||||
"//ortools/linear_solver/wrappers:model_builder_helper",
|
||||
"@abseil-cpp//absl/hash",
|
||||
"@abseil-cpp//absl/log:check",
|
||||
"@abseil-cpp//absl/strings",
|
||||
"@abseil-cpp//absl/types:span",
|
||||
"@eigen",
|
||||
"@pybind11_protobuf//pybind11_protobuf:native_proto_caster",
|
||||
],
|
||||
@@ -41,11 +45,10 @@ py_test(
|
||||
],
|
||||
deps = [
|
||||
":model_builder_helper",
|
||||
":model_builder_numbers",
|
||||
"//ortools/linear_solver:linear_solver_py_pb2",
|
||||
requirement("absl-py"),
|
||||
requirement("numpy"),
|
||||
requirement("scipy"),
|
||||
"//ortools/linear_solver:linear_solver_py_pb2",
|
||||
],
|
||||
)
|
||||
|
||||
@@ -80,18 +83,22 @@ py_test(
|
||||
],
|
||||
deps = [
|
||||
":model_builder",
|
||||
":model_builder_helper",
|
||||
"@protobuf//:protobuf_python",
|
||||
requirement("absl-py"),
|
||||
requirement("numpy"),
|
||||
requirement("pandas"),
|
||||
"//ortools/linear_solver:linear_solver_py_pb2",
|
||||
],
|
||||
)
|
||||
|
||||
## Proto solver
|
||||
|
||||
py_binary(
|
||||
name = "solve_model",
|
||||
srcs = ["solve_model.py"],
|
||||
deps = [
|
||||
":model_builder",
|
||||
requirement("absl-py"),
|
||||
"//ortools/linear_solver:linear_solver_py_pb2",
|
||||
],
|
||||
)
|
||||
|
||||
@@ -11,49 +11,282 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
load(":code_samples.bzl", "code_sample_cc", "code_sample_java", "code_sample_py")
|
||||
load("@pip_deps//:requirements.bzl", "requirement")
|
||||
load("@rules_cc//cc:cc_test.bzl", "cc_test")
|
||||
load("@rules_java//java:java_binary.bzl", "java_binary")
|
||||
load("@rules_python//python:py_test.bzl", "py_test")
|
||||
load("//bazel:run_binary_test.bzl", "run_binary_test")
|
||||
|
||||
# Linear Solver
|
||||
code_sample_cc(name = "assignment_mip")
|
||||
|
||||
code_sample_cc(name = "basic_example")
|
||||
cc_test(
|
||||
name = "assignment_mip_test",
|
||||
srcs = ["assignment_mip.cc"],
|
||||
deps = [
|
||||
"//ortools/base",
|
||||
"//ortools/base:logging",
|
||||
"//ortools/linear_solver",
|
||||
"@abseil-cpp//absl/base:log_severity",
|
||||
"@abseil-cpp//absl/log:globals",
|
||||
],
|
||||
)
|
||||
|
||||
code_sample_cc(name = "bin_packing_mip")
|
||||
cc_test(
|
||||
name = "assignment_groups_mip_test",
|
||||
srcs = ["assignment_groups_mip.cc"],
|
||||
deps = [
|
||||
"//ortools/base",
|
||||
"//ortools/base:logging",
|
||||
"//ortools/linear_solver",
|
||||
"@abseil-cpp//absl/base:log_severity",
|
||||
"@abseil-cpp//absl/log:globals",
|
||||
"@abseil-cpp//absl/strings:str_format",
|
||||
],
|
||||
)
|
||||
|
||||
code_sample_cc(name = "integer_programming_example")
|
||||
cc_test(
|
||||
name = "assignment_task_sizes_mip_test",
|
||||
srcs = ["assignment_task_sizes_mip.cc"],
|
||||
deps = [
|
||||
"//ortools/base",
|
||||
"//ortools/base:logging",
|
||||
"//ortools/linear_solver",
|
||||
"@abseil-cpp//absl/base:log_severity",
|
||||
"@abseil-cpp//absl/log:globals",
|
||||
"@abseil-cpp//absl/strings:str_format",
|
||||
],
|
||||
)
|
||||
|
||||
code_sample_cc(name = "linear_programming_example")
|
||||
cc_test(
|
||||
name = "assignment_teams_mip_test",
|
||||
srcs = ["assignment_teams_mip.cc"],
|
||||
deps = [
|
||||
"//ortools/base",
|
||||
"//ortools/base:logging",
|
||||
"//ortools/linear_solver",
|
||||
"@abseil-cpp//absl/base:log_severity",
|
||||
"@abseil-cpp//absl/log:globals",
|
||||
"@abseil-cpp//absl/strings:str_format",
|
||||
],
|
||||
)
|
||||
|
||||
code_sample_cc(name = "mip_var_array")
|
||||
cc_test(
|
||||
name = "basic_example_test",
|
||||
srcs = ["basic_example.cc"],
|
||||
deps = [
|
||||
"//ortools/base",
|
||||
"//ortools/init",
|
||||
"//ortools/linear_solver",
|
||||
"@abseil-cpp//absl/base:log_severity",
|
||||
"@abseil-cpp//absl/log",
|
||||
"@abseil-cpp//absl/log:globals",
|
||||
],
|
||||
)
|
||||
|
||||
code_sample_cc(name = "multiple_knapsack_mip")
|
||||
cc_test(
|
||||
name = "bin_packing_mip_test",
|
||||
srcs = ["bin_packing_mip.cc"],
|
||||
deps = ["//ortools/linear_solver"],
|
||||
)
|
||||
|
||||
#code_sample_cc(name = "network_design_ilph")
|
||||
cc_test(
|
||||
name = "linear_programming_example_test",
|
||||
srcs = ["linear_programming_example.cc"],
|
||||
deps = [
|
||||
"//ortools/base",
|
||||
"//ortools/linear_solver",
|
||||
"@abseil-cpp//absl/base:log_severity",
|
||||
"@abseil-cpp//absl/log:globals",
|
||||
],
|
||||
)
|
||||
|
||||
code_sample_cc(name = "simple_lp_program")
|
||||
cc_test(
|
||||
name = "integer_programming_example_test",
|
||||
srcs = ["integer_programming_example.cc"],
|
||||
deps = [
|
||||
"//ortools/base",
|
||||
"//ortools/linear_solver",
|
||||
"@abseil-cpp//absl/base:log_severity",
|
||||
"@abseil-cpp//absl/log:globals",
|
||||
],
|
||||
)
|
||||
|
||||
code_sample_cc(name = "simple_mip_program")
|
||||
cc_test(
|
||||
name = "mip_var_array_test",
|
||||
srcs = ["mip_var_array.cc"],
|
||||
deps = [
|
||||
"//ortools/base",
|
||||
"//ortools/linear_solver",
|
||||
"@abseil-cpp//absl/base:log_severity",
|
||||
"@abseil-cpp//absl/log:globals",
|
||||
],
|
||||
)
|
||||
|
||||
code_sample_cc(name = "stigler_diet")
|
||||
cc_test(
|
||||
name = "multiple_knapsack_mip_test",
|
||||
srcs = ["multiple_knapsack_mip.cc"],
|
||||
deps = [
|
||||
"//ortools/base",
|
||||
"//ortools/linear_solver",
|
||||
"@abseil-cpp//absl/base:log_severity",
|
||||
"@abseil-cpp//absl/log:globals",
|
||||
"@abseil-cpp//absl/strings:str_format",
|
||||
],
|
||||
)
|
||||
|
||||
cc_test(
|
||||
name = "simple_lp_program_test",
|
||||
srcs = ["simple_lp_program.cc"],
|
||||
deps = [
|
||||
"//ortools/base",
|
||||
"//ortools/linear_solver",
|
||||
"@abseil-cpp//absl/base:log_severity",
|
||||
"@abseil-cpp//absl/log:globals",
|
||||
],
|
||||
)
|
||||
|
||||
cc_test(
|
||||
name = "simple_mip_program_test",
|
||||
srcs = ["simple_mip_program.cc"],
|
||||
deps = [
|
||||
"//ortools/base",
|
||||
"//ortools/linear_solver",
|
||||
"@abseil-cpp//absl/base:log_severity",
|
||||
"@abseil-cpp//absl/log:globals",
|
||||
],
|
||||
)
|
||||
|
||||
cc_test(
|
||||
name = "stigler_diet_test",
|
||||
srcs = ["stigler_diet.cc"],
|
||||
deps = [
|
||||
"//ortools/base",
|
||||
"//ortools/linear_solver",
|
||||
"@abseil-cpp//absl/base:log_severity",
|
||||
"@abseil-cpp//absl/log",
|
||||
"@abseil-cpp//absl/log:globals",
|
||||
],
|
||||
)
|
||||
|
||||
# Model Builder
|
||||
|
||||
code_sample_java(name = "AssignmentMb")
|
||||
py_test(
|
||||
name = "assignment_mb_py3",
|
||||
srcs = ["assignment_mb.py"],
|
||||
main = "assignment_mb.py",
|
||||
deps = [
|
||||
requirement("pandas"),
|
||||
"//ortools/linear_solver/python:model_builder",
|
||||
],
|
||||
)
|
||||
|
||||
code_sample_java(name = "BinPackingMb")
|
||||
py_test(
|
||||
name = "bin_packing_mb_py3",
|
||||
srcs = ["bin_packing_mb.py"],
|
||||
main = "bin_packing_mb.py",
|
||||
deps = [
|
||||
requirement("pandas"),
|
||||
"//ortools/linear_solver/python:model_builder",
|
||||
],
|
||||
)
|
||||
|
||||
code_sample_java(name = "CloneModelMb")
|
||||
py_test(
|
||||
name = "clone_model_mb_py3",
|
||||
srcs = ["clone_model_mb.py"],
|
||||
main = "clone_model_mb.py",
|
||||
deps = ["//ortools/linear_solver/python:model_builder"],
|
||||
)
|
||||
|
||||
code_sample_java(name = "SimpleLpProgramMb")
|
||||
py_test(
|
||||
name = "simple_lp_program_mb_py3",
|
||||
srcs = ["simple_lp_program_mb.py"],
|
||||
main = "simple_lp_program_mb.py",
|
||||
deps = ["//ortools/linear_solver/python:model_builder"],
|
||||
)
|
||||
|
||||
code_sample_java(name = "SimpleMipProgramMb")
|
||||
py_test(
|
||||
name = "simple_mip_program_mb_py3",
|
||||
srcs = ["simple_mip_program_mb.py"],
|
||||
main = "simple_mip_program_mb.py",
|
||||
deps = ["//ortools/linear_solver/python:model_builder"],
|
||||
)
|
||||
|
||||
code_sample_py(name = "assignment_mb")
|
||||
java_binary(
|
||||
name = "AssignmentMb",
|
||||
srcs = ["AssignmentMb.java"],
|
||||
main_class = "com.google.ortools.linearsolver.samples.AssignmentMb",
|
||||
deps = [
|
||||
"//ortools/java/com/google/ortools:Loader",
|
||||
"//ortools/java/com/google/ortools/modelbuilder",
|
||||
"//ortools/linear_solver/java:modelbuilder",
|
||||
],
|
||||
)
|
||||
|
||||
code_sample_py(name = "bin_packing_mb")
|
||||
run_binary_test(
|
||||
name = "AssignmentMbTest",
|
||||
binary = ":AssignmentMb",
|
||||
)
|
||||
|
||||
code_sample_py(name = "clone_model_mb")
|
||||
java_binary(
|
||||
name = "BinPackingMb",
|
||||
srcs = ["BinPackingMb.java"],
|
||||
main_class = "com.google.ortools.linearsolver.samples.BinPackingMb",
|
||||
deps = [
|
||||
"//ortools/java/com/google/ortools:Loader",
|
||||
"//ortools/java/com/google/ortools/modelbuilder",
|
||||
"//ortools/linear_solver/java:modelbuilder",
|
||||
],
|
||||
)
|
||||
|
||||
code_sample_py(name = "simple_lp_program_mb")
|
||||
run_binary_test(
|
||||
name = "BinPackingMbTest",
|
||||
binary = ":BinPackingMb",
|
||||
)
|
||||
|
||||
code_sample_py(name = "simple_mip_program_mb")
|
||||
java_binary(
|
||||
name = "CloneModelMb",
|
||||
srcs = ["CloneModelMb.java"],
|
||||
main_class = "com.google.ortools.linearsolver.samples.CloneModelMb",
|
||||
deps = [
|
||||
"//ortools/java/com/google/ortools:Loader",
|
||||
"//ortools/java/com/google/ortools/modelbuilder",
|
||||
"//ortools/linear_solver/java:modelbuilder",
|
||||
],
|
||||
)
|
||||
|
||||
run_binary_test(
|
||||
name = "CloneModelMbTest",
|
||||
binary = ":CloneModelMb",
|
||||
)
|
||||
|
||||
java_binary(
|
||||
name = "SimpleLpProgramMb",
|
||||
srcs = ["SimpleLpProgramMb.java"],
|
||||
main_class = "com.google.ortools.linearsolver.samples.SimpleLpProgramMb",
|
||||
deps = [
|
||||
"//ortools/java/com/google/ortools:Loader",
|
||||
"//ortools/java/com/google/ortools/modelbuilder",
|
||||
"//ortools/linear_solver/java:modelbuilder",
|
||||
],
|
||||
)
|
||||
|
||||
run_binary_test(
|
||||
name = "SimpleLpProgramMbTest",
|
||||
binary = ":SimpleLpProgramMb",
|
||||
)
|
||||
|
||||
java_binary(
|
||||
name = "SimpleMipProgramMb",
|
||||
srcs = ["SimpleMipProgramMb.java"],
|
||||
main_class = "com.google.ortools.linearsolver.samples.SimpleMipProgramMb",
|
||||
deps = [
|
||||
"//ortools/java/com/google/ortools:Loader",
|
||||
"//ortools/java/com/google/ortools/modelbuilder",
|
||||
"//ortools/linear_solver/java:modelbuilder",
|
||||
],
|
||||
)
|
||||
|
||||
run_binary_test(
|
||||
name = "SimpleMipProgramMbTest",
|
||||
binary = ":SimpleMipProgramMb",
|
||||
)
|
||||
|
||||
@@ -1,93 +0,0 @@
|
||||
# Copyright 2010-2025 Google LLC
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
"""Helper macro to compile and test code samples."""
|
||||
|
||||
load("@pip_deps//:requirements.bzl", "requirement")
|
||||
load("@rules_cc//cc:cc_binary.bzl", "cc_binary")
|
||||
load("@rules_cc//cc:cc_test.bzl", "cc_test")
|
||||
load("@rules_java//java:java_test.bzl", "java_test")
|
||||
load("@rules_python//python:py_binary.bzl", "py_binary")
|
||||
load("@rules_python//python:py_test.bzl", "py_test")
|
||||
|
||||
def code_sample_cc(name):
|
||||
cc_binary(
|
||||
name = name + "_cc",
|
||||
srcs = [name + ".cc"],
|
||||
deps = [
|
||||
"//ortools/base",
|
||||
"//ortools/init",
|
||||
"//ortools/linear_solver",
|
||||
"//ortools/linear_solver:linear_solver_cc_proto",
|
||||
],
|
||||
)
|
||||
|
||||
cc_test(
|
||||
name = name + "_cc_test",
|
||||
size = "small",
|
||||
srcs = [name + ".cc"],
|
||||
deps = [
|
||||
":" + name + "_cc",
|
||||
"//ortools/base",
|
||||
"//ortools/init",
|
||||
"//ortools/linear_solver",
|
||||
"//ortools/linear_solver:linear_solver_cc_proto",
|
||||
],
|
||||
)
|
||||
|
||||
def code_sample_py(name):
|
||||
py_binary(
|
||||
name = name + "_py3",
|
||||
srcs = [name + ".py"],
|
||||
main = name + ".py",
|
||||
deps = [
|
||||
requirement("absl-py"),
|
||||
requirement("protobuf"),
|
||||
requirement("numpy"),
|
||||
requirement("pandas"),
|
||||
"//ortools/init/python:init",
|
||||
"//ortools/linear_solver/python:model_builder",
|
||||
],
|
||||
)
|
||||
|
||||
py_test(
|
||||
name = name + "_py_test",
|
||||
size = "small",
|
||||
srcs = [name + ".py"],
|
||||
main = name + ".py",
|
||||
data = [
|
||||
"//ortools/init/python:init",
|
||||
"//ortools/linear_solver/python:model_builder",
|
||||
],
|
||||
deps = [
|
||||
requirement("absl-py"),
|
||||
requirement("protobuf"),
|
||||
requirement("numpy"),
|
||||
requirement("pandas"),
|
||||
],
|
||||
)
|
||||
|
||||
def code_sample_java(name):
|
||||
java_test(
|
||||
name = name + "_java_test",
|
||||
size = "small",
|
||||
srcs = [name + ".java"],
|
||||
main_class = "com.google.ortools.linearsolver.samples." + name,
|
||||
test_class = "com.google.ortools.linearsolver.samples." + name,
|
||||
deps = [
|
||||
"//ortools/init/java:init",
|
||||
"//ortools/linear_solver/java:modelbuilder",
|
||||
"//ortools/java/com/google/ortools/modelbuilder",
|
||||
"//ortools/java/com/google/ortools:Loader",
|
||||
],
|
||||
)
|
||||
Reference in New Issue
Block a user