Skip to content

Commit 060b9a9

Browse files
g-sg-vnvamelichev
authored andcommitted
Bazel Build Scripts
1 parent db758ff commit 060b9a9

File tree

26 files changed

+485
-14
lines changed

26 files changed

+485
-14
lines changed

.bazelproject

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
workspace_type: java
2+
3+
java_language_level: 21
4+
5+
directories:
6+
.
7+
-databind/pom.xml
8+
-repository/pom.xml
9+
-json-jackson-v2/pom.xml
10+
-repository-inmemory/pom.xml
11+
-repository-test/pom.xml
12+
-repository-ydb-common/pom.xml
13+
-repository-ydb-v1/pom.xml
14+
-repository-ydb-v2/pom.xml
15+
-util/pom.xml
16+
17+
test_sources:
18+
databind/src/test
19+
repository/src/test
20+
repository-inmemory/src/test
21+
repository-ydb-v1/src/test
22+
repository-ydb-v2/src/test
23+
util/src/test

.bazelrc

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
common --enable_bzlmod
2+
3+
# java common flags
4+
common --java_language_version=21
5+
common --java_runtime_version=remotejdk_21
6+
common --tool_java_language_version=21
7+
common --tool_java_runtime_version=remotejdk_21
8+
9+
# java build flags
10+
build --nojava_header_compilation
11+
#build --strict_java_deps error
12+
13+
# Don't depend on a JAVA_HOME pointing at a system JDK, see https://github.com/bazelbuild/rules_jvm_external/issues/445
14+
build --repo_env=JAVA_HOME=../bazel_tools/jdk

MODULE.bazel

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
###############################################################################
2+
# Bazel now uses Bzlmod by default to manage external dependencies.
3+
# Please consider migrating your external dependencies from WORKSPACE to MODULE.bazel.
4+
#
5+
# For more details, please check https://github.com/bazelbuild/bazel/issues/18958
6+
###############################################################################
7+
bazel_dep(name = "rules_java", version = "7.4.0")
8+
bazel_dep(name = "contrib_rules_jvm", version = "0.24.0")
9+
bazel_dep(name = "rules_jvm_external", version = "6.0")
10+
bazel_dep(name = "apple_rules_lint", version = "0.3.2")

