Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add more GizmoAdaptor stuff #5670

Merged
merged 2 commits into from
Nov 22, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@
import io.quarkus.deployment.builditem.GeneratedClassBuildItem;
import io.quarkus.gizmo.ClassOutput;

public class GizmoAdaptor implements ClassOutput {
public class GeneratedClassGizmoAdaptor implements ClassOutput {

private final BuildProducer<GeneratedClassBuildItem> classOutput;
private final boolean applicationClass;

public GizmoAdaptor(BuildProducer<GeneratedClassBuildItem> classOutput, boolean applicationClass) {
public GeneratedClassGizmoAdaptor(BuildProducer<GeneratedClassBuildItem> classOutput, boolean applicationClass) {
this.classOutput = classOutput;
this.applicationClass = applicationClass;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@

import io.quarkus.deployment.AccessorFinder;
import io.quarkus.deployment.ApplicationArchive;
import io.quarkus.deployment.GizmoAdaptor;
import io.quarkus.deployment.GeneratedClassGizmoAdaptor;
import io.quarkus.deployment.annotations.BuildProducer;
import io.quarkus.deployment.annotations.BuildStep;
import io.quarkus.deployment.builditem.ApplicationArchivesBuildItem;
Expand Down Expand Up @@ -321,7 +321,7 @@ void finalizeConfigLoader(
Consumer<BytecodeRecorderObjectLoaderBuildItem> objectLoaderConsumer,
List<ConfigurationTypeBuildItem> configTypeItems,
List<RunTimeConfigurationSourceBuildItem> runTimeSources) {
final ClassOutput classOutput = new GizmoAdaptor(classConsumer, true);
final ClassOutput classOutput = new GeneratedClassGizmoAdaptor(classConsumer, true);

// General run time setup

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
import org.graalvm.nativeimage.ImageInfo;

import io.quarkus.builder.Version;
import io.quarkus.deployment.GizmoAdaptor;
import io.quarkus.deployment.GeneratedClassGizmoAdaptor;
import io.quarkus.deployment.annotations.BuildProducer;
import io.quarkus.deployment.annotations.BuildStep;
import io.quarkus.deployment.builditem.ApplicationClassNameBuildItem;
Expand Down Expand Up @@ -70,7 +70,7 @@ MainClassBuildItem build(List<StaticBytecodeRecorderBuildItem> staticInitTasks,
appClassNameProducer.produce(new ApplicationClassNameBuildItem(APP_CLASS));

// Application class
GizmoAdaptor gizmoOutput = new GizmoAdaptor(generatedClass, true);
GeneratedClassGizmoAdaptor gizmoOutput = new GeneratedClassGizmoAdaptor(generatedClass, true);
ClassCreator file = new ClassCreator(gizmoOutput, APP_CLASS, null,
Application.class.getName());

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
import io.quarkus.agroal.runtime.TransactionIntegration;
import io.quarkus.arc.deployment.BeanContainerListenerBuildItem;
import io.quarkus.arc.deployment.GeneratedBeanBuildItem;
import io.quarkus.arc.deployment.GeneratedBeanGizmoAdaptor;
import io.quarkus.arc.deployment.UnremovableBeanBuildItem;
import io.quarkus.arc.processor.DotNames;
import io.quarkus.deployment.annotations.BuildProducer;
Expand Down Expand Up @@ -220,12 +221,7 @@ UnremovableBeanBuildItem markBeansAsUnremovable() {
*/
private void createDataSourceProducerBean(BuildProducer<GeneratedBeanBuildItem> generatedBean,
String dataSourceProducerClassName) {
ClassOutput classOutput = new ClassOutput() {
@Override
public void write(String name, byte[] data) {
generatedBean.produce(new GeneratedBeanBuildItem(name, data));
}
};
ClassOutput classOutput = new GeneratedBeanGizmoAdaptor(generatedBean);

ClassCreator classCreator = ClassCreator.builder().classOutput(classOutput)
.className(dataSourceProducerClassName)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package io.quarkus.arc.deployment;

import io.quarkus.deployment.annotations.BuildProducer;
import io.quarkus.gizmo.ClassOutput;

public class GeneratedBeanGizmoAdaptor implements ClassOutput {

private final BuildProducer<GeneratedBeanBuildItem> classOutput;

public GeneratedBeanGizmoAdaptor(BuildProducer<GeneratedBeanBuildItem> classOutput) {
this.classOutput = classOutput;
}

@Override
public void write(String s, byte[] bytes) {
classOutput.produce(new GeneratedBeanBuildItem(s, bytes));
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@
import io.quarkus.arc.config.ConfigProperties;
import io.quarkus.arc.deployment.ConfigPropertyBuildItem;
import io.quarkus.arc.deployment.GeneratedBeanBuildItem;
import io.quarkus.deployment.GizmoAdaptor;
import io.quarkus.arc.deployment.GeneratedBeanGizmoAdaptor;
import io.quarkus.deployment.GeneratedClassGizmoAdaptor;
import io.quarkus.deployment.annotations.BuildProducer;
import io.quarkus.deployment.annotations.BuildStep;
import io.quarkus.deployment.builditem.ApplicationIndexBuildItem;
Expand All @@ -48,14 +49,8 @@ void setup(CombinedIndexBuildItem combinedIndex,
return;
}

ClassOutput beansClassOutput = new ClassOutput() {
@Override
public void write(String name, byte[] data) {
generatedBeans.produce(new GeneratedBeanBuildItem(name, data));
}
};

ClassOutput nonBeansClassOutput = new GizmoAdaptor(generatedClasses, true);
ClassOutput beansClassOutput = new GeneratedBeanGizmoAdaptor(generatedBeans);
ClassOutput nonBeansClassOutput = new GeneratedClassGizmoAdaptor(generatedClasses, true);

/*
* We generate CDI producer bean containing one method for each of the @ConfigProperties
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@

import io.quarkus.arc.deployment.AdditionalBeanBuildItem;
import io.quarkus.arc.deployment.GeneratedBeanBuildItem;
import io.quarkus.arc.deployment.GeneratedBeanGizmoAdaptor;
import io.quarkus.deployment.Capabilities;
import io.quarkus.deployment.annotations.BuildProducer;
import io.quarkus.deployment.annotations.BuildStep;
Expand Down Expand Up @@ -138,12 +139,7 @@ void generateCustomizer(BuildProducer<GeneratedBeanBuildItem> generatedBeans,
return;
}

ClassOutput classOutput = new ClassOutput() {
@Override
public void write(String name, byte[] data) {
generatedBeans.produce(new GeneratedBeanBuildItem(name, data));
}
};
ClassOutput classOutput = new GeneratedBeanGizmoAdaptor(generatedBeans);

try (ClassCreator classCreator = ClassCreator.builder().classOutput(classOutput)
.className("io.quarkus.jackson.customizer.RegisterSerializersAndDeserializersCustomizer")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
import io.quarkus.arc.deployment.AdditionalBeanBuildItem;
import io.quarkus.arc.deployment.BeanArchiveIndexBuildItem;
import io.quarkus.arc.deployment.GeneratedBeanBuildItem;
import io.quarkus.arc.deployment.GeneratedBeanGizmoAdaptor;
import io.quarkus.arc.deployment.UnremovableBeanBuildItem;
import io.quarkus.arc.processor.BeanInfo;
import io.quarkus.deployment.Capabilities;
Expand Down Expand Up @@ -135,12 +136,7 @@ void generateCustomizer(BuildProducer<GeneratedBeanBuildItem> generatedBeans,
return;
}

ClassOutput classOutput = new ClassOutput() {
@Override
public void write(String name, byte[] data) {
generatedBeans.produce(new GeneratedBeanBuildItem(name, data));
}
};
ClassOutput classOutput = new GeneratedBeanGizmoAdaptor(generatedBeans);

try (ClassCreator classCreator = ClassCreator.builder().classOutput(classOutput)
.className("io.quarkus.jsonb.customizer.RegisterSerializersAndDeserializersCustomizer")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
import org.jboss.jandex.DotName;

import io.quarkus.deployment.Capabilities;
import io.quarkus.deployment.GizmoAdaptor;
import io.quarkus.deployment.GeneratedClassGizmoAdaptor;
import io.quarkus.deployment.annotations.BuildProducer;
import io.quarkus.deployment.annotations.BuildStep;
import io.quarkus.deployment.builditem.CombinedIndexBuildItem;
Expand Down Expand Up @@ -126,7 +126,7 @@ public void build(CombinedIndexBuildItem indexBuildItem, BuildProducer<Reflectiv
@BuildStep
public void replaceJava9Code(BuildProducer<GeneratedClassBuildItem> producer) {
// make our own class output to ensure that our step is run.
ClassOutput classOutput = new GizmoAdaptor(producer, false);
ClassOutput classOutput = new GeneratedClassGizmoAdaptor(producer, false);
try (ClassCreator cc = ClassCreator.builder().className(TARGET_JAVA_9_CHECKSUM_FACTORY)
.classOutput(classOutput).setFinal(true).superClass(Object.class).build()) {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
import io.quarkus.arc.processor.BuiltinScope;
import io.quarkus.arc.processor.DotNames;
import io.quarkus.deployment.Capabilities;
import io.quarkus.deployment.GizmoAdaptor;
import io.quarkus.deployment.GeneratedClassGizmoAdaptor;
import io.quarkus.deployment.annotations.BuildProducer;
import io.quarkus.deployment.annotations.BuildStep;
import io.quarkus.deployment.annotations.Record;
Expand Down Expand Up @@ -215,7 +215,7 @@ public void build(SchedulerConfig config, SchedulerRecorder recorder, BeanContai

feature.produce(new FeatureBuildItem(FeatureBuildItem.SCHEDULER));
List<ScheduledMethodMetadata> scheduledMethods = new ArrayList<>();
ClassOutput classOutput = new GizmoAdaptor(generatedClass, true);
ClassOutput classOutput = new GeneratedClassGizmoAdaptor(generatedClass, true);

for (ScheduledBusinessMethodItem businessMethod : scheduledBusinessMethods) {
ScheduledMethodMetadata scheduledMethod = new ScheduledMethodMetadata();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import javax.enterprise.context.ApplicationScoped;

import io.quarkus.arc.deployment.GeneratedBeanBuildItem;
import io.quarkus.arc.deployment.GeneratedBeanGizmoAdaptor;
import io.quarkus.deployment.annotations.BuildProducer;
import io.quarkus.deployment.annotations.BuildStep;
import io.quarkus.gizmo.ClassCreator;
Expand All @@ -15,12 +16,7 @@ public class GenereateBeanBuildStep {
@BuildStep
public void generateSecuredBean(BuildProducer<GeneratedBeanBuildItem> generatedBeans) {

ClassOutput beansClassOutput = new ClassOutput() {
@Override
public void write(String name, byte[] data) {
generatedBeans.produce(new GeneratedBeanBuildItem(name, data));
}
};
ClassOutput beansClassOutput = new GeneratedBeanGizmoAdaptor(generatedBeans);
ClassCreator creator = ClassCreator.builder().className("io.quarkus.security.test.GeneratedBean")
.interfaces(io.quarkus.security.test.cdi.ext.GeneratedBean.class)
.classOutput(beansClassOutput).build();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
import io.quarkus.arc.processor.BuiltinScope;
import io.quarkus.arc.processor.DotNames;
import io.quarkus.arc.processor.InjectionPointInfo;
import io.quarkus.deployment.GizmoAdaptor;
import io.quarkus.deployment.GeneratedClassGizmoAdaptor;
import io.quarkus.deployment.annotations.BuildProducer;
import io.quarkus.deployment.annotations.BuildStep;
import io.quarkus.deployment.annotations.Record;
Expand Down Expand Up @@ -206,7 +206,7 @@ public void build(SmallRyeReactiveMessagingRecorder recorder, RecorderContext re

List<QuarkusMediatorConfiguration> configurations = new ArrayList<>(mediatorMethods.size());

ClassOutput classOutput = new GizmoAdaptor(generatedClass, true);
ClassOutput classOutput = new GeneratedClassGizmoAdaptor(generatedClass, true);

/*
* Go through the collected MediatorMethods and build up the corresponding MediaConfiguration
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@

import io.quarkus.arc.deployment.AdditionalBeanBuildItem;
import io.quarkus.arc.deployment.GeneratedBeanBuildItem;
import io.quarkus.arc.deployment.GeneratedBeanGizmoAdaptor;
import io.quarkus.deployment.annotations.BuildProducer;
import io.quarkus.deployment.annotations.BuildStep;
import io.quarkus.deployment.builditem.CombinedIndexBuildItem;
Expand Down Expand Up @@ -98,12 +99,7 @@ private void implementCrudRepositories(BuildProducer<GeneratedBeanBuildItem> gen
BuildProducer<AdditionalBeanBuildItem> additionalBeans,
List<ClassInfo> crudRepositoriesToImplement, IndexView index) {

ClassOutput classOutput = new ClassOutput() {
@Override
public void write(String name, byte[] data) {
generatedBeans.produce(new GeneratedBeanBuildItem(name, data));
}
};
ClassOutput classOutput = new GeneratedBeanGizmoAdaptor(generatedBeans);

// index the Spring Data repository interfaces that extend Repository because we need to pull the generic types from it
Indexer indexer = new Indexer();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
import io.quarkus.arc.deployment.BeanArchiveIndexBuildItem;
import io.quarkus.arc.deployment.BeanDefiningAnnotationBuildItem;
import io.quarkus.arc.processor.BuiltinScope;
import io.quarkus.deployment.GeneratedClassGizmoAdaptor;
import io.quarkus.deployment.IsDevelopment;
import io.quarkus.deployment.annotations.BuildProducer;
import io.quarkus.deployment.annotations.BuildStep;
Expand Down Expand Up @@ -337,12 +338,7 @@ public void generateExceptionMapperProviders(BeanArchiveIndexBuildItem beanArchi
// Look for all exception classes that are annotated with @ResponseStatus

IndexView index = beanArchiveIndexBuildItem.getIndex();
ClassOutput classOutput = new ClassOutput() {
@Override
public void write(String name, byte[] data) {
generatedExceptionMappers.produce(new GeneratedClassBuildItem(true, name, data));
}
};
ClassOutput classOutput = new GeneratedClassGizmoAdaptor(generatedExceptionMappers, false);
generateMappersForResponseStatusOnException(providersProducer, index, classOutput, typesUtil);
generateMappersForExceptionHandlerInControllerAdvice(providersProducer, reflectiveClassProducer, index, classOutput,
typesUtil);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
import io.quarkus.arc.processor.BuildExtension;
import io.quarkus.arc.processor.BuiltinScope;
import io.quarkus.arc.processor.DotNames;
import io.quarkus.deployment.GizmoAdaptor;
import io.quarkus.deployment.GeneratedClassGizmoAdaptor;
import io.quarkus.deployment.annotations.BuildProducer;
import io.quarkus.deployment.annotations.BuildStep;
import io.quarkus.deployment.annotations.ExecutionTime;
Expand Down Expand Up @@ -132,7 +132,7 @@ void addAdditionalRoutes(
BodyHandlerBuildItem bodyHandler,
BuildProducer<RouteBuildItem> routeProducer) throws IOException {

ClassOutput classOutput = new GizmoAdaptor(generatedClass, true);
ClassOutput classOutput = new GeneratedClassGizmoAdaptor(generatedClass, true);
for (AnnotatedRouteHandlerBuildItem businessMethod : routeHandlerBusinessMethods) {
String handlerClass = generateHandler(businessMethod.getBean(), businessMethod.getMethod(), classOutput);
reflectiveClasses.produce(new ReflectiveClassBuildItem(false, false, handlerClass));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
import io.quarkus.arc.processor.BeanInfo;
import io.quarkus.arc.processor.BuildExtension;
import io.quarkus.deployment.Capabilities;
import io.quarkus.deployment.GizmoAdaptor;
import io.quarkus.deployment.GeneratedClassGizmoAdaptor;
import io.quarkus.deployment.annotations.BuildProducer;
import io.quarkus.deployment.annotations.BuildStep;
import io.quarkus.deployment.annotations.ExecutionTime;
Expand Down Expand Up @@ -71,7 +71,7 @@ VertxBuildItem build(CoreVertxBuildItem internalVertx, VertxRecorder recorder, B
BuildProducer<ServiceStartBuildItem> serviceStart,
List<MessageCodecBuildItem> codecs, RecorderContext recorderContext) {
Map<String, ConsumeEvent> messageConsumerConfigurations = new HashMap<>();
ClassOutput classOutput = new GizmoAdaptor(generatedClass, true);
ClassOutput classOutput = new GeneratedClassGizmoAdaptor(generatedClass, true);
for (EventConsumerBusinessMethodItem businessMethod : messageConsumerBusinessMethods) {
String invokerClass = EventBusConsumer.generateInvoker(businessMethod.getBean(), businessMethod.getMethod(),
businessMethod.getConsumeEvent(), classOutput);
Expand Down