Avoid failures when /usr/share/java doesn't exist
Use the custom repo rule system_repo to symlink /usr/share/java, it
won't fail for fetching the repo on systems where /usr/share/java
doesn't exist. Also this way, we create only one symlink instead of many
symlinks for all files under /usr/share/java as
new_local_repository did.
Fixes https://github.com/bazelbuild/bazel/issues/13636
Closes #14149.
PiperOrigin-RevId: 404770383
diff --git a/.bazelci/postsubmit.yml b/.bazelci/postsubmit.yml
index c7c804b..cafc4ce 100644
--- a/.bazelci/postsubmit.yml
+++ b/.bazelci/postsubmit.yml
@@ -221,8 +221,6 @@
- "//tools/python/..."
# C++ coverage is not supported on macOS yet.
- "-//src/test/shell/bazel:bazel_cc_code_coverage_test"
- # Re-enable once fixed: https://github.com/bazelbuild/bazel/issues/13636
- - "-//src/test/shell/bazel:stardoc_deps_test"
include_json_profile:
- build
- test
diff --git a/.bazelci/presubmit.yml b/.bazelci/presubmit.yml
index 004f1ad..44fde05 100644
--- a/.bazelci/presubmit.yml
+++ b/.bazelci/presubmit.yml
@@ -214,8 +214,6 @@
- "-//src/java_tools/import_deps_checker/..."
# C++ coverage is not supported on macOS yet.
- "-//src/test/shell/bazel:bazel_cc_code_coverage_test"
- # Re-enable once fixed: https://github.com/bazelbuild/bazel/issues/13636
- - "-//src/test/shell/bazel:stardoc_deps_test"
windows:
shards: 4
batch_commands:
diff --git a/scripts/bootstrap/compile.sh b/scripts/bootstrap/compile.sh
index a238e95..df74b2f 100755
--- a/scripts/bootstrap/compile.sh
+++ b/scripts/bootstrap/compile.sh
@@ -20,7 +20,7 @@
ADDITIONAL_JARS=derived/jars
else
DISTRIBUTION=${BAZEL_DISTRIBUTION:-debian}
- ADDITIONAL_JARS="$(grep -o '".*\.jar"' tools/distributions/${DISTRIBUTION}/${DISTRIBUTION}_java.BUILD | sed 's/"//g' | sed 's|^|/usr/share/java/|g')"
+ ADDITIONAL_JARS="$(grep -o '".*\.jar"' tools/distributions/${DISTRIBUTION}/${DISTRIBUTION}_java.BUILD | sed 's/"//g' | sed 's|^|/usr/share/|g')"
fi
# Parse third_party/googleapis/BUILD.bazel to find the proto files we need to compile from googleapis
diff --git a/tools/distributions/debian/debian_java.BUILD b/tools/distributions/debian/debian_java.BUILD
index 356a66a..fb22627 100644
--- a/tools/distributions/debian/debian_java.BUILD
+++ b/tools/distributions/debian/debian_java.BUILD
@@ -20,124 +20,124 @@
java_import(
name = "netty",
jars = [
- "netty-buffer.jar",
- "netty-codec-dns.jar",
- "netty-codec-haproxy.jar",
- "netty-codec-http2.jar",
- "netty-codec-http.jar",
- "netty-codec.jar",
- "netty-codec-memcache.jar",
- "netty-codec-mqtt.jar",
- "netty-codec-redis.jar",
- "netty-codec-smtp.jar",
- "netty-codec-socks.jar",
- "netty-codec-stomp.jar",
- "netty-common.jar",
- "netty-handler.jar",
- "netty-handler-proxy.jar",
- "netty-resolver-dns.jar",
- "netty-resolver-dns-native-macos.jar",
- "netty-resolver.jar",
- "netty-transport.jar",
- "netty-transport-native-epoll.jar",
- "netty-transport-native-kqueue.jar",
- "netty-transport-native-unix-common.jar",
- "netty-transport-sctp.jar",
+ "java/netty-buffer.jar",
+ "java/netty-codec-dns.jar",
+ "java/netty-codec-haproxy.jar",
+ "java/netty-codec-http2.jar",
+ "java/netty-codec-http.jar",
+ "java/netty-codec.jar",
+ "java/netty-codec-memcache.jar",
+ "java/netty-codec-mqtt.jar",
+ "java/netty-codec-redis.jar",
+ "java/netty-codec-smtp.jar",
+ "java/netty-codec-socks.jar",
+ "java/netty-codec-stomp.jar",
+ "java/netty-common.jar",
+ "java/netty-handler.jar",
+ "java/netty-handler-proxy.jar",
+ "java/netty-resolver-dns.jar",
+ "java/netty-resolver-dns-native-macos.jar",
+ "java/netty-resolver.jar",
+ "java/netty-transport.jar",
+ "java/netty-transport-native-epoll.jar",
+ "java/netty-transport-native-kqueue.jar",
+ "java/netty-transport-native-unix-common.jar",
+ "java/netty-transport-sctp.jar",
],
)
# libgoogle-gson-java
java_import(
name = "gson",
- jars = ["gson.jar"],
+ jars = ["java/gson.jar"],
)
# libtomcat9-java
java_import(
name = "tomcat_annotations_api",
- jars = ["tomcat9-annotations-api.jar"],
+ jars = ["java/tomcat9-annotations-api.jar"],
)
# For bootstrapping java toolcahin
filegroup(
name = "tomcat_annotations_api-jars",
- srcs = ["tomcat9-annotations-api.jar"],
+ srcs = ["java/tomcat9-annotations-api.jar"],
)
# libjava-allocation-instrumenter-java
java_import(
name = "allocation_instrumenter",
- jars = ["java-allocation-instrumenter.jar"],
+ jars = ["java/java-allocation-instrumenter.jar"],
)
# libprotobuf-java
java_import(
name = "protobuf_java",
- jars = ["protobuf.jar"],
+ jars = ["java/protobuf.jar"],
)
# libprotobuf-java
java_import(
name = "protobuf_java_util",
- jars = ["protobuf-util.jar"],
+ jars = ["java/protobuf-util.jar"],
)
# For bootstrapping java toolcahin
filegroup(
name = "bootstrap-derived-java-jars",
srcs = [
- "protobuf.jar",
- "protobuf-util.jar",
+ "java/protobuf.jar",
+ "java/protobuf-util.jar",
],
)
# libcommons-collections3-java
java_import(
name = "apache_commons_collections",
- jars = ["commons-collections3.jar"],
+ jars = ["java/commons-collections3.jar"],
)
# libcommons-lang-java
java_import(
name = "apache_commons_lang",
- jars = ["commons-lang.jar"],
+ jars = ["java/commons-lang.jar"],
)
# libcommons-compress-java
java_import(
name = "apache_commons_compress",
- jars = ["commons-compress.jar"],
+ jars = ["java/commons-compress.jar"],
)
# libcommons-logging-java
java_import(
name = "apache_commons_logging",
- jars = ["commons-logging.jar"],
+ jars = ["java/commons-logging.jar"],
)
# libcommons-pool2-java
java_import(
name = "apache_commons_pool2",
- jars = ["commons-pool2.jar"],
+ jars = ["java/commons-pool2.jar"],
)
# velocity
java_import(
name = "apache_velocity",
- jars = ["velocity.jar"],
+ jars = ["java/velocity.jar"],
)
# libasm-java
java_import(
name = "asm",
- jars = ["asm.jar"],
+ jars = ["java/asm.jar"],
)
# libjackson2-core-java
java_import(
name = "jackson2",
jars = [
- "jackson-core.jar",
+ "java/jackson-core.jar",
],
)
@@ -145,7 +145,7 @@
java_import(
name = "jcip_annotations",
jars = [
- "jcip-annotations.jar",
+ "java/jcip-annotations.jar",
],
)
@@ -153,50 +153,50 @@
filegroup(
name = "jcip_annotations-jars",
srcs = [
- "jcip-annotations.jar",
+ "java/jcip-annotations.jar",
],
)
# libjsr305-java
java_import(
name = "jsr305",
- jars = ["jsr305.jar"],
+ jars = ["java/jsr305.jar"],
)
# For bootstrapping java toolcahin
filegroup(
name = "jsr305-jars",
- srcs = ["jsr305.jar"],
+ srcs = ["java/jsr305.jar"],
)
# libnetty-tcnative-java
java_import(
name = "netty_tcnative",
- jars = ["netty-tcnative.jar"],
+ jars = ["java/netty-tcnative.jar"],
)
# libjavapoet-java
java_import(
name = "javapoet",
- jars = ["javapoet.jar"],
+ jars = ["java/javapoet.jar"],
)
# libjaxb-api-java
java_import(
name = "jaxb",
- jars = ["jaxb-api.jar"],
+ jars = ["java/jaxb-api.jar"],
)
# libxz-java
java_import(
name = "xz",
- jars = ["xz.jar"],
+ jars = ["java/xz.jar"],
)
# libgeronimo-annotation-1.3-spec-java
java_import(
name = "javax_annotations",
- jars = ["geronimo-annotation-1.3-spec.jar"],
+ jars = ["java/geronimo-annotation-1.3-spec.jar"],
neverlink = 1,
)
@@ -206,16 +206,16 @@
java_import(
name = "android_common_25_0_0_lite",
jars = [
- "com.android.tools.common.jar",
- "com.android.tools.repository.jar",
- "com.android.tools.layoutlib.layoutlib-api.jar",
+ "java/com.android.tools.common.jar",
+ "java/com.android.tools.repository.jar",
+ "java/com.android.tools.layoutlib.layoutlib-api.jar",
],
)
# libguava-java
java_import(
name = "guava",
- jars = ["guava.jar"],
+ jars = ["java/guava.jar"],
exports = [
"@//third_party:error_prone_annotations",
"@//third_party:jcip_annotations",
@@ -226,7 +226,7 @@
# For bootstrapping java toolcahin
filegroup(
name = "guava-jars",
- srcs = ["guava.jar"],
+ srcs = ["java/guava.jar"],
)
# libjacoco-java - BEGIN
@@ -234,82 +234,82 @@
java_import(
name = "agent",
- jars = ["org.jacoco.agent.jar"],
+ jars = ["java/org.jacoco.agent.jar"],
)
java_import(
name = "agent-%s" % JACOCOVERSION,
- jars = ["org.jacoco.agent.jar"],
+ jars = ["java/org.jacoco.agent.jar"],
)
java_import(
name = "core",
- jars = ["org.jacoco.core.jar"],
+ jars = ["java/org.jacoco.core.jar"],
)
java_import(
name = "core-%s" % JACOCOVERSION,
- jars = ["org.jacoco.core.jar"],
+ jars = ["java/org.jacoco.core.jar"],
)
filegroup(
name = "core-jars",
- srcs = ["org.jacoco.core.jar"],
+ srcs = ["java/org.jacoco.core.jar"],
)
filegroup(
name = "core-jars-%s" % JACOCOVERSION,
- srcs = ["org.jacoco.core.jar"],
+ srcs = ["java/org.jacoco.core.jar"],
)
java_import(
name = "report",
- jars = ["org.jacoco.report.jar"],
+ jars = ["java/org.jacoco.report.jar"],
)
java_import(
name = "report-%s" % JACOCOVERSION,
- jars = ["org.jacoco.report.jar"],
+ jars = ["java/org.jacoco.report.jar"],
)
java_import(
name = "blaze-agent",
- jars = ["org.jacoco.agent.jar"],
+ jars = ["java/org.jacoco.agent.jar"],
)
java_import(
name = "blaze-agent-%s" % JACOCOVERSION,
- jars = ["org.jacoco.agent.jar"],
+ jars = ["java/org.jacoco.agent.jar"],
)
# libjacoco-java - END
# libgoogle-auto-common-java
java_import(
name = "auto_common",
- jars = ["auto-common.jar"],
+ jars = ["java/auto-common.jar"],
)
# libgoogle-auto-service-java
java_import(
name = "auto_service_lib",
jars = [
- "auto-service.jar",
- "auto-service-annotations.jar",
+ "java/auto-service.jar",
+ "java/auto-service-annotations.jar",
],
)
# libescapevelocity-java
java_import(
name = "escapevelocity",
- jars = ["escapevelocity.jar"],
+ jars = ["java/escapevelocity.jar"],
)
# libgoogle-auto-value-java
java_import(
name = "auto_value_value",
jars = [
- "auto-value.jar",
- "auto-value-annotations.jar",
+ "java/auto-value.jar",
+ "java/auto-value-annotations.jar",
],
runtime_deps = [
":escapevelocity",
@@ -321,11 +321,11 @@
filegroup(
name = "auto_value-jars",
srcs = [
- "auto-common.jar",
- "auto-value.jar",
- "auto-value-annotations.jar",
- "escapevelocity.jar",
- "javapoet.jar",
+ "java/auto-common.jar",
+ "java/auto-value.jar",
+ "java/auto-value-annotations.jar",
+ "java/escapevelocity.jar",
+ "java/javapoet.jar",
],
)
@@ -334,10 +334,10 @@
java_import(
name = "api_client",
jars = [
- "google-api-client.jar",
- "google-api-client-jackson2.jar",
- "google-http-client.jar",
- "google-http-client-jackson2.jar",
+ "java/google-api-client.jar",
+ "java/google-api-client-jackson2.jar",
+ "java/google-http-client.jar",
+ "java/google-http-client-jackson2.jar",
],
runtime_deps = [
":jackson2",
@@ -348,8 +348,8 @@
java_import(
name = "auth",
jars = [
- "google-auth-library-oauth2-http.jar",
- "google-auth-library-credentials.jar",
+ "java/google-auth-library-oauth2-http.jar",
+ "java/google-auth-library-credentials.jar",
],
runtime_deps = [
":api_client",
@@ -362,29 +362,29 @@
java_import(
name = "error_prone_annotations",
jars = [
- "error-prone-annotations.jar",
- "error-prone-type-annotations.jar",
+ "java/error-prone-annotations.jar",
+ "java/error-prone-type-annotations.jar",
],
)
# For bootstrapping JavaBuilder
filegroup(
name = "error_prone_annotations-jar",
- srcs = ["error-prone-annotations.jar"],
+ srcs = ["java/error-prone-annotations.jar"],
)
# libdiffutils-java
java_import(
name = "java-diff-utils",
- jars = ["java-diff-utils.jar"],
+ jars = ["java/java-diff-utils.jar"],
)
# libopencensus-java
java_import(
name = "opencensus-api",
jars = [
- "opencensus-api.jar",
- "opencensus-contrib-grpc-metrics.jar",
+ "java/opencensus-api.jar",
+ "java/opencensus-contrib-grpc-metrics.jar",
],
)
@@ -392,7 +392,7 @@
java_import(
name = "perfmark-api",
jars = [
- "perfmark-api.jar",
+ "java/perfmark-api.jar",
],
)
@@ -400,9 +400,9 @@
java_import(
name = "flogger",
jars = [
- "flogger.jar",
- "flogger-system-backend.jar",
- "google-extensions.jar",
+ "java/flogger.jar",
+ "java/flogger-system-backend.jar",
+ "java/google-extensions.jar",
],
)
@@ -410,16 +410,16 @@
filegroup(
name = "flogger-jars",
srcs = [
- "flogger.jar",
- "flogger-system-backend.jar",
- "google-extensions.jar",
+ "java/flogger.jar",
+ "java/flogger-system-backend.jar",
+ "java/google-extensions.jar",
],
)
# libchecker-framework-java
java_import(
name = "checker_framework_annotations",
- jars = ["checker-qual.jar"],
+ jars = ["java/checker-qual.jar"],
)
# libgrpc-java
@@ -440,14 +440,14 @@
filegroup(
name = "bootstrap-grpc-jars",
srcs = [
- "grpc-api.jar",
- "grpc-auth.jar",
- "grpc-context.jar",
- "grpc-core.jar",
- "grpc-netty.jar",
- "grpc-protobuf.jar",
- "grpc-protobuf-lite.jar",
- "grpc-stub.jar",
+ "java/grpc-api.jar",
+ "java/grpc-auth.jar",
+ "java/grpc-context.jar",
+ "java/grpc-core.jar",
+ "java/grpc-netty.jar",
+ "java/grpc-protobuf.jar",
+ "java/grpc-protobuf-lite.jar",
+ "java/grpc-stub.jar",
],
)
@@ -455,7 +455,7 @@
java_import(
name = "junit4",
jars = [
- "hamcrest-core.jar",
- "junit4.jar",
+ "java/hamcrest-core.jar",
+ "java/junit4.jar",
],
)
diff --git a/tools/distributions/debian/deps.bzl b/tools/distributions/debian/deps.bzl
index 4cbbfb5..4d2155d 100644
--- a/tools/distributions/debian/deps.bzl
+++ b/tools/distributions/debian/deps.bzl
@@ -24,9 +24,11 @@
def debian_java_deps():
# An external repository for providing Debian system installed java libraries.
- native.new_local_repository(
+ system_repo(
name = "debian_java_deps",
- path = "/usr/share/java",
+ symlinks = {
+ "java": "/usr/share/java",
+ },
build_file = "//tools/distributions/debian:debian_java.BUILD",
)