bazel: Rework java support

Fix swig_java.bzl
This commit is contained in:
Corentin Le Molgat
2023-02-22 09:59:33 +01:00
committed by Mizux Seiha
parent 1ae193343a
commit 6c6c7d1902
10 changed files with 31 additions and 65 deletions

View File

@@ -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
)

View File

@@ -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",

View File

@@ -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",

View File

@@ -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",

View File

@@ -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",
],
)

View File

@@ -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",
],
)

View File

@@ -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",

View File

@@ -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",

View File

@@ -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",

View File

@@ -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",