update MODULE.bazel, remove WORKSPACE
This commit is contained in:
@@ -39,6 +39,14 @@ bazel_dep(name = "scip", version = "8.1.0")
|
||||
bazel_dep(name = "swig", version = "4.2.0")
|
||||
bazel_dep(name = "zlib", version = "1.3.1.bcr.3")
|
||||
|
||||
git_override(
|
||||
module_name = "pybind11_abseil",
|
||||
commit = "70f8b693b3b70573ca785ef62d9f48054f45d786",
|
||||
patches = ["//patches:pybind11_abseil.patch"],
|
||||
patch_strip = 1,
|
||||
remote = "https://github.com/pybind/pybind11_abseil.git",
|
||||
)
|
||||
|
||||
SUPPORTED_PYTHON_VERSIONS = [
|
||||
"3.8",
|
||||
"3.9",
|
||||
|
||||
382
WORKSPACE
382
WORKSPACE
@@ -1,382 +0,0 @@
|
||||
# Copyright 2010-2024 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.
|
||||
|
||||
workspace(name = "com_google_ortools")
|
||||
|
||||
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
|
||||
load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository", "new_git_repository")
|
||||
|
||||
# Bazel Extensions
|
||||
## Bazel Skylib rules.
|
||||
git_repository(
|
||||
name = "bazel_skylib",
|
||||
tag = "1.7.1",
|
||||
remote = "https://github.com/bazelbuild/bazel-skylib.git",
|
||||
)
|
||||
load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace")
|
||||
bazel_skylib_workspace()
|
||||
|
||||
http_archive(
|
||||
name = "bazel_features",
|
||||
sha256 = "cec7fbc7bce6597cf2e83e01ddd9328a1bb057dc1a3092745238f49d3301ab5a",
|
||||
strip_prefix = "bazel_features-1.12.0",
|
||||
url = "https://github.com/bazel-contrib/bazel_features/releases/download/v1.12.0/bazel_features-v1.12.0.tar.gz",
|
||||
)
|
||||
|
||||
load("@bazel_features//:deps.bzl", "bazel_features_deps")
|
||||
bazel_features_deps()
|
||||
|
||||
## Bazel rules.
|
||||
git_repository(
|
||||
name = "platforms",
|
||||
tag = "0.0.10",
|
||||
remote = "https://github.com/bazelbuild/platforms.git",
|
||||
)
|
||||
|
||||
git_repository(
|
||||
name = "rules_cc",
|
||||
tag = "0.0.9",
|
||||
remote = "https://github.com/bazelbuild/rules_cc.git",
|
||||
)
|
||||
|
||||
git_repository(
|
||||
name = "rules_proto",
|
||||
tag = "6.0.0",
|
||||
remote = "https://github.com/bazelbuild/rules_proto.git",
|
||||
)
|
||||
|
||||
git_repository(
|
||||
name = "rules_java",
|
||||
tag = "7.7.0",
|
||||
remote = "https://github.com/bazelbuild/rules_java.git",
|
||||
)
|
||||
|
||||
git_repository(
|
||||
name = "rules_jvm_external",
|
||||
tag = "6.2",
|
||||
remote = "https://github.com/bazelbuild/rules_jvm_external.git",
|
||||
)
|
||||
|
||||
git_repository(
|
||||
name = "contrib_rules_jvm",
|
||||
tag = "v0.27.0",
|
||||
remote = "https://github.com/bazel-contrib/rules_jvm.git",
|
||||
)
|
||||
|
||||
git_repository(
|
||||
name = "rules_python",
|
||||
tag = "0.36.0",
|
||||
remote = "https://github.com/bazelbuild/rules_python.git",
|
||||
)
|
||||
|
||||
# Dependencies
|
||||
## ZLIB
|
||||
new_git_repository(
|
||||
name = "zlib",
|
||||
build_file = "@com_google_protobuf//:third_party/zlib.BUILD",
|
||||
tag = "v1.3.1",
|
||||
remote = "https://github.com/madler/zlib.git",
|
||||
)
|
||||
|
||||
## Abseil-cpp
|
||||
git_repository(
|
||||
name = "com_google_absl",
|
||||
tag = "20240722.0",
|
||||
patches = ["//patches:abseil-cpp-20240722.0.patch"],
|
||||
patch_args = ["-p1"],
|
||||
remote = "https://github.com/abseil/abseil-cpp.git",
|
||||
)
|
||||
|
||||
## Re2
|
||||
git_repository(
|
||||
name = "com_google_re2",
|
||||
tag = "2024-04-01",
|
||||
remote = "https://github.com/google/re2.git",
|
||||
repo_mapping = {"@abseil-cpp": "@com_google_absl"},
|
||||
)
|
||||
|
||||
## Python
|
||||
load("@rules_python//python:repositories.bzl", "py_repositories")
|
||||
py_repositories()
|
||||
|
||||
load("@rules_python//python:repositories.bzl", "python_register_toolchains")
|
||||
DEFAULT_PYTHON = "3.11"
|
||||
python_register_toolchains(
|
||||
name = "python3_11",
|
||||
python_version = DEFAULT_PYTHON,
|
||||
ignore_root_user_error=True,
|
||||
)
|
||||
load("@python3_11//:defs.bzl", "interpreter")
|
||||
|
||||
# Create a central external repo, @pip_deps, that contains Bazel targets for all the
|
||||
# third-party packages specified in the bazel/requirements.txt file.
|
||||
load("@rules_python//python:pip.bzl", "pip_parse")
|
||||
pip_parse(
|
||||
name = "pip_deps",
|
||||
python_interpreter_target = interpreter,
|
||||
requirements_lock = "//bazel:ortools_requirements.txt",
|
||||
)
|
||||
|
||||
load("@pip_deps//:requirements.bzl",
|
||||
install_pip_deps="install_deps")
|
||||
install_pip_deps()
|
||||
|
||||
# Add a second repo @ortools_notebook_deps for jupyter notebooks.
|
||||
pip_parse(
|
||||
name = "ortools_notebook_deps",
|
||||
python_interpreter_target = interpreter,
|
||||
requirements_lock = "//bazel:notebook_requirements.txt",
|
||||
)
|
||||
|
||||
load("@ortools_notebook_deps//:requirements.bzl",
|
||||
install_notebook_deps="install_deps")
|
||||
install_notebook_deps()
|
||||
|
||||
## Protobuf
|
||||
# proto_library, cc_proto_library, and java_proto_library rules implicitly
|
||||
# depend on @com_google_protobuf for protoc and proto runtimes.
|
||||
# This statement defines the @com_google_protobuf repo.
|
||||
git_repository(
|
||||
name = "com_google_protobuf",
|
||||
patches = ["//patches:protobuf-v28.3.patch"],
|
||||
patch_args = ["-p1"],
|
||||
tag = "v28.3",
|
||||
remote = "https://github.com/protocolbuffers/protobuf.git",
|
||||
)
|
||||
# Load common dependencies.
|
||||
load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps")
|
||||
protobuf_deps()
|
||||
|
||||
load("@rules_proto//proto:repositories.bzl", "rules_proto_dependencies")
|
||||
rules_proto_dependencies()
|
||||
|
||||
load("@rules_proto//proto:toolchains.bzl", "rules_proto_toolchains")
|
||||
rules_proto_toolchains()
|
||||
|
||||
## Solvers
|
||||
http_archive(
|
||||
name = "glpk",
|
||||
build_file = "//bazel:glpk.BUILD.bazel",
|
||||
sha256 = "4a1013eebb50f728fc601bdd833b0b2870333c3b3e5a816eeba921d95bec6f15",
|
||||
strip_prefix = "glpk-5.0",
|
||||
url = "http://ftp.gnu.org/gnu/glpk/glpk-5.0.tar.gz",
|
||||
)
|
||||
|
||||
http_archive(
|
||||
name = "bliss",
|
||||
build_file = "//bazel:bliss.BUILD.bazel",
|
||||
patches = ["//bazel:bliss-0.73.patch"],
|
||||
sha256 = "f57bf32804140cad58b1240b804e0dbd68f7e6bf67eba8e0c0fa3a62fd7f0f84",
|
||||
url = "https://github.com/google/or-tools/releases/download/v9.0/bliss-0.73.zip",
|
||||
#url = "http://www.tcs.hut.fi/Software/bliss/bliss-0.73.zip",
|
||||
)
|
||||
|
||||
new_git_repository(
|
||||
name = "scip",
|
||||
build_file = "//bazel:scip.BUILD.bazel",
|
||||
patches = ["//bazel:scip-v920.patch"],
|
||||
patch_args = ["-p1"],
|
||||
tag = "v920",
|
||||
remote = "https://github.com/scipopt/scip.git",
|
||||
)
|
||||
|
||||
# Eigen has no Bazel build.
|
||||
new_git_repository(
|
||||
name = "eigen",
|
||||
tag = "3.4.0",
|
||||
remote = "https://gitlab.com/libeigen/eigen.git",
|
||||
build_file_content =
|
||||
"""
|
||||
cc_library(
|
||||
name = 'eigen',
|
||||
srcs = [],
|
||||
includes = ['.'],
|
||||
hdrs = glob(['Eigen/**', 'unsupported/**']),
|
||||
defines = ["EIGEN_MPL2_ONLY",],
|
||||
visibility = ['//visibility:public'],
|
||||
)
|
||||
"""
|
||||
)
|
||||
|
||||
git_repository(
|
||||
name = "highs",
|
||||
branch = "v1.8.0",
|
||||
remote = "https://github.com/ERGO-Code/HiGHS.git",
|
||||
)
|
||||
|
||||
## Swig support
|
||||
# pcre source code repository
|
||||
new_git_repository(
|
||||
name = "pcre2",
|
||||
build_file = "//bazel:pcre2.BUILD.bazel",
|
||||
tag = "pcre2-10.42",
|
||||
remote = "https://github.com/PCRE2Project/pcre2.git",
|
||||
)
|
||||
|
||||
# generate Patch:
|
||||
# Checkout swig
|
||||
# cd Source/CParse && bison -d -o parser.c parser.y
|
||||
# ./autogen.sh
|
||||
# ./configure
|
||||
# make Lib/swigwarn.swg
|
||||
# edit .gitignore and remove parser.h, parser.c, and swigwarn.swg
|
||||
# git add Source/CParse/parser.h Source/CParse/parser.c Lib/swigwarn.swg
|
||||
# git diff --staged Lib Source/CParse > <path to>swig.patch
|
||||
# Edit swig.BUILD.bazel:
|
||||
# edit version
|
||||
new_git_repository(
|
||||
name = "swig",
|
||||
build_file = "//bazel:swig.BUILD.bazel",
|
||||
patches = ["//bazel:swig.patch"],
|
||||
patch_args = ["-p1"],
|
||||
tag = "v4.2.0",
|
||||
remote = "https://github.com/swig/swig.git",
|
||||
)
|
||||
|
||||
# Protobuf
|
||||
load("@com_google_protobuf//bazel:system_python.bzl", "system_python")
|
||||
system_python(
|
||||
name = "system_python",
|
||||
minimum_python_version = "3.8",
|
||||
)
|
||||
|
||||
# Absl python library
|
||||
http_archive(
|
||||
name = "com_google_absl_py",
|
||||
repo_mapping = {"@six_archive": "@six"},
|
||||
sha256 = "0be59b82d65dfa1f995365dcfea2cc57989297b065fda696ef13f30fcc6c8e5b",
|
||||
strip_prefix = "abseil-py-pypi-v0.15.0",
|
||||
urls = [
|
||||
"https://github.com/abseil/abseil-py/archive/refs/tags/pypi-v0.15.0.tar.gz",
|
||||
],
|
||||
)
|
||||
|
||||
## `pybind11_bazel`
|
||||
git_repository(
|
||||
name = "pybind11_bazel",
|
||||
tag = "v2.12.0", # 2024/04/08
|
||||
patches = ["//patches:pybind11_bazel.patch"],
|
||||
patch_args = ["-p1"],
|
||||
remote = "https://github.com/pybind/pybind11_bazel.git",
|
||||
)
|
||||
|
||||
new_git_repository(
|
||||
name = "pybind11",
|
||||
build_file = "@pybind11_bazel//:pybind11-BUILD.bazel",
|
||||
tag = "v2.13.1",
|
||||
remote = "https://github.com/pybind/pybind11.git",
|
||||
)
|
||||
|
||||
new_git_repository(
|
||||
name = "org_pybind11_abseil",
|
||||
tag = "v202402.0",
|
||||
patches = ["//patches:pybind11_abseil.patch"],
|
||||
patch_args = ["-p1"],
|
||||
remote = "https://github.com/pybind/pybind11_abseil.git",
|
||||
)
|
||||
|
||||
new_git_repository(
|
||||
name = "pybind11_protobuf",
|
||||
commit = "ed430af1814a97e4017f2f808d3ba28cc10802f1", # 2024/10/02
|
||||
remote = "https://github.com/pybind/pybind11_protobuf.git",
|
||||
)
|
||||
|
||||
## Java support (with junit 5)
|
||||
load("@rules_java//java:repositories.bzl", "rules_java_dependencies", "rules_java_toolchains")
|
||||
rules_java_dependencies()
|
||||
rules_java_toolchains()
|
||||
|
||||
load("@rules_jvm_external//:repositories.bzl", "rules_jvm_external_deps")
|
||||
rules_jvm_external_deps()
|
||||
|
||||
load("@rules_jvm_external//:setup.bzl", "rules_jvm_external_setup")
|
||||
rules_jvm_external_setup()
|
||||
|
||||
JUNIT_PLATFORM_VERSION = "1.9.2"
|
||||
JUNIT_JUPITER_VERSION = "5.9.2"
|
||||
load("@rules_jvm_external//:defs.bzl", "maven_install")
|
||||
maven_install(
|
||||
artifacts = [
|
||||
"net.java.dev.jna:jna:5.14.0",
|
||||
"com.google.truth:truth:0.32",
|
||||
"org.junit.platform:junit-platform-launcher:%s" % JUNIT_PLATFORM_VERSION,
|
||||
"org.junit.platform:junit-platform-reporting:%s" % JUNIT_PLATFORM_VERSION,
|
||||
"org.junit.jupiter:junit-jupiter-api:%s" % JUNIT_JUPITER_VERSION,
|
||||
"org.junit.jupiter:junit-jupiter-params:%s" % JUNIT_JUPITER_VERSION,
|
||||
"org.junit.jupiter:junit-jupiter-engine:%s" % JUNIT_JUPITER_VERSION,
|
||||
],
|
||||
repositories = [
|
||||
"https://repo1.maven.org/maven2",
|
||||
],
|
||||
)
|
||||
|
||||
load("@contrib_rules_jvm//:repositories.bzl", "contrib_rules_jvm_deps")
|
||||
contrib_rules_jvm_deps()
|
||||
|
||||
load("@contrib_rules_jvm//:setup.bzl", "contrib_rules_jvm_setup")
|
||||
contrib_rules_jvm_setup()
|
||||
|
||||
## Testing
|
||||
git_repository(
|
||||
name = "com_google_googletest",
|
||||
tag = "v1.15.2",
|
||||
remote = "https://github.com/google/googletest.git",
|
||||
)
|
||||
|
||||
git_repository(
|
||||
name = "com_google_benchmark",
|
||||
tag = "v1.8.5",
|
||||
remote = "https://github.com/google/benchmark.git",
|
||||
)
|
||||
|
||||
# Go
|
||||
|
||||
http_archive(
|
||||
name = "io_bazel_rules_go",
|
||||
sha256 = "33acc4ae0f70502db4b893c9fc1dd7a9bf998c23e7ff2c4517741d4049a976f8",
|
||||
urls = [
|
||||
"https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.48.0/rules_go-v0.48.0.zip",
|
||||
"https://github.com/bazelbuild/rules_go/releases/download/v0.48.0/rules_go-v0.48.0.zip",
|
||||
],
|
||||
)
|
||||
|
||||
http_archive(
|
||||
name = "bazel_gazelle",
|
||||
sha256 = "d76bf7a60fd8b050444090dfa2837a4eaf9829e1165618ee35dceca5cbdf58d5",
|
||||
urls = [
|
||||
"https://mirror.bazel.build/github.com/bazelbuild/bazel-gazelle/releases/download/v0.37.0/bazel-gazelle-v0.37.0.tar.gz",
|
||||
"https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.37.0/bazel-gazelle-v0.37.0.tar.gz",
|
||||
],
|
||||
)
|
||||
|
||||
load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies")
|
||||
load("//:deps.bzl", "go_dependencies")
|
||||
# gazelle:repository_macro deps.bzl%go_dependencies
|
||||
go_dependencies()
|
||||
|
||||
load("@io_bazel_rules_go//go:deps.bzl", "go_download_sdk", "go_register_toolchains", "go_rules_dependencies")
|
||||
|
||||
go_rules_dependencies()
|
||||
|
||||
go_download_sdk(
|
||||
name = "go_sdk_linux",
|
||||
version = "1.22.4",
|
||||
)
|
||||
|
||||
go_register_toolchains()
|
||||
|
||||
gazelle_dependencies(
|
||||
go_env = {
|
||||
"GOPROXY": "https://proxy.golang.org|direct",
|
||||
},
|
||||
)
|
||||
Reference in New Issue
Block a user