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

Migrate extension configuration to @ConfigMapping #6975

Merged
merged 1 commit into from
Feb 5, 2025
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 @@ -77,7 +77,8 @@ Also, it can not use CDI injection in the RouteBuilder `configure()` since we ge

|icon:lock[title=Fixed at build time] [[quarkus.camel.openapi.expose.enabled]]`link:#quarkus.camel.openapi.expose.enabled[quarkus.camel.openapi.expose.enabled]`

Expose the Camel REST DSL services to quarkus openapi at build time if 'quarkus.smallrye-openapi' is available.
When set to true, Camel REST DSL OpenAPI specifications are exposed under the Quarkus OpenAPI HTTP endpoint
(/q/openapi). This requires quarkus-smallrye-openapi to be added to your application.
| `boolean`
| `false`
|===
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@ public static final class EventBridgeEnabled implements BooleanSupplier {

@Override
public boolean getAsBoolean() {
return config.eventBridge.enabled;
return config.eventBridge().enabled();
}
}

Expand All @@ -205,7 +205,7 @@ public static final class SourceLocationEnabled implements BooleanSupplier {

@Override
public boolean getAsBoolean() {
return config.sourceLocationEnabled;
return config.sourceLocationEnabled();
}
}

Expand All @@ -214,7 +214,7 @@ public static final class TraceEnabled implements BooleanSupplier {

@Override
public boolean getAsBoolean() {
return config.trace.enabled || config.trace.standby;
return config.trace().enabled() || config.trace().standby();
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -176,36 +176,37 @@ List<NativeImageResourceBuildItem> camelRuntimeCatalog(
PathFilter.Builder::combine)
.build();

CamelConfig.RuntimeCatalogConfig runtimeCatalog = config.runtimeCatalog();
CamelSupport.services(archives, pathFilter)
.filter(service -> service.name != null && service.type != null && service.path != null)
.forEach(service -> {

String packageName = getPackageName(service.type);
String jsonPath = String.format("META-INF/%s/%s.json", packageName.replace('.', '/'), service.name);

if (config.runtimeCatalog.components
if (runtimeCatalog.components()
&& service.path.startsWith(DefaultComponentResolver.RESOURCE_PATH)) {
resources.add(new NativeImageResourceBuildItem(jsonPath));
}
if (config.runtimeCatalog.dataformats
if (runtimeCatalog.dataformats()
&& service.path.startsWith(DefaultDataFormatResolver.DATAFORMAT_RESOURCE_PATH)) {
resources.add(new NativeImageResourceBuildItem(jsonPath));
}
if (config.runtimeCatalog.devconsoles
if (runtimeCatalog.devconsoles()
&& service.path.startsWith(DefaultDevConsoleResolver.DEV_CONSOLE_RESOURCE_PATH)) {
resources.add(new NativeImageResourceBuildItem(jsonPath));
}
if (config.runtimeCatalog.languages
if (runtimeCatalog.languages()
&& service.path.startsWith(DefaultLanguageResolver.LANGUAGE_RESOURCE_PATH)) {
resources.add(new NativeImageResourceBuildItem(jsonPath));
}
if (config.runtimeCatalog.transformers
if (runtimeCatalog.transformers()
&& service.path.startsWith(DefaultTransformerResolver.DATA_TYPE_TRANSFORMER_RESOURCE_PATH)) {
resources.add(new NativeImageResourceBuildItem(jsonPath));
}
});

if (config.runtimeCatalog.models) {
if (runtimeCatalog.models()) {
for (ApplicationArchive archive : archives.getAllApplicationArchives()) {
for (Path root : archive.getRootDirectories()) {
final Path resourcePath = root.resolve(CamelContextHelper.MODEL_DOCUMENTATION_PREFIX);
Expand Down Expand Up @@ -237,20 +238,20 @@ List<NativeImageResourceBuildItem> camelRuntimeCatalog(
void reflection(CamelConfig config, ApplicationArchivesBuildItem archives,
BuildProducer<ReflectiveClassBuildItem> reflectiveClasses) {

final ReflectionConfig reflectionConfig = config.native_.reflection;
if (!reflectionConfig.includePatterns.isPresent()) {
final ReflectionConfig reflectionConfig = config.native_().reflection();
if (reflectionConfig.includePatterns().isEmpty()) {
LOGGER.debug("No classes registered for reflection via quarkus.camel.native.reflection.include-patterns");
return;
}

LOGGER.debug("Scanning resources for native inclusion from include-patterns {}",
reflectionConfig.includePatterns.get());
reflectionConfig.includePatterns().get());

final PathFilter.Builder builder = new PathFilter.Builder();
reflectionConfig.includePatterns.map(Collection::stream).orElseGet(Stream::empty)
reflectionConfig.includePatterns().map(Collection::stream).orElseGet(Stream::empty)
.map(className -> className.replace('.', '/'))
.forEach(builder::include);
reflectionConfig.excludePatterns.map(Collection::stream).orElseGet(Stream::empty)
reflectionConfig.excludePatterns().map(Collection::stream).orElseGet(Stream::empty)
.map(className -> className.replace('.', '/'))
.forEach(builder::exclude);
final PathFilter pathFilter = builder.build();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -185,22 +185,24 @@ void userServicePatterns(
CamelConfig camelConfig,
BuildProducer<CamelServicePatternBuildItem> services) {

camelConfig.service.discovery.includePatterns.ifPresent(list -> services.produce(new CamelServicePatternBuildItem(
CamelConfig.ServiceDiscoveryConfig discovery = camelConfig.service().discovery();
discovery.includePatterns().ifPresent(list -> services.produce(new CamelServicePatternBuildItem(
CamelServiceDestination.DISCOVERY,
true,
list)));

camelConfig.service.discovery.excludePatterns.ifPresent(list -> services.produce(new CamelServicePatternBuildItem(
discovery.excludePatterns().ifPresent(list -> services.produce(new CamelServicePatternBuildItem(
CamelServiceDestination.DISCOVERY,
false,
list)));

camelConfig.service.registry.includePatterns.ifPresent(list -> services.produce(new CamelServicePatternBuildItem(
CamelConfig.ServiceRegistryConfig registry = camelConfig.service().registry();
registry.includePatterns().ifPresent(list -> services.produce(new CamelServicePatternBuildItem(
CamelServiceDestination.REGISTRY,
true,
list)));

camelConfig.service.registry.excludePatterns.ifPresent(list -> services.produce(new CamelServicePatternBuildItem(
registry.excludePatterns().ifPresent(list -> services.produce(new CamelServicePatternBuildItem(
CamelServiceDestination.REGISTRY,
false,
list)));
Expand Down Expand Up @@ -256,7 +258,7 @@ CamelTypeConverterRegistryBuildItem typeConverterRegistry(
IndexView index = combinedIndex.getIndex();

RuntimeValue<TypeConverterRegistry> typeConverterRegistry = recorder
.createTypeConverterRegistry(config.typeConverter.statisticsEnabled);
.createTypeConverterRegistry(config.typeConverter().statisticsEnabled());

//
// This should be simplified by searching for classes implementing TypeConverterLoader but that
Expand Down Expand Up @@ -394,8 +396,8 @@ public List<CamelRoutesBuilderClassBuildItem> discoverRoutesBuilderClassNames(
routesBuilderClassExcludes.stream()
.map(RoutesBuilderClassExcludeBuildItem::getPattern)
.collect(Collectors.toList()))
.exclude(camelConfig.routesDiscovery.excludePatterns)
.include(camelConfig.routesDiscovery.includePatterns)
.exclude(camelConfig.routesDiscovery().excludePatterns())
.include(camelConfig.routesDiscovery().includePatterns())
.build().asDotNamePredicate();

return allKnownImplementors
Expand All @@ -418,7 +420,7 @@ CamelComponentNameResolverBuildItem componentNameResolver(

PathFilter pathFilter = new PathFilter.Builder()
.include("META-INF/services/org/apache/camel/component/*")
.exclude(camelConfig.service.registry.excludePatterns)
.exclude(camelConfig.service().registry().excludePatterns())
.build();

Set<String> componentNames = CamelSupport.services(applicationArchives, pathFilter)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,8 +92,8 @@ public void bindBeansToRegistry(
PathFilter.Builder::new,
(builder, patterns) -> builder.patterns(patterns.isInclude(), patterns.getPatterns()),
PathFilter.Builder::combine)
.include(camelConfig.service.registry.includePatterns)
.exclude(camelConfig.service.registry.excludePatterns)
.include(camelConfig.service().registry().includePatterns())
.exclude(camelConfig.service().registry().excludePatterns())
.build();

CamelSupport.services(applicationArchives, pathFilter)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,8 +72,8 @@ public class CamelSerializationProcessor {

@BuildStep
void produceSerializationBuildItem(CamelConfig config, BuildProducer<CamelSerializationBuildItem> serializationBuildItems) {
final CamelConfig.ReflectionConfig reflectionConfig = config.native_.reflection;
if (reflectionConfig.serializationEnabled) {
final CamelConfig.ReflectionConfig reflectionConfig = config.native_().reflection();
if (reflectionConfig.serializationEnabled()) {
LOGGER.debug(
"Registration of basic types for serialization is enabled via quarkus.camel.native.reflection.serialization-enabled");
serializationBuildItems.produce(new CamelSerializationBuildItem());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ void unremovableBeans(BuildProducer<AdditionalBeanBuildItem> beanProducer) {
@BuildStep
@Record(value = ExecutionTime.STATIC_INIT, optional = true)
public CamelRoutesLoaderBuildItems.Registry routesLoader(CamelConfig config, CamelRecorder recorder) {
return config.routesDiscovery.enabled
return config.routesDiscovery().enabled()
? new CamelRoutesLoaderBuildItems.Registry(recorder.newDefaultRegistryRoutesLoader())
: new CamelRoutesLoaderBuildItems.Registry(recorder.newDisabledRegistryRoutesLoader());
}
Expand Down Expand Up @@ -113,7 +113,7 @@ CamelMainBuildItem main(
context.getCamelContext(),
routesCollector.getValue(),
beanContainer.getValue(),
config.arguments.onUnknown);
config.arguments().onUnknown());

for (CamelRoutesBuilderClassBuildItem item : routesBuilderClasses) {
// don't add routes builders that are known by the container
Expand Down Expand Up @@ -189,7 +189,7 @@ CamelRuntimeBuildItem runtime(
recorder.createRuntime(
beanContainer.getValue(),
main.getInstance(),
camelMainConfig.shutdown.timeout.toMillis()),
camelMainConfig.shutdown().timeout().toMillis()),
index.getIndex().getAnnotations(DotName.createSimple(QuarkusMain.class.getName())).isEmpty());
}

Expand Down
3 changes: 0 additions & 3 deletions extensions-core/core/runtime/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -117,9 +117,6 @@
<version>${quarkus.version}</version>
</path>
</annotationProcessorPaths>
<compilerArgs>
<arg>-AlegacyConfigRoot=true</arg>
</compilerArgs>
</configuration>
</plugin>
</plugins>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ public void run() {

public void start(CamelRuntimeConfig camelRuntimeConfig, RuntimeValue<CamelRuntime> runtime, Supplier<String[]> arguments,
String camelQuarkusVersion) {
if (camelRuntimeConfig.bootstrap.enabled) {
if (camelRuntimeConfig.bootstrap().enabled()) {
try {
Logger logger = Logger.getLogger(CamelBootstrapRecorder.class);
logger.infof("Apache Camel Quarkus %s is starting", camelQuarkusVersion);
Expand Down
Loading