Support build with Bazel (#4865)

* Support build with Bazel, fixing tests to make them capable of running in concurrency and hermetic.
This commit is contained in:
Zhanhui Li
2022-08-23 13:11:53 +08:00
committed by GitHub
parent 92d10baf24
commit ec8a93d2f7
105 changed files with 1881 additions and 244 deletions
+82
View File
@@ -0,0 +1,82 @@
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You 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.
#
load("//bazel:GenTestRules.bzl", "GenTestRules")
java_library(
name = "container",
srcs = glob(["src/main/java/**/*.java"]),
visibility = ["//visibility:public"],
deps = [
"//broker",
"//common",
"//logging",
"//remoting",
"//client",
"//srvutil",
"//store",
"//store:io_openmessaging_storage_dledger",
"@maven//:org_apache_commons_commons_lang3",
"@maven//:commons_validator_commons_validator",
"@maven//:commons_collections_commons_collections",
"@maven//:commons_codec_commons_codec",
"@maven//:com_github_luben_zstd_jni",
"@maven//:org_lz4_lz4_java",
"@maven//:com_alibaba_fastjson",
"@maven//:io_netty_netty_all",
"@maven//:com_google_guava_guava",
"@maven//:org_slf4j_slf4j_api",
"@maven//:ch_qos_logback_logback_core",
"@maven//:ch_qos_logback_logback_classic",
"@maven//:commons_cli_commons_cli",
],
)
java_library(
name = "tests",
srcs = glob(["src/test/java/**/*.java"]),
visibility = ["//visibility:public"],
deps = [
":container",
"//broker",
"//common",
"//logging",
"//remoting",
"//client",
"//srvutil",
"//store",
"//store:io_openmessaging_storage_dledger",
"//:test_deps",
"@maven//:org_apache_commons_commons_lang3",
"@maven//:io_netty_netty_all",
"@maven//:com_google_guava_guava",
"@maven//:com_alibaba_fastjson",
],
resources = glob(["src/test/resources/certs/*.pem"]) + glob(["src/test/resources/certs/*.key"])
)
GenTestRules(
name = "GeneratedTestRules",
test_files = glob(["src/test/java/**/*Test.java"]),
deps = [
":tests",
],
# The following tests are flaky, fix them later.
exclude_tests = [
"src/test/java/org/apache/rocketmq/container/BrokerContainerStartupTest",
"src/test/java/org/apache/rocketmq/container/BrokerContainerTest",
],
)