From 8bc63f4e5645dc626e502c3a5d2546dfd0286d61 Mon Sep 17 00:00:00 2001 From: Mira Leung Date: Wed, 2 Dec 2020 13:27:08 -0800 Subject: [PATCH 1/2] fix: fix dep ordering in Bazel dedupe rules --- rules_java_gapic/java_gapic.bzl | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/rules_java_gapic/java_gapic.bzl b/rules_java_gapic/java_gapic.bzl index 96e482907c..d265f8c676 100644 --- a/rules_java_gapic/java_gapic.bzl +++ b/rules_java_gapic/java_gapic.bzl @@ -189,7 +189,7 @@ def java_gapic_library( ) # General additional deps. - actual_deps = resource_name_deps + [ + actual_deps = deps + resource_name_deps + [ "@com_google_googleapis//google/rpc:rpc_java_proto", "@com_google_googleapis//google/longrunning:longrunning_java_proto", "@com_google_protobuf//:protobuf_java", @@ -207,7 +207,6 @@ def java_gapic_library( "@com_google_http_client_google_http_client//jar", "@javax_annotation_javax_annotation_api//jar", ] - _append_dep_without_duplicates(actual_deps, deps) native.java_library( name = name, From 49ee44c2831021987927f07ac509107f8d3c3d24 Mon Sep 17 00:00:00 2001 From: Mira Leung Date: Thu, 10 Dec 2020 15:54:29 -0800 Subject: [PATCH 2/2] feat: add equals() and hashCode() overrides for ResourceReference --- .../gapic/model/ResourceReference.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/main/java/com/google/api/generator/gapic/model/ResourceReference.java b/src/main/java/com/google/api/generator/gapic/model/ResourceReference.java index cbd0ff8548..8140a8c231 100644 --- a/src/main/java/com/google/api/generator/gapic/model/ResourceReference.java +++ b/src/main/java/com/google/api/generator/gapic/model/ResourceReference.java @@ -28,6 +28,25 @@ public boolean isOnlyWildcard() { return resourceTypeString().equals(ResourceNameConstants.WILDCARD_PATTERN); } + @Override + public boolean equals(Object o) { + if (!(o instanceof ResourceReference)) { + return false; + } + + ResourceReference other = (ResourceReference) o; + return resourceTypeString().equals(other.resourceTypeString()) + && isChildType() == other.isChildType() + && isOnlyWildcard() == other.isOnlyWildcard(); + } + + @Override + public int hashCode() { + return 17 * resourceTypeString().hashCode() + + (isChildType() ? 1 : 0) * 19 + + (isOnlyWildcard() ? 1 : 0) * 31; + } + public static ResourceReference withType(String resourceTypeString) { return builder().setResourceTypeString(resourceTypeString).setIsChildType(false).build(); }