From dbf9342144ddfd9c61fa551ec88ed76509a013ef Mon Sep 17 00:00:00 2001
From: Burke Davison <40617934+burkedavison@users.noreply.github.com>
Date: Wed, 30 Nov 2022 13:26:42 -0500
Subject: [PATCH] chore: relocate gapic-generator-java pom.xml to subfolder
(#1105)
* chore: relocate gapic-generator-java pom.xml to subfolder
* fix: ensure all tests work with new project structure
* fix: set surefire working directory, and revert source adjustments
* fix: formatter
---
.gitignore | 1 +
gapic-generator-java/pom.xml | 388 ++++++++++++++++++
pom.xml | 346 +---------------
.../engine/JavaCodeGeneratorTest.java | 1 +
.../composer/grpc/GrpcTestProtoLoader.java | 1 +
.../gapic/model/GapicServiceConfigTest.java | 1 +
.../BatchingSettingsConfigParserTest.java | 1 +
.../GapicLanguageSettingsParserTest.java | 1 +
.../GapicLroRetrySettingsParserTest.java | 1 +
.../protoparser/ServiceConfigParserTest.java | 1 +
.../protoparser/ServiceYamlParserTest.java | 1 +
.../protoparser/SourceCodeInfoParserTest.java | 24 +-
.../api/generator/test/framework/Utils.java | 2 +
.../google/api/generator/util/TestUtils.java | 1 +
14 files changed, 432 insertions(+), 338 deletions(-)
create mode 100644 gapic-generator-java/pom.xml
diff --git a/.gitignore b/.gitignore
index 913a2a8e6e..3b7b1a4ed2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,6 +5,7 @@ target/
# IDE
.idea
.ijwb
+*.iml
# Vim.
*.sw*
diff --git a/gapic-generator-java/pom.xml b/gapic-generator-java/pom.xml
new file mode 100644
index 0000000000..deb40e1031
--- /dev/null
+++ b/gapic-generator-java/pom.xml
@@ -0,0 +1,388 @@
+
+ 4.0.0
+ com.google.api
+ gapic-generator-java
+ 0.0.1-SNAPSHOT
+
+
+ UTF-8
+
+ 44d6bef0ca6db8bba3fb324c8186e694bcc4829c
+
+
+
+
+
+ com.google.cloud
+ google-cloud-shared-dependencies
+ 3.0.6
+ pom
+ import
+
+
+
+
+
+ ../src/main/java
+
+
+ ../src/
+
+
+ ../src/test/java
+ ../target
+
+
+
+ kr.motd.maven
+ os-maven-plugin
+ 1.7.1
+
+
+
+
+
+ maven-compiler-plugin
+ 3.10.1
+
+ 8
+ 8
+
+
+ com.google.auto.value
+ auto-value
+ 1.10.1
+
+
+
+
+
+
+ com.coveo
+ fmt-maven-plugin
+ 2.9.1
+
+
+
+ com.googlecode.maven-download-plugin
+ download-maven-plugin
+ 1.6.8
+
+
+ download-metadata-proto
+ generate-sources
+
+ wget
+
+
+
+ https://raw.githubusercontent.com/googleapis/googleapis/${googleapis.commit}/gapic/metadata/gapic_metadata.proto
+
+ ../target/generated-sources/proto
+
+
+
+ download-common-resources-proto
+ generate-test-sources
+
+ wget
+
+
+
+ https://raw.githubusercontent.com/googleapis/googleapis/${googleapis.commit}/google/cloud/common_resources.proto
+
+ ../target/generated-test-sources/proto
+
+
+
+ download-pubsub-proto
+ generate-test-sources
+
+ wget
+
+
+
+ https://raw.githubusercontent.com/googleapis/googleapis/${googleapis.commit}/google/pubsub/v1/pubsub.proto
+
+ ../target/generated-test-sources/proto
+
+
+
+ download-schema-proto
+ generate-test-sources
+
+ wget
+
+
+
+ https://raw.githubusercontent.com/googleapis/googleapis/${googleapis.commit}/google/pubsub/v1/schema.proto
+
+ ../target/generated-test-sources/proto/google/pubsub/v1
+
+
+
+
+ download-logging-proto
+ generate-test-sources
+
+ wget
+
+
+
+ https://raw.githubusercontent.com/googleapis/googleapis/${googleapis.commit}/google/logging/v2/logging.proto
+
+ ../target/generated-test-sources/proto
+
+
+
+ download-log-entry-proto
+ generate-test-sources
+
+ wget
+
+
+
+ https://raw.githubusercontent.com/googleapis/googleapis/${googleapis.commit}/google/logging/v2/log_entry.proto
+
+ ../target/generated-test-sources/proto/google/logging/v2
+
+
+
+
+ download-logging-config-proto
+ generate-test-sources
+
+ wget
+
+
+
+ https://raw.githubusercontent.com/googleapis/googleapis/${googleapis.commit}/google/logging/v2/logging_config.proto
+
+ ../target/generated-test-sources/proto/google/logging/v2
+
+
+
+
+ download-logging-metrics-proto
+ generate-test-sources
+
+ wget
+
+
+
+ https://raw.githubusercontent.com/googleapis/googleapis/${googleapis.commit}/google/logging/v2/logging_metrics.proto
+
+ ../target/generated-test-sources/proto/google/logging/v2
+
+
+
+
+
+
+
+ org.xolstice.maven.plugins
+ protobuf-maven-plugin
+ 0.6.1
+
+ com.google.protobuf:protoc:3.21.7:exe:${os.detected.classifier}
+
+
+
+
+ compile-protos
+
+ compile
+
+
+ ../src/main/proto
+
+
+
+ compile-downloaded-protos
+
+ compile
+
+
+ ../target/generated-sources/proto
+ false
+
+
+
+ compile-test-protos
+
+ test-compile
+
+
+ ../src/test/proto
+ true
+ true
+ true
+ test-proto.descriptorset
+
+
+
+ compile-downloaded-test-protos
+
+ test-compile
+
+
+ ../target/generated-test-sources/proto
+ false
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+ 3.0.0-M7
+
+
+
+ ../target/generated-test-resources/protobuf/descriptor-sets
+
+
+ ../
+
+
+
+
+
+ org.jacoco
+ jacoco-maven-plugin
+ 0.8.8
+
+
+
+ prepare-agent
+
+
+
+ report
+ test
+
+ report
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+ 3.4.1
+
+
+ package
+
+ shade
+
+
+ false
+
+
+ *:*
+
+ META-INF/*.SF
+ META-INF/*.DSA
+ META-INF/*.RSA
+
+
+
+
+
+
+
+
+
+
+
+
+ com.google.guava
+ guava
+
+
+ com.google.api
+ gax
+
+
+ com.google.api
+ gax
+ testlib
+
+
+ com.google.api
+ gax-grpc
+
+
+ com.google.api
+ gax-grpc
+ testlib
+
+
+ com.google.api
+ gax-httpjson
+
+
+ com.google.api
+ gax-httpjson
+ testlib
+
+
+ com.google.auto.value
+ auto-value-annotations
+
+
+ com.google.protobuf
+ protobuf-java-util
+
+
+ io.grpc
+ grpc-stub
+
+
+ io.grpc
+ grpc-protobuf
+
+
+ org.yaml
+ snakeyaml
+ 1.33
+
+
+ com.google.googlejavaformat
+ google-java-format
+ 1.7
+
+
+ junit
+ junit
+ 4.13.2
+
+
+
+
+ javax.annotation
+ javax.annotation-api
+
+
+
+ com.google.truth
+ truth
+ 1.1.3
+ test
+
+
+ io.github.java-diff-utils
+ java-diff-utils
+ 4.12
+ test
+
+
+
diff --git a/pom.xml b/pom.xml
index 83c2575efa..ad31faffd7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,349 +1,33 @@
-
+
+
4.0.0
com.google.api
- gapic-generator-java
+ gapic-generator-java-parent
0.0.1-SNAPSHOT
+ pom
-
- UTF-8
-
- 44d6bef0ca6db8bba3fb324c8186e694bcc4829c
-
-
-
-
-
- com.google.cloud
- google-cloud-shared-dependencies
- 3.0.6
- pom
- import
-
-
-
+
+ gapic-generator-java
+
+
-
-
- kr.motd.maven
- os-maven-plugin
- 1.7.1
-
-
-
- maven-compiler-plugin
- 3.10.1
+ org.apache.maven.plugins
+ maven-deploy-plugin
+ 3.0.0
- 8
- 8
-
-
- com.google.auto.value
- auto-value
- 1.10.1
-
-
+ true
-
com.coveo
fmt-maven-plugin
2.9.1
-
-
- com.googlecode.maven-download-plugin
- download-maven-plugin
- 1.6.8
-
-
- download-metadata-proto
- generate-sources
-
- wget
-
-
- https://raw.githubusercontent.com/googleapis/googleapis/${googleapis.commit}/gapic/metadata/gapic_metadata.proto
- ${project.build.directory}/generated-sources/proto/
-
-
-
- download-common-resources-proto
- generate-test-sources
-
- wget
-
-
- https://raw.githubusercontent.com/googleapis/googleapis/${googleapis.commit}/google/cloud/common_resources.proto
- ${project.build.directory}/generated-test-sources/proto/
-
-
-
- download-pubsub-proto
- generate-test-sources
-
- wget
-
-
- https://raw.githubusercontent.com/googleapis/googleapis/${googleapis.commit}/google/pubsub/v1/pubsub.proto
- ${project.build.directory}/generated-test-sources/proto/
-
-
-
- download-schema-proto
- generate-test-sources
-
- wget
-
-
- https://raw.githubusercontent.com/googleapis/googleapis/${googleapis.commit}/google/pubsub/v1/schema.proto
- ${project.build.directory}/generated-test-sources/proto/google/pubsub/v1/
-
-
-
- download-logging-proto
- generate-test-sources
-
- wget
-
-
- https://raw.githubusercontent.com/googleapis/googleapis/${googleapis.commit}/google/logging/v2/logging.proto
- ${project.build.directory}/generated-test-sources/proto/
-
-
-
- download-log-entry-proto
- generate-test-sources
-
- wget
-
-
- https://raw.githubusercontent.com/googleapis/googleapis/${googleapis.commit}/google/logging/v2/log_entry.proto
- ${project.build.directory}/generated-test-sources/proto/google/logging/v2/
-
-
-
- download-logging-config-proto
- generate-test-sources
-
- wget
-
-
- https://raw.githubusercontent.com/googleapis/googleapis/${googleapis.commit}/google/logging/v2/logging_config.proto
- ${project.build.directory}/generated-test-sources/proto/google/logging/v2/
-
-
-
- download-logging-metrics-proto
- generate-test-sources
-
- wget
-
-
- https://raw.githubusercontent.com/googleapis/googleapis/${googleapis.commit}/google/logging/v2/logging_metrics.proto
- ${project.build.directory}/generated-test-sources/proto/google/logging/v2/
-
-
-
-
-
-
- org.xolstice.maven.plugins
- protobuf-maven-plugin
- 0.6.1
-
- com.google.protobuf:protoc:3.21.7:exe:${os.detected.classifier}
-
-
-
- compile-protos
-
- compile
-
-
-
- compile-downloaded-protos
-
- compile
-
-
- ${project.build.directory}/generated-sources/proto/
- false
-
-
-
- compile-test-protos
-
- test-compile
-
-
- true
- true
- true
- test-proto.descriptorset
-
-
-
- compile-downloaded-test-protos
-
- test-compile
-
-
- ${project.build.directory}/generated-test-sources/proto/
- false
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-surefire-plugin
- 3.0.0-M7
-
-
- ${project.build.directory}/generated-test-resources/protobuf/descriptor-sets/
-
-
-
-
-
-
- org.jacoco
- jacoco-maven-plugin
- 0.8.8
-
-
-
- prepare-agent
-
-
-
- report
- test
-
- report
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-shade-plugin
- 3.4.1
-
-
- package
-
- shade
-
-
- false
-
-
- *:*
-
- META-INF/*.SF
- META-INF/*.DSA
- META-INF/*.RSA
-
-
-
-
-
-
-
-
-
-
- com.google.guava
- guava
-
-
- com.google.api
- gax
-
-
- com.google.api
- gax
- testlib
-
-
- com.google.api
- gax-grpc
-
-
- com.google.api
- gax-grpc
- testlib
-
-
- com.google.api
- gax-httpjson
-
-
- com.google.api
- gax-httpjson
- testlib
-
-
- com.google.auto.value
- auto-value-annotations
-
-
- com.google.protobuf
- protobuf-java-util
-
-
- io.grpc
- grpc-stub
-
-
- io.grpc
- grpc-protobuf
-
-
- org.yaml
- snakeyaml
- 1.33
-
-
- com.google.googlejavaformat
- google-java-format
- 1.7
-
-
- junit
- junit
- 4.13.2
-
-
-
-
- javax.annotation
- javax.annotation-api
-
-
-
- com.google.truth
- truth
- 1.1.3
- test
-
-
- io.github.java-diff-utils
- java-diff-utils
- 4.12
- test
-
-
-
+
\ No newline at end of file
diff --git a/src/test/java/com/google/api/generator/engine/JavaCodeGeneratorTest.java b/src/test/java/com/google/api/generator/engine/JavaCodeGeneratorTest.java
index 607ccd89f6..3bbc0808de 100644
--- a/src/test/java/com/google/api/generator/engine/JavaCodeGeneratorTest.java
+++ b/src/test/java/com/google/api/generator/engine/JavaCodeGeneratorTest.java
@@ -63,6 +63,7 @@
import org.junit.Test;
public class JavaCodeGeneratorTest {
+
private static final String GOLDENFILES_DIRECTORY =
"src/test/java/com/google/api/generator/engine/goldens/";
// Create shared VaporReferences.
diff --git a/src/test/java/com/google/api/generator/gapic/composer/grpc/GrpcTestProtoLoader.java b/src/test/java/com/google/api/generator/gapic/composer/grpc/GrpcTestProtoLoader.java
index 7270a2f14b..c6249121e5 100644
--- a/src/test/java/com/google/api/generator/gapic/composer/grpc/GrpcTestProtoLoader.java
+++ b/src/test/java/com/google/api/generator/gapic/composer/grpc/GrpcTestProtoLoader.java
@@ -18,6 +18,7 @@
import com.google.api.generator.gapic.model.Transport;
public class GrpcTestProtoLoader extends TestProtoLoader {
+
private static final GrpcTestProtoLoader INSTANCE = new GrpcTestProtoLoader();
protected GrpcTestProtoLoader() {
diff --git a/src/test/java/com/google/api/generator/gapic/model/GapicServiceConfigTest.java b/src/test/java/com/google/api/generator/gapic/model/GapicServiceConfigTest.java
index d7aefc8733..ca4cd84418 100644
--- a/src/test/java/com/google/api/generator/gapic/model/GapicServiceConfigTest.java
+++ b/src/test/java/com/google/api/generator/gapic/model/GapicServiceConfigTest.java
@@ -37,6 +37,7 @@
import org.junit.Test;
public class GapicServiceConfigTest {
+
private static final double EPSILON = 1e-4;
private static final String TESTDATA_DIRECTORY = "src/test/resources/";
diff --git a/src/test/java/com/google/api/generator/gapic/protoparser/BatchingSettingsConfigParserTest.java b/src/test/java/com/google/api/generator/gapic/protoparser/BatchingSettingsConfigParserTest.java
index 3dfc6373c0..3430c2585d 100644
--- a/src/test/java/com/google/api/generator/gapic/protoparser/BatchingSettingsConfigParserTest.java
+++ b/src/test/java/com/google/api/generator/gapic/protoparser/BatchingSettingsConfigParserTest.java
@@ -27,6 +27,7 @@
import org.junit.Test;
public class BatchingSettingsConfigParserTest {
+
private static final String YAML_DIRECTORY = "src/test/resources/";
@Test
diff --git a/src/test/java/com/google/api/generator/gapic/protoparser/GapicLanguageSettingsParserTest.java b/src/test/java/com/google/api/generator/gapic/protoparser/GapicLanguageSettingsParserTest.java
index 3a6fbed745..868231d516 100644
--- a/src/test/java/com/google/api/generator/gapic/protoparser/GapicLanguageSettingsParserTest.java
+++ b/src/test/java/com/google/api/generator/gapic/protoparser/GapicLanguageSettingsParserTest.java
@@ -24,6 +24,7 @@
import org.junit.Test;
public class GapicLanguageSettingsParserTest {
+
private static final String YAML_DIRECTORY = "src/test/resources/";
@Test
diff --git a/src/test/java/com/google/api/generator/gapic/protoparser/GapicLroRetrySettingsParserTest.java b/src/test/java/com/google/api/generator/gapic/protoparser/GapicLroRetrySettingsParserTest.java
index 37eb4bdd5f..0c7f8e7d82 100644
--- a/src/test/java/com/google/api/generator/gapic/protoparser/GapicLroRetrySettingsParserTest.java
+++ b/src/test/java/com/google/api/generator/gapic/protoparser/GapicLroRetrySettingsParserTest.java
@@ -25,6 +25,7 @@
import org.junit.Test;
public class GapicLroRetrySettingsParserTest {
+
private static final double DELTA = 0.0001;
private static final String YAML_DIRECTORY = "src/test/resources/";
diff --git a/src/test/java/com/google/api/generator/gapic/protoparser/ServiceConfigParserTest.java b/src/test/java/com/google/api/generator/gapic/protoparser/ServiceConfigParserTest.java
index 6d9318969e..8a27f7fd4f 100644
--- a/src/test/java/com/google/api/generator/gapic/protoparser/ServiceConfigParserTest.java
+++ b/src/test/java/com/google/api/generator/gapic/protoparser/ServiceConfigParserTest.java
@@ -28,6 +28,7 @@
import org.junit.Test;
public class ServiceConfigParserTest {
+
private static final String JSON_DIRECTORY = "src/test/resources/";
private static final double EPSILON = 1e-4;
diff --git a/src/test/java/com/google/api/generator/gapic/protoparser/ServiceYamlParserTest.java b/src/test/java/com/google/api/generator/gapic/protoparser/ServiceYamlParserTest.java
index dd38903051..8df9ddcf84 100644
--- a/src/test/java/com/google/api/generator/gapic/protoparser/ServiceYamlParserTest.java
+++ b/src/test/java/com/google/api/generator/gapic/protoparser/ServiceYamlParserTest.java
@@ -23,6 +23,7 @@
import org.junit.Test;
public class ServiceYamlParserTest {
+
private static final String YAML_DIRECTORY = "src/test/resources/";
@Test
diff --git a/src/test/java/com/google/api/generator/gapic/protoparser/SourceCodeInfoParserTest.java b/src/test/java/com/google/api/generator/gapic/protoparser/SourceCodeInfoParserTest.java
index 36ca5d15f8..40b9eb12f0 100644
--- a/src/test/java/com/google/api/generator/gapic/protoparser/SourceCodeInfoParserTest.java
+++ b/src/test/java/com/google/api/generator/gapic/protoparser/SourceCodeInfoParserTest.java
@@ -25,14 +25,18 @@
import com.google.protobuf.Descriptors.FileDescriptor;
import com.google.protobuf.Descriptors.OneofDescriptor;
import com.google.protobuf.Descriptors.ServiceDescriptor;
-import java.io.FileInputStream;
+import java.io.IOException;
import java.io.InputStream;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;
import org.junit.Before;
import org.junit.Test;
public class SourceCodeInfoParserTest {
+
private static final String BASIC_PROTO = "basic.proto";
private static final String PROTO_DESCRIPTOR_SET = "test-proto.descriptorset";
@@ -151,12 +155,7 @@ public void getOnoeofInfo() {
* @return the top level target protoFile descriptor
*/
private static FileDescriptor buildFileDescriptor() throws Exception {
- InputStream testProto =
- SourceCodeInfoParserTest.class.getClassLoader().getResourceAsStream(PROTO_DESCRIPTOR_SET);
- if (testProto == null) { // TODO: only for Bazel build. Remove when we don't build with Bazel.
- testProto = new FileInputStream(PROTO_DESCRIPTOR_SET);
- }
- try (InputStream in = testProto) {
+ try (InputStream in = newDescriptorSetInputStream()) {
List protoFileList = FileDescriptorSet.parseFrom(in).getFileList();
List deps = new ArrayList<>();
for (FileDescriptorProto proto : protoFileList) {
@@ -170,4 +169,15 @@ private static FileDescriptor buildFileDescriptor() throws Exception {
}
return null;
}
+
+ private static InputStream newDescriptorSetInputStream() throws IOException {
+ Path path =
+ Paths.get("target/generated-test-resources/protobuf/descriptor-sets", PROTO_DESCRIPTOR_SET);
+
+ if (path.toFile().exists()) {
+ return Files.newInputStream(path);
+ }
+ // TODO: only for Bazel build. Remove when we don't build with Bazel.
+ return Files.newInputStream(Paths.get(PROTO_DESCRIPTOR_SET));
+ }
}
diff --git a/src/test/java/com/google/api/generator/test/framework/Utils.java b/src/test/java/com/google/api/generator/test/framework/Utils.java
index cb423046fb..5960b722ef 100644
--- a/src/test/java/com/google/api/generator/test/framework/Utils.java
+++ b/src/test/java/com/google/api/generator/test/framework/Utils.java
@@ -20,6 +20,7 @@
import java.nio.file.Paths;
public class Utils {
+
/**
* Save the generated code from JUnit test to a file for updating goldens. The relative path
* `com/google/..` which is identical with the location of goldens files which will help us easily
@@ -74,6 +75,7 @@ public static String getGoldenDir(Class> clazz) {
}
public static class SaveCodegenToFileException extends RuntimeException {
+
public SaveCodegenToFileException(String errorMessage) {
super(errorMessage);
}
diff --git a/src/test/java/com/google/api/generator/util/TestUtils.java b/src/test/java/com/google/api/generator/util/TestUtils.java
index 87ccb5832d..ee509e0fee 100644
--- a/src/test/java/com/google/api/generator/util/TestUtils.java
+++ b/src/test/java/com/google/api/generator/util/TestUtils.java
@@ -23,6 +23,7 @@
import com.google.api.generator.engine.ast.VariableExpr;
public class TestUtils {
+
public static ValueExpr generateStringValueExpr(String value) {
return ValueExpr.builder().setValue(StringObjectValue.withValue(value)).build();
}