Skip to content
This repository was archived by the owner on Apr 2, 2023. It is now read-only.

Commit 20a27af

Browse files
authored
Use alternate JSON client language header method (#83)
1 parent b5219df commit 20a27af

File tree

2 files changed

+15
-26
lines changed

2 files changed

+15
-26
lines changed

google-cloud-graalvm-support/src/main/java/com/google/cloud/graalvm/features/substitutions/ApiClientVersionSubstitutions.java

Lines changed: 13 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,7 @@
1717
package com.google.cloud.graalvm.features.substitutions;
1818

1919
import com.oracle.svm.core.annotate.Alias;
20-
import com.oracle.svm.core.annotate.RecomputeFieldValue;
21-
import com.oracle.svm.core.annotate.RecomputeFieldValue.CustomFieldValueTransformer;
22-
import com.oracle.svm.core.annotate.RecomputeFieldValue.Kind;
20+
import com.oracle.svm.core.annotate.Substitute;
2321
import com.oracle.svm.core.annotate.TargetClass;
2422
import java.util.function.BooleanSupplier;
2523

@@ -33,33 +31,23 @@
3331
final class ApiClientVersionSubstitutions {
3432

3533
@Alias
36-
@RecomputeFieldValue(kind = Kind.Custom, declClass = ApiVersionTransformer.class)
37-
private static String DEFAULT_VERSION;
34+
private String versionString;
3835

39-
private ApiClientVersionSubstitutions() {
40-
}
41-
42-
static class ApiVersionTransformer implements CustomFieldValueTransformer {
43-
44-
@Override
45-
public Object transform(
46-
jdk.vm.ci.meta.MetaAccessProvider metaAccess,
47-
jdk.vm.ci.meta.ResolvedJavaField original,
48-
jdk.vm.ci.meta.ResolvedJavaField annotated,
49-
Object receiver,
50-
Object originalValue) {
51-
String originalHeader = (String) originalValue;
52-
String[] tokens = originalHeader.split(" ");
36+
@Substitute
37+
public String toString() {
38+
String[] tokens = versionString.split(" ");
5339

54-
if (tokens.length > 0 && tokens[0].startsWith("gl-java")) {
55-
tokens[0] += "-graalvm";
56-
return String.join(" ", tokens);
57-
} else {
58-
return originalValue;
59-
}
40+
if (tokens.length > 0 && tokens[0].startsWith("gl-java")) {
41+
tokens[0] += "-graalvm";
42+
return String.join(" ", tokens);
43+
} else {
44+
return versionString;
6045
}
6146
}
6247

48+
private ApiClientVersionSubstitutions() {
49+
}
50+
6351
static class OnlyIfInClassPath implements BooleanSupplier {
6452

6553
@Override

google-cloud-graalvm-support/src/main/resources/META-INF/native-image/com.google.cloud/google-cloud-graalvm-support/native-image.properties

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,5 @@ Args = -H:+AllowIncompleteClasspath --report-unsupported-elements-at-runtime \
88
io.grpc.netty.shaded.io.netty.internal.tcnative.SSLPrivateKeyMethod,\
99
io.grpc.netty.shaded.io.grpc.netty,\
1010
io.grpc.netty.shaded.io.netty.channel.epoll,\
11-
io.grpc.netty.shaded.io.netty.channel.unix
11+
io.grpc.netty.shaded.io.netty.channel.unix,\
12+
com.google.api.client.googleapis.services.AbstractGoogleClientRequest$ApiClientVersion

0 commit comments

Comments
 (0)