Skip to content

Commit

Permalink
Merge pull request #8752 from deannagarcia/rulesJvmExternal
Browse files Browse the repository at this point in the history
Create java_export targets
  • Loading branch information
deannagarcia committed Jun 25, 2021
2 parents 9276968 + c02b582 commit 611a08e
Show file tree
Hide file tree
Showing 10 changed files with 117 additions and 8 deletions.
35 changes: 34 additions & 1 deletion BUILD
Expand Up @@ -293,12 +293,45 @@ WELL_KNOWN_PROTO_MAP = {

WELL_KNOWN_PROTOS = [value[0] for value in WELL_KNOWN_PROTO_MAP.values()]

LITE_WELL_KNOWN_PROTO_MAP = {
"any": ("src/google/protobuf/any.proto", []),
"api": (
"src/google/protobuf/api.proto",
[
"source_context",
"type",
],
),
"duration": ("src/google/protobuf/duration.proto", []),
"empty": ("src/google/protobuf/empty.proto", []),
"field_mask": ("src/google/protobuf/field_mask.proto", []),
"source_context": ("src/google/protobuf/source_context.proto", []),
"struct": ("src/google/protobuf/struct.proto", []),
"timestamp": ("src/google/protobuf/timestamp.proto", []),
"type": (
"src/google/protobuf/type.proto",
[
"any",
"source_context",
],
),
"wrappers": ("src/google/protobuf/wrappers.proto", []),
}

LITE_WELL_KNOWN_PROTOS = [value[0] for value in LITE_WELL_KNOWN_PROTO_MAP.values()]

filegroup(
name = "well_known_protos",
srcs = WELL_KNOWN_PROTOS,
visibility = ["//visibility:public"],
)

filegroup(
name = "lite_well_known_protos",
srcs = LITE_WELL_KNOWN_PROTOS,
visibility = ["//visibility:public"],
)

adapt_proto_library(
name = "cc_wkt_protos_genproto",
deps = [proto + "_proto" for proto in WELL_KNOWN_PROTO_MAP.keys()],
Expand Down Expand Up @@ -747,7 +780,7 @@ internal_gen_well_known_protos_java(

internal_gen_well_known_protos_java(
name = "gen_well_known_protos_javalite",
deps = [proto + "_proto" for proto in WELL_KNOWN_PROTO_MAP.keys()],
deps = [proto + "_proto" for proto in LITE_WELL_KNOWN_PROTO_MAP.keys()],
javalite = True,
visibility = [
"//java:__subpackages__",
Expand Down
3 changes: 3 additions & 0 deletions Makefile.am
Expand Up @@ -280,6 +280,7 @@ java_EXTRA_DIST=
java/core/generate-sources-build.xml \
java/core/generate-test-sources-build.xml \
java/core/pom.xml \
java/core/pom_template.xml \
java/core/src/main/java/com/google/protobuf/AbstractMessage.java \
java/core/src/main/java/com/google/protobuf/AbstractMessageLite.java \
java/core/src/main/java/com/google/protobuf/AbstractParser.java \
Expand Down Expand Up @@ -567,13 +568,15 @@ java_EXTRA_DIST=
java/lite/generate-test-sources-build.xml \
java/lite/lite.awk \
java/lite/pom.xml \
java/lite/pom_template.xml \
java/lite/process-lite-sources-build.xml \
java/lite/src/test/java/com/google/protobuf/LiteTest.java \
java/lite/src/test/java/com/google/protobuf/Proto2MessageLiteInfoFactory.java \
java/BUILD \
java/pom.xml \
java/util/BUILD \
java/util/pom.xml \
java/util/pom_template.xml \
java/util/src/main/java/com/google/protobuf/util/Durations.java \
java/util/src/main/java/com/google/protobuf/util/FieldMaskTree.java \
java/util/src/main/java/com/google/protobuf/util/FieldMaskUtil.java \
Expand Down
4 changes: 2 additions & 2 deletions WORKSPACE
Expand Up @@ -38,13 +38,13 @@ bind(
load("@rules_jvm_external//:defs.bzl", "maven_install")
maven_install(
artifacts = [
"com.google.guava:guava:30.1.1-jre",
"com.google.code.gson:gson:2.8.6",
"com.google.errorprone:error_prone_annotations:2.3.2",
"com.google.guava:guava:30.1.1-jre",
"com.google.truth:truth:1.1.2",
"junit:junit:4.12",
"org.easymock:easymock:3.2",
"org.easymock:easymockclassextension:3.2",
"com.google.truth:truth:1.1.2",
],
repositories = [
"https://repo1.maven.org/maven2",
Expand Down
17 changes: 15 additions & 2 deletions java/core/BUILD
@@ -1,7 +1,9 @@
load("@bazel_skylib//rules:build_test.bzl", "build_test")
load("@rules_java//java:defs.bzl", "java_library", "java_proto_library", "java_lite_proto_library")
load("@rules_jvm_external//:defs.bzl", "java_export")
load("@rules_proto//proto:defs.bzl", "proto_lang_toolchain", "proto_library")
load("//:internal.bzl", "conformance_test")
load("//:protobuf_version.bzl", "PROTOBUF_VERSION")
load("//java/internal:testing.bzl", "junit_tests")

LITE_SRCS = [
Expand Down Expand Up @@ -96,23 +98,30 @@ LITE_SRCS = [
]

# Should be used as `//java/lite`.
java_library(
java_export(
name = "lite",
maven_coordinates = "com.google.protobuf:protobuf-javalite:%s" % PROTOBUF_VERSION,
pom_template = "//java/lite:pom_template.xml",
srcs = LITE_SRCS + [
"//:gen_well_known_protos_javalite"
],
visibility = [
"//java/lite:__pkg__",
],
resources = [
"//:lite_well_known_protos",
],
)

java_library(
name = "lite_runtime_only",
srcs = LITE_SRCS,
)

java_library(
java_export(
name = "core",
maven_coordinates = "com.google.protobuf:protobuf-java:%s" % PROTOBUF_VERSION,
pom_template = "pom_template.xml",
srcs = glob(
[
"src/main/java/com/google/protobuf/*.java",
Expand All @@ -128,6 +137,9 @@ java_library(
deps = [
":lite_runtime_only",
],
resources = [
"//:well_known_protos",
],
)

proto_lang_toolchain(
Expand Down Expand Up @@ -324,3 +336,4 @@ junit_tests(
"//external:truth",
]
)

18 changes: 18 additions & 0 deletions java/core/pom_template.xml
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>{groupId}</groupId>
<artifactId>protobuf-parent</artifactId>
<version>{version}</version>
</parent>

<artifactId>{artifactId}</artifactId>
<packaging>{type}</packaging>

<name>Protocol Buffers [Core]</name>
<description>
Core Protocol Buffers library. Protocol Buffers are a way of encoding structured data in an
efficient yet extensible format.
</description>
</project>
1 change: 1 addition & 0 deletions java/lite/BUILD
Expand Up @@ -4,6 +4,7 @@ load("//:internal.bzl", "conformance_test")
load("//java/internal:testing.bzl", "junit_tests")

exports_files(["lite.awk"], visibility = ["//java/core:__pkg__"])
exports_files(["pom_template.xml"], visibility = ["//java/core:__pkg__"])

alias(
name = "lite",
Expand Down
19 changes: 19 additions & 0 deletions java/lite/pom_template.xml
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>{groupId}</groupId>
<artifactId>protobuf-parent</artifactId>
<version>{version}</version>
</parent>

<artifactId>{artifactId}</artifactId>
<packaging>{type}</packaging>

<name>Protocol Buffers [Lite]</name>
<description>
Lite version of Protocol Buffers library. This version is optimized for code size, but does
not guarantee API/ABI stability.
</description>

</project>
9 changes: 6 additions & 3 deletions java/util/BUILD
@@ -1,9 +1,13 @@
load("@rules_java//java:defs.bzl", "java_library", "java_proto_library")
load("@rules_java//java:defs.bzl", "java_proto_library")
load("@rules_jvm_external//:defs.bzl", "java_export")
load("@rules_proto//proto:defs.bzl", "proto_library")
load("//:protobuf_version.bzl", "PROTOBUF_VERSION")
load("//java/internal:testing.bzl", "junit_tests")

java_library(
java_export(
name = "util",
maven_coordinates = "com.google.protobuf:protobuf-java-util:%s" % PROTOBUF_VERSION,
pom_template = "pom_template.xml",
srcs = glob([
"src/main/java/com/google/protobuf/util/*.java",
]),
Expand All @@ -13,7 +17,6 @@ java_library(
"//external:gson",
"//external:guava",
"//java/core",
"//java/lite",
],
)

Expand Down
18 changes: 18 additions & 0 deletions java/util/pom_template.xml
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>{groupId}</groupId>
<artifactId>protobuf-parent</artifactId>
<version>{version}</version>
</parent>

<artifactId>{artifactId}</artifactId>
<packaging>{type}</packaging>

<name>Protocol Buffers [Util]</name>
<description>Utilities for Protocol Buffers</description>

{dependencies}

</project>
1 change: 1 addition & 0 deletions protobuf_version.bzl
@@ -0,0 +1 @@
PROTOBUF_VERSION = '3.17.3'

0 comments on commit 611a08e

Please sign in to comment.