reproducible.

This commit is contained in:
Josh Long
2024-10-19 13:29:46 +03:00
parent a09972a29a
commit d17c0720fd

View File

@@ -21,9 +21,12 @@ import org.springframework.ai.openai.api.OpenAiImageApi;
import org.springframework.aot.hint.MemberCategory;
import org.springframework.aot.hint.RuntimeHints;
import org.springframework.aot.hint.RuntimeHintsRegistrar;
import org.springframework.aot.hint.TypeReference;
import org.springframework.lang.NonNull;
import org.springframework.lang.Nullable;
import java.util.Set;
import static org.springframework.ai.aot.AiRuntimeHints.findJsonAnnotatedClassesInPackage;
/**
@@ -36,14 +39,19 @@ import static org.springframework.ai.aot.AiRuntimeHints.findJsonAnnotatedClasses
*/
public class OpenAiRuntimeHints implements RuntimeHintsRegistrar {
private static Set<TypeReference> eval(Set<TypeReference> referenceSet) {
referenceSet.forEach(tr -> System.out.println(tr.toString()));
return referenceSet;
}
@Override
public void registerHints(@NonNull RuntimeHints hints, @Nullable ClassLoader classLoader) {
var mcs = MemberCategory.values();
for (var tr : findJsonAnnotatedClassesInPackage(OpenAiApi.class))
for (var tr : eval(findJsonAnnotatedClassesInPackage(OpenAiApi.class)))
hints.reflection().registerType(tr, mcs);
for (var tr : findJsonAnnotatedClassesInPackage(OpenAiAudioApi.class))
for (var tr : eval(findJsonAnnotatedClassesInPackage(OpenAiAudioApi.class)))
hints.reflection().registerType(tr, mcs);
for (var tr : findJsonAnnotatedClassesInPackage(OpenAiImageApi.class))
for (var tr : eval(findJsonAnnotatedClassesInPackage(OpenAiImageApi.class)))
hints.reflection().registerType(tr, mcs);
}