From 5c53259212a1e30c7958de261afb9baa5958ba10 Mon Sep 17 00:00:00 2001 From: Mridula Peddada Date: Wed, 16 Mar 2022 18:33:40 -0400 Subject: [PATCH 1/2] fix(java): register test class for reflection to fix native image test --- .../features/clients/SpannerFeature.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/native-image-support/src/main/java/com/google/cloud/nativeimage/features/clients/SpannerFeature.java b/native-image-support/src/main/java/com/google/cloud/nativeimage/features/clients/SpannerFeature.java index 7c9fca1421..fdeded7fa4 100644 --- a/native-image-support/src/main/java/com/google/cloud/nativeimage/features/clients/SpannerFeature.java +++ b/native-image-support/src/main/java/com/google/cloud/nativeimage/features/clients/SpannerFeature.java @@ -29,6 +29,7 @@ final class SpannerFeature implements Feature { private static final String SPANNER_CLASS = "com.google.spanner.v1.SpannerGrpc"; private static final String SPANNER_TEST_CLASS = "com.google.cloud.spanner.GceTestEnvConfig"; + private static final String MOCK_CLASS = "com.google.cloud.spanner.MockDatabaseAdminServiceImpl"; private static final String CLIENT_SIDE_IMPL_CLASS = "com.google.cloud.spanner.connection.ClientSideStatementImpl"; private static final String CLIENT_SIDE_VALUE_CONVERTER = @@ -50,10 +51,7 @@ final class SpannerFeature implements Feature { @Override public void beforeAnalysis(BeforeAnalysisAccess access) { - Class spannerTestClass = access.findClassByName(SPANNER_TEST_CLASS); - if (spannerTestClass != null) { - NativeImageUtils.registerConstructorsForReflection(access, SPANNER_TEST_CLASS); - } + registerSpannerTestClasses(access); if (access.findClassByName(CLIENT_SIDE_IMPL_CLASS) != null) { NativeImageUtils.registerClassHierarchyForReflection(access, CLIENT_SIDE_IMPL_CLASS); } @@ -103,4 +101,14 @@ public void beforeAnalysis(BeforeAnalysisAccess access) { "\\Qcom/google/cloud/spanner/connection/ITSqlScriptTest_TestQueryOptions.sql\\E"); } } + private void registerSpannerTestClasses(BeforeAnalysisAccess access){ + Class spannerTestClass = access.findClassByName(SPANNER_TEST_CLASS); + if (spannerTestClass != null) { + NativeImageUtils.registerConstructorsForReflection(access, SPANNER_TEST_CLASS); + } + Class mockClass = access.findClassByName(MOCK_CLASS); + if (mockClass != null) { + NativeImageUtils.registerClassForReflection(access, "com.google.cloud.spanner.MockDatabaseAdminServiceImpl$MockBackup"); + } + } } From 7ea5bb5b95834bcc62a9c1cb020b05f50278c66d Mon Sep 17 00:00:00 2001 From: Owl Bot Date: Wed, 16 Mar 2022 22:46:39 +0000 Subject: [PATCH 2/2] =?UTF-8?q?=F0=9F=A6=89=20Updates=20from=20OwlBot=20po?= =?UTF-8?q?st-processor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --- .../cloud/nativeimage/features/clients/SpannerFeature.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/native-image-support/src/main/java/com/google/cloud/nativeimage/features/clients/SpannerFeature.java b/native-image-support/src/main/java/com/google/cloud/nativeimage/features/clients/SpannerFeature.java index fdeded7fa4..956f368dac 100644 --- a/native-image-support/src/main/java/com/google/cloud/nativeimage/features/clients/SpannerFeature.java +++ b/native-image-support/src/main/java/com/google/cloud/nativeimage/features/clients/SpannerFeature.java @@ -101,14 +101,16 @@ public void beforeAnalysis(BeforeAnalysisAccess access) { "\\Qcom/google/cloud/spanner/connection/ITSqlScriptTest_TestQueryOptions.sql\\E"); } } - private void registerSpannerTestClasses(BeforeAnalysisAccess access){ + + private void registerSpannerTestClasses(BeforeAnalysisAccess access) { Class spannerTestClass = access.findClassByName(SPANNER_TEST_CLASS); if (spannerTestClass != null) { NativeImageUtils.registerConstructorsForReflection(access, SPANNER_TEST_CLASS); } Class mockClass = access.findClassByName(MOCK_CLASS); if (mockClass != null) { - NativeImageUtils.registerClassForReflection(access, "com.google.cloud.spanner.MockDatabaseAdminServiceImpl$MockBackup"); + NativeImageUtils.registerClassForReflection( + access, "com.google.cloud.spanner.MockDatabaseAdminServiceImpl$MockBackup"); } } }