WORKSPACE.bazel

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
load("@rules_jvm_external//:defs.bzl", "maven_install")
2+
load("@rules_jvm_external//:specs.bzl", "maven")
3+
4+
ANNOTATION_API_VERSION = "1.3.2"
5+
6+
ASSERTJ_VERSION = "3.25.1"
7+
8+
COMMONS_TEXT_VERSION = "1.10.0"
9+
10+
ECLIPSE_COLLECTIONS_VERSION = "9.2.0"
11+
12+
FIND_BUGS_VERSION = "3.0.2"
13+
14+
GRPC_VERSION = "1.61.0"
15+
16+
GUAVA_VERSION = "33.0.0-jre"
17+
18+
JACKSON_VERSION = "2.16.1"
19+
20+
JUNIT_JUPITER_VERSION = "5.10.1"
21+
22+
JUNIT_VERSION = "4.13.2"
23+
24+
KOTLIN_VERSION = "1.9.22"
25+
26+
LOG4J_VERSION = "2.22.1"
27+
28+
LOMBOK_VERSION = "1.18.30"
29+
30+
MOCKITO_VERSION = "5.9.0"
31+
32+
PROMETHEUS_VERSION = "1.1.0"
33+
34+
SIMPLECLIENT_VERSION = "0.9.0"
35+
36+
SLF4J_VERSION = "2.0.11"
37+
38+
SNAKEYAML_VERSION = "1.33"
39+
40+
YDB_PROTOAPI_VERSION = "1.6.0"
41+
42+
YDB_SDK_V1_VERSION = "1.14.14"
43+
44+
YDB_SDK_VERSION = "2.1.12"
45+
46+
maven_install(
47+
name = "java_contribs_stable",
48+
artifacts = [
49+
"com.fasterxml.jackson.core:jackson-databind:" + JACKSON_VERSION,
50+
"com.fasterxml.jackson.datatype:jackson-datatype-jdk8:" + JACKSON_VERSION,
51+
"com.fasterxml.jackson.datatype:jackson-datatype-jsr310:" + JACKSON_VERSION,
52+
"com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:" + JACKSON_VERSION,
53+
"com.google.code.findbugs:jsr305:" + FIND_BUGS_VERSION,
54+
"com.google.guava:guava:" + GUAVA_VERSION,
55+
"com.yandex.ydb:ydb-sdk-core:" + YDB_SDK_V1_VERSION,
56+
"com.yandex.ydb:ydb-sdk-proto:" + YDB_SDK_V1_VERSION,
57+
"com.yandex.ydb:ydb-sdk-table:" + YDB_SDK_V1_VERSION,
58+
"io.grpc:grpc-bom:" + GRPC_VERSION,
59+
"io.grpc:grpc-netty-shaded:" + GRPC_VERSION,
60+
"io.grpc:grpc-netty:" + GRPC_VERSION,
61+
"io.prometheus:simpleclient:" + SIMPLECLIENT_VERSION,
62+
"javax.annotation:javax.annotation-api:" + ANNOTATION_API_VERSION,
63+
"junit:junit:" + JUNIT_VERSION,
64+
"org.apache.commons:commons-text:" + COMMONS_TEXT_VERSION,
65+
"org.yaml:snakeyaml:" + SNAKEYAML_VERSION,
66+
"org.apache.logging.log4j:log4j-api:" + LOG4J_VERSION,
67+
"org.apache.logging.log4j:log4j-slf4j2-impl:" + LOG4J_VERSION,
68+
"org.assertj:assertj-core:" + ASSERTJ_VERSION,
69+
"org.eclipse.collections:eclipse-collections-api:" + ECLIPSE_COLLECTIONS_VERSION,
70+
"org.eclipse.collections:eclipse-collections:" + ECLIPSE_COLLECTIONS_VERSION,
71+
"org.jetbrains.kotlin:kotlin-reflect:" + KOTLIN_VERSION,
72+
"org.mockito:mockito-core:" + MOCKITO_VERSION,
73+
"org.projectlombok:lombok:" + LOMBOK_VERSION,
74+
"org.slf4j:slf4j-api:" + SLF4J_VERSION,
75+
"tech.ydb:ydb-proto-api:" + YDB_PROTOAPI_VERSION,
76+
"tech.ydb:ydb-sdk-bom:" + YDB_SDK_VERSION,
77+
"tech.ydb:ydb-sdk-topic:" + YDB_SDK_VERSION,
78+
"tech.ydb:ydb-sdk-core:" + YDB_SDK_VERSION,
79+
"tech.ydb:ydb-sdk-table:" + YDB_SDK_VERSION,
80+
"tech.ydb:ydb-sdk-scheme:" + YDB_SDK_VERSION,
81+
"tech.ydb.test:ydb-junit4-support:" + YDB_SDK_VERSION,
82+
maven.artifact(
83+
artifact = "grpc-core",
84+
exclusions = [
85+
"io.grpc:grpc-util",
86+
],
87+
group = "io.grpc",
88+
version = GRPC_VERSION,
89+
),
90+
],
91+
fetch_sources = True,
92+
generate_compat_repositories = True,
93+
repositories = [
94+
"https://repo1.maven.org/maven2",
95+
],
96+
)

