Skip to content

Commit 0715360

Browse files
authored
Merge pull request #175 from SentryMan/fix-client-static
fix client processor overriding OpenAPI
2 parents cc4e36b + ef62e24 commit 0715360

File tree

2 files changed

+24
-3
lines changed

2 files changed

+24
-3
lines changed

http-generator-client/src/main/java/io/avaje/http/generator/client/ClientProcessor.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,11 +48,20 @@ public SourceVersion getSupportedSourceVersion() {
4848
public synchronized void init(ProcessingEnvironment processingEnv) {
4949
super.init(processingEnv);
5050
this.processingEnv = processingEnv;
51-
ProcessingContext.init(processingEnv, new ClientPlatformAdapter());
51+
ProcessingContext.init(processingEnv, new ClientPlatformAdapter(), false);
5252
}
5353

5454
@Override
5555
public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment round) {
56+
57+
final var platform = platform();
58+
59+
if (platform instanceof ClientPlatformAdapter) {
60+
61+
} else {
62+
setPlatform(new ClientPlatformAdapter());
63+
}
64+
5665
for (final Element controller :
5766
round.getElementsAnnotatedWith(typeElement(ClientPrism.PRISM_TYPE))) {
5867
writeClient(controller);
@@ -64,6 +73,7 @@ public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment
6473
if (round.processingOver()) {
6574
writeServicesFile();
6675
}
76+
setPlatform(platform);
6777
return false;
6878
}
6979

http-generator-core/src/main/java/io/avaje/http/generator/core/ProcessingContext.java

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,20 @@ public class ProcessingContext {
3737
private static String diAnnotation;
3838

3939
public static void init(ProcessingEnvironment env, PlatformAdapter adapter) {
40+
init(env, adapter, true);
41+
}
42+
43+
public static void init(ProcessingEnvironment env, PlatformAdapter adapter, boolean generateOpenAPI) {
4044
readAdapter = adapter;
4145
messager = env.getMessager();
4246
filer = env.getFiler();
4347
elements = env.getElementUtils();
4448
types = env.getTypeUtils();
45-
openApiAvailable = isTypeAvailable(Constants.OPENAPIDEFINITION);
46-
docContext = new DocContext(env, openApiAvailable);
49+
50+
if (generateOpenAPI) {
51+
openApiAvailable = isTypeAvailable(Constants.OPENAPIDEFINITION);
52+
docContext = new DocContext(env, openApiAvailable);
53+
}
4754

4855
final var options = env.getOptions();
4956
final var singletonOverride = options.get("useSingleton");
@@ -139,6 +146,10 @@ public static PlatformAdapter platform() {
139146
return readAdapter;
140147
}
141148

149+
public static void setPlatform(PlatformAdapter platform) {
150+
readAdapter = platform;
151+
}
152+
142153
public static String diAnnotation() {
143154
return diAnnotation;
144155
}

0 commit comments

Comments
 (0)