bazel: Rework java support
Fix swig_java.bzl
This commit is contained in:
committed by
Mizux Seiha
parent
1ae193343a
commit
6c6c7d1902
@@ -46,11 +46,6 @@ def _java_wrap_cc_impl(ctx):
|
||||
if target.label.workspace_root:
|
||||
include_path_sets.append(depset([target.label.workspace_root]))
|
||||
|
||||
# Add swig LIB files.
|
||||
swig_base_path = ctx.executable._swig.dirname
|
||||
swig_lib_path = swig_base_path + "/swig.runfiles/swig/Lib"
|
||||
include_path_sets.append(depset([swig_lib_path + "/java", swig_lib_path]))
|
||||
|
||||
java_files_dir = ctx.actions.declare_directory("java_files")
|
||||
|
||||
swig_args = ctx.actions.args()
|
||||
@@ -70,9 +65,12 @@ def _java_wrap_cc_impl(ctx):
|
||||
if ctx.attr.use_directors:
|
||||
generated_c_files.append(outhdr)
|
||||
|
||||
# Add swig LIB files.
|
||||
swig_lib = {'SWIG_LIB': 'external/swig/Lib'}
|
||||
ctx.actions.run(
|
||||
outputs = generated_c_files + [java_files_dir],
|
||||
inputs = depset([src] + ctx.files.swig_includes, transitive = header_sets),
|
||||
env = swig_lib,
|
||||
executable = ctx.executable._swig,
|
||||
arguments = [swig_args],
|
||||
mnemonic = "SwigCompile",
|
||||
@@ -205,11 +203,6 @@ def ortools_java_wrap_cc(
|
||||
name = name,
|
||||
srcs = [srcjar],
|
||||
deps = java_deps,
|
||||
runtime_deps = [
|
||||
"//ortools/java/com/google/ortools:libjniortools.so",
|
||||
"//ortools/java/com/google/ortools:libjniortools.dylib",
|
||||
"//ortools/java/com/google/ortools:jniortools.dll",
|
||||
],
|
||||
visibility = visibility,
|
||||
**kwargs
|
||||
)
|
||||
|
||||
@@ -37,11 +37,6 @@ def code_sample_java(name):
|
||||
name = name + "_java",
|
||||
srcs = [name + ".java"],
|
||||
main_class = "com.google.ortools.algorithms.samples." + name,
|
||||
data = [
|
||||
"//ortools/java/com/google/ortools:libjniortools.so",
|
||||
"//ortools/java/com/google/ortools:libjniortools.dylib",
|
||||
"//ortools/java/com/google/ortools:jniortools.dll",
|
||||
],
|
||||
deps = [
|
||||
"//ortools/algorithms/java:knapsacksolver",
|
||||
"//ortools/java/com/google/ortools:Loader",
|
||||
|
||||
@@ -37,11 +37,6 @@ java_junit5_test(
|
||||
name = "FlowTest",
|
||||
size= "small",
|
||||
srcs = ["FlowTest.java"],
|
||||
data = [
|
||||
"//ortools/java/com/google/ortools:jniortools.dll",
|
||||
"//ortools/java/com/google/ortools:libjniortools.dylib",
|
||||
"//ortools/java/com/google/ortools:libjniortools.so",
|
||||
],
|
||||
test_class = "com.google.ortools.graph.FlowTest",
|
||||
deps = [
|
||||
"//ortools/java/com/google/ortools:Loader",
|
||||
|
||||
@@ -87,11 +87,6 @@ def code_sample_java(name):
|
||||
name = name + "_java",
|
||||
srcs = [name + ".java"],
|
||||
main_class = "com.google.ortools.graph.samples." + name,
|
||||
data = [
|
||||
"//ortools/java/com/google/ortools:libjniortools.so",
|
||||
"//ortools/java/com/google/ortools:libjniortools.dylib",
|
||||
"//ortools/java/com/google/ortools:jniortools.dll",
|
||||
],
|
||||
deps = [
|
||||
"//ortools/graph/java:graph",
|
||||
"//ortools/java/com/google/ortools:Loader",
|
||||
|
||||
@@ -12,17 +12,12 @@
|
||||
# limitations under the License.
|
||||
|
||||
# Utilities to load native libraries in java or-tools.
|
||||
java_library(
|
||||
name = "Loader",
|
||||
srcs = ["Loader.java"],
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
"@maven//:net_java_dev_jna_jna",
|
||||
],
|
||||
)
|
||||
|
||||
cc_binary(
|
||||
name = "libjniortools.so",
|
||||
target_compatible_with = select({
|
||||
"@platforms//os:linux": [],
|
||||
"//conditions:default": ["@platforms//:incompatible"],
|
||||
}),
|
||||
linkshared = True,
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
@@ -37,6 +32,10 @@ cc_binary(
|
||||
|
||||
cc_binary(
|
||||
name = "libjniortools.dylib",
|
||||
target_compatible_with = select({
|
||||
"@platforms//os:osx": [],
|
||||
"//conditions:default": ["@platforms//:incompatible"],
|
||||
}),
|
||||
linkshared = True,
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
@@ -51,6 +50,10 @@ cc_binary(
|
||||
|
||||
cc_binary(
|
||||
name = "jniortools.dll",
|
||||
target_compatible_with = select({
|
||||
"@platforms//os:windows": [],
|
||||
"//conditions:default": ["@platforms//:incompatible"],
|
||||
}),
|
||||
linkshared = True,
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
@@ -62,3 +65,17 @@ cc_binary(
|
||||
"//ortools/util/java:sorted_interval_list_cc",
|
||||
],
|
||||
)
|
||||
|
||||
java_library(
|
||||
name = "Loader",
|
||||
srcs = ["Loader.java"],
|
||||
visibility = ["//visibility:public"],
|
||||
runtime_deps = select({
|
||||
"@platforms//os:linux": ["//ortools/java/com/google/ortools:libjniortools.so"],
|
||||
"@platforms//os:osx": ["//ortools/java/com/google/ortools:libjniortools.dylib"],
|
||||
"@platforms//os:windows": ["//ortools/java/com/google/ortools:jniortools.dll"],
|
||||
}),
|
||||
deps = [
|
||||
"@maven//:net_java_dev_jna_jna",
|
||||
],
|
||||
)
|
||||
|
||||
@@ -30,9 +30,7 @@ java_library(
|
||||
],
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
"//ortools/java/com/google/ortools:jniortools.dll",
|
||||
"//ortools/java/com/google/ortools:libjniortools.dylib",
|
||||
"//ortools/java/com/google/ortools:libjniortools.so",
|
||||
"//ortools/java/com/google/ortools:Loader",
|
||||
"//ortools/linear_solver/java:modelbuilder",
|
||||
],
|
||||
)
|
||||
|
||||
@@ -43,9 +43,7 @@ java_library(
|
||||
],
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
"//ortools/java/com/google/ortools:jniortools.dll",
|
||||
"//ortools/java/com/google/ortools:libjniortools.dylib",
|
||||
"//ortools/java/com/google/ortools:libjniortools.so",
|
||||
"//ortools/java/com/google/ortools:Loader",
|
||||
"//ortools/sat:cp_model_java_proto",
|
||||
"//ortools/sat:sat_parameters_java_proto",
|
||||
"//ortools/sat/java:sat",
|
||||
|
||||
@@ -73,11 +73,6 @@ def code_sample_java(name):
|
||||
name = name + "_java",
|
||||
srcs = [name + ".java"],
|
||||
main_class = "com.google.ortools.linearsolver.samples." + name,
|
||||
data = [
|
||||
"//ortools/java/com/google/ortools:libjniortools.so",
|
||||
"//ortools/java/com/google/ortools:libjniortools.dylib",
|
||||
"//ortools/java/com/google/ortools:jniortools.dll",
|
||||
],
|
||||
deps = [
|
||||
"//ortools/linear_solver/java:modelbuilder",
|
||||
"//ortools/java/com/google/ortools/modelbuilder",
|
||||
|
||||
@@ -44,11 +44,6 @@ ortools_java_wrap_cc(
|
||||
java_junit5_test(
|
||||
name = "CpModelTest",
|
||||
srcs = ["CpModelTest.java"],
|
||||
data = [
|
||||
"//ortools/java/com/google/ortools:jniortools.dll",
|
||||
"//ortools/java/com/google/ortools:libjniortools.dylib",
|
||||
"//ortools/java/com/google/ortools:libjniortools.so",
|
||||
],
|
||||
test_class = "com.google.ortools.sat.CpModelTest",
|
||||
deps = [
|
||||
"//ortools/java/com/google/ortools:Loader",
|
||||
@@ -69,11 +64,6 @@ java_junit5_test(
|
||||
java_junit5_test(
|
||||
name = "CpSolverTest",
|
||||
srcs = ["CpSolverTest.java"],
|
||||
data = [
|
||||
"//ortools/java/com/google/ortools:jniortools.dll",
|
||||
"//ortools/java/com/google/ortools:libjniortools.dylib",
|
||||
"//ortools/java/com/google/ortools:libjniortools.so",
|
||||
],
|
||||
test_class = "com.google.ortools.sat.CpSolverTest",
|
||||
deps = [
|
||||
"//ortools/java/com/google/ortools:Loader",
|
||||
@@ -94,11 +84,6 @@ java_junit5_test(
|
||||
java_junit5_test(
|
||||
name = "LinearExprTest",
|
||||
srcs = ["LinearExprTest.java"],
|
||||
data = [
|
||||
"//ortools/java/com/google/ortools:jniortools.dll",
|
||||
"//ortools/java/com/google/ortools:libjniortools.dylib",
|
||||
"//ortools/java/com/google/ortools:libjniortools.so",
|
||||
],
|
||||
test_class = "com.google.ortools.sat.LinearExprTest",
|
||||
deps = [
|
||||
"//ortools/java/com/google/ortools:Loader",
|
||||
|
||||
@@ -79,11 +79,6 @@ def code_sample_java(name):
|
||||
name = name + "_java",
|
||||
srcs = [name + ".java"],
|
||||
main_class = "com.google.ortools.sat.samples." + name,
|
||||
data = [
|
||||
"//ortools/java/com/google/ortools:libjniortools.so",
|
||||
"//ortools/java/com/google/ortools:libjniortools.dylib",
|
||||
"//ortools/java/com/google/ortools:jniortools.dll",
|
||||
],
|
||||
deps = [
|
||||
"//ortools/sat/java:sat",
|
||||
"//ortools/java/com/google/ortools:Loader",
|
||||
|
||||
Reference in New Issue
Block a user