bom/BUILD

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
load("@contrib_rules_jvm//java:defs.bzl", "java_library")
2+
3+
java_plugin(
4+
name = "lombok_plugin",
5+
generates_api = True,
6+
processor_class = "lombok.launch.AnnotationProcessorHider$AnnotationProcessor",
7+
deps = ["@java_contribs_stable//:org_projectlombok_lombok"],
8+
)
9+
10+
java_library(
11+
name = "lombok",
12+
data = ["lombok.config"],
13+
exported_plugins = [":lombok_plugin"],
14+
neverlink = True,
15+
visibility = ["//visibility:public"],
16+
exports = [
17+
"@java_contribs_stable//:org_projectlombok_lombok",
18+
"@java_contribs_stable//:org_slf4j_slf4j_api",
19+
],
20+
)

databind/BUILD

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
load("@contrib_rules_jvm//java:defs.bzl", "java_library", "java_test_suite")
2+
3+
java_library(
4+
name = "databind",
5+
srcs = glob(["src/main/**/*.java"]),
6+
visibility = ["//visibility:public"],
7+
deps = [
8+
"//bom:lombok",
9+
"@java_contribs_stable//:com_google_code_findbugs_jsr305",
10+
"@java_contribs_stable//:com_google_guava_guava",
11+
"@java_contribs_stable//:javax_annotation_javax_annotation_api",
12+
"@java_contribs_stable//:org_jetbrains_annotations",
13+
"@java_contribs_stable//:org_jetbrains_kotlin_kotlin_reflect",
14+
"@java_contribs_stable//:org_jetbrains_kotlin_kotlin_stdlib",
15+
"@java_contribs_stable//:org_slf4j_slf4j_api",
16+
],
17+
)
18+
19+
java_test_suite(
20+
name = "databind-tests",
21+
srcs = glob(["src/test/java/**/*.java"]),
22+
package_prefixes = [".tech"],
23+
resources = glob(["src/test/resources/**"]),
24+
runner = "junit4",
25+
deps = [
26+
":databind",
27+
"//bom:lombok",
28+
"@java_contribs_stable//:javax_annotation_javax_annotation_api",
29+
"@java_contribs_stable//:org_assertj_assertj_core",
30+
],
31+
)

databind/src/test/java/tech/ydb/yoj/databind/schema/naming/AnnotationFirstNamingStrategyTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import org.junit.Test;
44
import tech.ydb.yoj.databind.schema.Schema;
55

6-
public class AnnotationFirstNamingStrategyTest extends BaseNamingStrategyTest {
6+
public class AnnotationFirstNamingStrategyTest extends BaseNamingStrategyTestBase {
77
@Test
88
public void testEntityTableName() {
99
verifyTableName(TestEntity.class, "TestEntity");

databind/src/test/java/tech/ydb/yoj/databind/schema/naming/BaseNamingStrategyTest.java renamed to databind/src/test/java/tech/ydb/yoj/databind/schema/naming/BaseNamingStrategyTestBase.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
import static org.assertj.core.api.Assertions.assertThat;
66

7-
public abstract class BaseNamingStrategyTest {
7+
public abstract class BaseNamingStrategyTestBase {
88
protected abstract <T> Schema<T> getSchema(Class<T> entityType);
99

1010
protected <T> void verifyTableName(Class<T> entityType, String tableName) {

json-jackson-v2/BUILD

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
load("@contrib_rules_jvm//java:defs.bzl", "java_library", "java_test_suite")
2+
3+
java_library(
4+
name = "json-jackson-v2",
5+
srcs = glob(["src/main/**/*.java"]),
6+
visibility = ["//visibility:public"],
7+
deps = [
8+
"//bom:lombok",
9+
"//repository",
10+
"@java_contribs_stable//:com_fasterxml_jackson_core_jackson_annotations",
11+
"@java_contribs_stable//:com_fasterxml_jackson_core_jackson_databind",
12+
"@java_contribs_stable//:com_fasterxml_jackson_datatype_jackson_datatype_jdk8",
13+
"@java_contribs_stable//:com_fasterxml_jackson_datatype_jackson_datatype_jsr310",
14+
"@java_contribs_stable//:com_google_code_findbugs_jsr305",
15+
"@java_contribs_stable//:com_google_guava_guava",
16+
"@java_contribs_stable//:javax_annotation_javax_annotation_api",
17+
],
18+
)

repository-inmemory/BUILD

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
load("@contrib_rules_jvm//java:defs.bzl", "java_library", "java_test_suite")
2+
3+
java_library(
4+
name = "repository-inmemory",
5+
srcs = glob(["src/main/**/*.java"]),
6+
visibility = ["//visibility:public"],
7+
deps = [
8+
"//bom:lombok",
9+
"//databind",
10+
"//repository",
11+
"//util",
12+
"@java_contribs_stable//:com_google_code_findbugs_jsr305",
13+
"@java_contribs_stable//:com_google_guava_guava",
14+
"@java_contribs_stable//:javax_annotation_javax_annotation_api",
15+
"@java_contribs_stable//:org_eclipse_collections_eclipse_collections",
16+
"@java_contribs_stable//:org_eclipse_collections_eclipse_collections_api",
17+
],
18+
)
19+
20+
java_test_suite(
21+
name = "repository-inmemory-tests",
22+
srcs = glob(["src/test/java/**/*.java"]),
23+
package_prefixes = [".tech"],
24+
resources = glob(["src/test/resources/**"]),
25+
runner = "junit4",
26+
deps = [
27+
"repository-inmemory",
28+
"//bom:lombok",
29+
"//json-jackson-v2",
30+
"//repository",
31+
"//repository-test",
32+
],
33+
)

repository-test/BUILD

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
load("@contrib_rules_jvm//java:defs.bzl", "java_library", "java_test_suite")
2+
3+
java_library(
4+
name = "repository-test",
5+
srcs = glob(["src/main/**/*.java"]),
6+
visibility = ["//visibility:public"],
7+
deps = [
8+
"//bom:lombok",
9+
"//databind",
10+
"//repository",
11+
"//util",
12+
"@java_contribs_stable//:com_fasterxml_jackson_core_jackson_annotations",
13+
"@java_contribs_stable//:com_fasterxml_jackson_core_jackson_core",
14+
"@java_contribs_stable//:com_fasterxml_jackson_core_jackson_databind",
15+
"@java_contribs_stable//:com_fasterxml_jackson_datatype_jackson_datatype_jdk8",
16+
"@java_contribs_stable//:com_fasterxml_jackson_datatype_jackson_datatype_jsr310",
17+
"@java_contribs_stable//:com_google_guava_guava",
18+
"@java_contribs_stable//:javax_annotation_javax_annotation_api",
19+
"@java_contribs_stable//:junit_junit",
20+
"@java_contribs_stable//:org_assertj_assertj_core",
21+
],
22+
)

repository-ydb-common/BUILD

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
load("@contrib_rules_jvm//java:defs.bzl", "java_library", "java_test_suite")
2+
3+
java_library(
4+
name = "repository-ydb-common",
5+
srcs = glob(["src/main/**/*.java"]),
6+
visibility = ["//visibility:public"],
7+
deps = [
8+
"//bom:lombok",
9+
"//databind",
10+
"//repository",
11+
"//util",
12+
"@java_contribs_stable//:io_prometheus_simpleclient",
13+
],
14+
)

repository-ydb-v1/BUILD

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
load("@contrib_rules_jvm//java:defs.bzl", "java_library", "java_test_suite")
2+
3+
java_library(
4+
name = "repository-ydb-v1",
5+
srcs = glob(["src/main/**/*.java"]),
6+
visibility = ["//visibility:public"],
7+
deps = [
8+
"//bom:lombok",
9+
"//databind",
10+
"//repository",
11+
"//repository-ydb-common",
12+
"//util",
13+
"@java_contribs_stable//:com_google_code_findbugs_jsr305",
14+
"@java_contribs_stable//:com_google_guava_guava",
15+
"@java_contribs_stable//:com_google_protobuf_protobuf_java",
16+
"@java_contribs_stable//:com_yandex_ydb_ydb_sdk_core",
17+
"@java_contribs_stable//:com_yandex_ydb_ydb_sdk_proto",
18+
"@java_contribs_stable//:com_yandex_ydb_ydb_sdk_table",
19+
"@java_contribs_stable//:io_grpc_grpc_api",
20+
"@java_contribs_stable//:io_grpc_grpc_netty",
21+
"@java_contribs_stable//:javax_annotation_javax_annotation_api",
22+
"@java_contribs_stable//:org_apache_commons_commons_text",
23+
],
24+
)
25+
26+
java_test_suite(
27+
name = "repository-ydb-v1-tests",
28+
srcs = glob(["src/test/java/**/*.java"]),
29+
package_prefixes = [".tech"],
30+
resources = glob(["src/test/resources/**"]),
31+
runner = "junit4",
32+
test_suffixes_excludes = ["IntegrationTest.java"],
33+
deps = [
34+
"repository-ydb-v1",
35+
"//bom:lombok",
36+
"//databind",
37+
"//json-jackson-v2",
38+
"//repository",
39+
"//repository-test",
40+
"//repository-ydb-common",
41+
"@java_contribs_stable//:com_fasterxml_jackson_core_jackson_core",
42+
"@java_contribs_stable//:com_fasterxml_jackson_core_jackson_databind",
43+
"@java_contribs_stable//:com_google_guava_guava",
44+
"@java_contribs_stable//:com_google_protobuf_protobuf_java",
45+
"@java_contribs_stable//:com_yandex_ydb_ydb_sdk_core",
46+
"@java_contribs_stable//:com_yandex_ydb_ydb_sdk_proto",
47+
"@java_contribs_stable//:com_yandex_ydb_ydb_sdk_table",
48+
"@java_contribs_stable//:io_grpc_grpc_api",
49+
"@java_contribs_stable//:io_grpc_grpc_netty",
50+
"@java_contribs_stable//:io_grpc_grpc_stub",
51+
"@java_contribs_stable//:io_netty_netty_handler",
52+
"@java_contribs_stable//:javax_annotation_javax_annotation_api",
53+
"@java_contribs_stable//:junit_junit",
54+
"@java_contribs_stable//:org_assertj_assertj_core",
55+
"@java_contribs_stable//:org_mockito_mockito_core",
56+
],
57+
)
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
import tech.ydb.yoj.repository.ydb.YdbRepository;
2121
import tech.ydb.yoj.repository.ydb.YdbRepositoryTransaction;
2222

23-
public abstract class AbstractMultipleVarsYqlStatementTest extends RepositoryTestSupport {
23+
public abstract class AbstractMultipleVarsYqlStatementTestBase extends RepositoryTestSupport {
2424

2525
protected static final TestEntity ENTITY_1 = new TestEntity(TestEntity.Id.of("a"), "foo");
2626
protected static final TestEntity ENTITY_1_1 = new TestEntity(TestEntity.Id.of("a"), "fuu");

repository-ydb-v1/src/test/java/tech/ydb/yoj/repository/ydb/statement/DeleteByIdStatementIntegrationTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
import static org.assertj.core.api.Assertions.assertThat;
66

7-
public class DeleteByIdStatementIntegrationTest extends AbstractMultipleVarsYqlStatementTest {
7+
public class DeleteByIdStatementIntegrationTest extends AbstractMultipleVarsYqlStatementTestBase {
88

99
@Test
1010
public void testDelete() {

repository-ydb-v1/src/test/java/tech/ydb/yoj/repository/ydb/statement/InsertYqlStatementIntegrationTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
import static org.assertj.core.api.Assertions.assertThat;
66

7-
public class InsertYqlStatementIntegrationTest extends AbstractMultipleVarsYqlStatementTest {
7+
public class InsertYqlStatementIntegrationTest extends AbstractMultipleVarsYqlStatementTestBase {
88

99
@Test
1010
public void testInsert() {

0 commit comments

Comments
 (0)