This is an automated email from the ASF dual-hosted git repository.
JiriOndrusek pushed a commit to branch camel-main
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
The following commit(s) were added to refs/heads/camel-main by this push:
new 2391503dd0 Align camel-quarkus with Camel main
2391503dd0 is described below
commit 2391503dd01a74efcfb10b4a607dbfc6e8ed6c3c
Author: Jiri Ondrusek <[email protected]>
AuthorDate: Tue Sep 1 09:53:51 2026 +0200
Align camel-quarkus with Camel main
- Add the new org.apache.camel:camel-ai-resource dependency to the BOM.
- Fix camel-quarkus-console for the reworked Camel dev console.
- Remove the csimple extension.
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
---
catalog/pom.xml | 13 -
docs/modules/ROOT/examples/languages/csimple.yml | 13 -
docs/modules/ROOT/examples/others/mcp-server.yml | 2 +-
.../examples/others/reactive-executor-vertx.yml | 13 -
docs/modules/ROOT/nav.adoc | 1 -
.../ROOT/pages/reference/extensions/core.adoc | 6 -
.../ROOT/pages/reference/extensions/csimple.adoc | 82 ------
.../reference/extensions/reactive-executor.adoc | 13 +-
.../spi/CompiledCSimpleExpressionBuildItem.java | 57 -----
.../org/apache/camel/quarkus/core/CamelConfig.java | 22 --
.../console/ConsoleEnabledWithDevProfileTest.java | 5 +-
.../component/console/CamelConsoleRecorder.java | 1 -
.../console/QuarkusPropertiesDevConsole.java | 56 -----
extensions/csimple/deployment/pom.xml | 65 -----
.../CSimpleExpressionSourceBuildItem.java | 58 -----
.../csimple/deployment/CSimpleProcessor.java | 279 ---------------------
extensions/csimple/pom.xml | 37 ---
extensions/csimple/runtime/pom.xml | 72 ------
.../csimple/runtime/src/main/doc/limitations.adoc | 32 ---
.../component/csimple/CSimpleLanguageRecorder.java | 40 ---
.../main/resources/META-INF/quarkus-extension.yaml | 36 ---
extensions/mcp-server/runtime/pom.xml | 2 +-
.../main/resources/META-INF/quarkus-extension.yaml | 2 +-
extensions/pom.xml | 1 -
integration-tests/csimple/pom.xml | 195 --------------
.../component/csimple/it/CSimpleResource.java | 73 ------
.../quarkus/component/csimple/it/CSimpleRoute.java | 45 ----
.../src/main/resources/application.properties | 18 --
.../src/main/resources/routes/my-routes.xml | 34 ---
.../src/main/resources/routes/my-routes.yaml | 23 --
.../quarkus/component/csimple/it/CSimpleIT.java | 24 --
.../quarkus/component/csimple/it/CSimpleTest.java | 87 -------
integration-tests/pom.xml | 1 -
pom.xml | 2 +-
poms/bom/pom.xml | 15 +-
poms/bom/src/main/generated/flattened-full-pom.xml | 47 ++--
.../src/main/generated/flattened-reduced-pom.xml | 47 ++--
.../generated/flattened-reduced-verbose-pom.xml | 47 ++--
.../org/apache/camel/quarkus/maven/CqCatalog.java | 6 +-
tooling/scripts/test-categories.yaml | 1 -
40 files changed, 80 insertions(+), 1493 deletions(-)
diff --git a/catalog/pom.xml b/catalog/pom.xml
index d718538bf8..ebe62398e4 100644
--- a/catalog/pom.xml
+++ b/catalog/pom.xml
@@ -1020,19 +1020,6 @@
</exclusion>
</exclusions>
</dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-csimple</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-csv</artifactId>
diff --git a/docs/modules/ROOT/examples/languages/csimple.yml
b/docs/modules/ROOT/examples/languages/csimple.yml
deleted file mode 100644
index af6eb8493b..0000000000
--- a/docs/modules/ROOT/examples/languages/csimple.yml
+++ /dev/null
@@ -1,13 +0,0 @@
-# Do not edit directly!
-# This file was generated by
camel-quarkus-maven-plugin:update-extension-doc-page
-cqArtifactId: camel-quarkus-csimple
-cqArtifactIdBase: csimple
-cqNativeSupported: true
-cqStatus: Stable
-cqDeprecated: true
-cqJvmSince: 1.5.0
-cqNativeSince: 1.5.0
-cqCamelPartName: csimple
-cqCamelPartTitle: CSimple
-cqCamelPartDescription: Evaluate a compiled simple expression
-cqExtensionPageTitle: CSimple
diff --git a/docs/modules/ROOT/examples/others/mcp-server.yml
b/docs/modules/ROOT/examples/others/mcp-server.yml
index 596ae964bf..243dcf3408 100644
--- a/docs/modules/ROOT/examples/others/mcp-server.yml
+++ b/docs/modules/ROOT/examples/others/mcp-server.yml
@@ -9,5 +9,5 @@ cqJvmSince: 3.39.0
cqNativeSince: 3.39.0
cqCamelPartName: mcp-server
cqCamelPartTitle: MCP Server
-cqCamelPartDescription: Expose ai-tool routes as MCP tools over streamable HTTP
+cqCamelPartDescription: Expose ai-tool routes as MCP tools and ai-resource
routes as MCP resources over streamable HTTP
cqExtensionPageTitle: MCP Server
diff --git a/docs/modules/ROOT/examples/others/reactive-executor-vertx.yml
b/docs/modules/ROOT/examples/others/reactive-executor-vertx.yml
deleted file mode 100644
index bffd915ef4..0000000000
--- a/docs/modules/ROOT/examples/others/reactive-executor-vertx.yml
+++ /dev/null
@@ -1,13 +0,0 @@
-# Do not edit directly!
-# This file was generated by
camel-quarkus-maven-plugin:update-extension-doc-page
-cqArtifactId: camel-quarkus-reactive-executor
-cqArtifactIdBase: reactive-executor
-cqNativeSupported: true
-cqStatus: Stable
-cqDeprecated: true
-cqJvmSince: 0.3.0
-cqNativeSince: 0.3.0
-cqCamelPartName: reactive-executor-vertx
-cqCamelPartTitle: Reactive Executor Vert.x
-cqCamelPartDescription: Reactive Executor for camel-core using Vert.x
-cqExtensionPageTitle: Reactive Executor
diff --git a/docs/modules/ROOT/nav.adoc b/docs/modules/ROOT/nav.adoc
index 163f8b7322..d7b68b84d6 100644
--- a/docs/modules/ROOT/nav.adoc
+++ b/docs/modules/ROOT/nav.adoc
@@ -88,7 +88,6 @@
*** xref:reference/extensions/cli-debug.adoc[CLI Debug]
*** xref:reference/extensions/cm-sms.adoc[CM SMS Gateway]
*** xref:reference/extensions/csv.adoc[CSV]
-*** xref:reference/extensions/csimple.adoc[CSimple]
*** xref:reference/extensions/cxf-soap.adoc[CXF]
*** xref:reference/extensions/caffeine.adoc[Caffeine Cache]
*** xref:reference/extensions/cassandraql.adoc[Cassandra CQL]
diff --git a/docs/modules/ROOT/pages/reference/extensions/core.adoc
b/docs/modules/ROOT/pages/reference/extensions/core.adoc
index 377bfd7ada..554fb1d5f3 100644
--- a/docs/modules/ROOT/pages/reference/extensions/core.adoc
+++ b/docs/modules/ROOT/pages/reference/extensions/core.adoc
@@ -387,12 +387,6 @@ Enable automatic discovery of routes during static
initialization.
| `boolean`
| `true`
-a|icon:lock[title=Fixed at build time]
[[quarkus-camel-csimple-on-build-time-analysis-failure]]`link:#quarkus-camel-csimple-on-build-time-analysis-failure[quarkus.camel.csimple.on-build-time-analysis-failure]`
-
-What to do if it is not possible to extract CSimple expressions from a route
definition at build time.
-| `fail`, `warn`, `ignore`
-| `warn`
-
a|icon:lock[title=Fixed at build time]
[[quarkus-camel-trace-enabled]]`link:#quarkus-camel-trace-enabled[quarkus.camel.trace.enabled]`
Enables tracer in your Camel application.
diff --git a/docs/modules/ROOT/pages/reference/extensions/csimple.adoc
b/docs/modules/ROOT/pages/reference/extensions/csimple.adoc
deleted file mode 100644
index 3bf950e312..0000000000
--- a/docs/modules/ROOT/pages/reference/extensions/csimple.adoc
+++ /dev/null
@@ -1,82 +0,0 @@
-// Do not edit directly!
-// This file was generated by
camel-quarkus-maven-plugin:update-extension-doc-page
-[id="extensions-csimple"]
-= CSimple
-:linkattrs:
-:cq-artifact-id: camel-quarkus-csimple
-:cq-native-supported: true
-:cq-status: Preview
-:cq-status-deprecation: Preview Deprecated
-:cq-description: Compiled Simple language
-:cq-deprecated: true
-:cq-jvm-since: 1.5.0
-:cq-native-since: 1.5.0
-
-ifeval::[{doc-show-badges} == true]
-[.badges]
-[.badge-key]##JVM since##[.badge-supported]##1.5.0## [.badge-key]##Native
since##[.badge-supported]##1.5.0##
[.badge-key]##⚠️##[.badge-unsupported]##Deprecated##
-endif::[]
-
-Compiled Simple language
-
-[id="extensions-csimple-whats-inside"]
-== What's inside
-
-* xref:{cq-camel-components}:languages:csimple-language.adoc[CSimple language]
-
-Please refer to the above link for usage and configuration details.
-
-[id="extensions-csimple-maven-coordinates"]
-== Maven coordinates
-
-https://{link-quarkus-code-generator}/?extension-search=camel-quarkus-csimple[Create
a new project with this extension on {link-quarkus-code-generator},
window="_blank"]
-
-Or add the coordinates to your existing project:
-
-[source,xml]
-----
-<dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-csimple</artifactId>
-</dependency>
-----
-ifeval::[{doc-show-user-guide-link} == true]
-Check the xref:user-guide/index.adoc[User guide] for more information about
writing Camel Quarkus applications.
-endif::[]
-
-[id="extensions-csimple-camel-quarkus-limitations"]
-== Camel Quarkus limitations
-
-CSimple language is supported in all existing DSLs, but be aware that to
extract the expressions from the existing route definitions, a dry run is done
during the startup in JVM mode or during the build in Native mode which adds
some log entries of the following type that you can simply ignore.
-
-[source,text]
-----
-2023-01-19 16:36:31,779 INFO [org.apa.cam.mai.MainSupport] (build-10)
Expression Extractor 3.20.1 is starting
-2023-01-19 16:36:32,214 INFO [org.apa.cam.imp.eng.AbstractCamelContext]
(build-10) Apache Camel 3.20.1 (Expression Extractor) is starting
-2023-01-19 16:36:32,216 INFO [org.apa.cam.imp.eng.AbstractCamelContext]
(build-10) Routes startup (started:0)
-2023-01-19 16:36:32,217 INFO [org.apa.cam.imp.eng.AbstractCamelContext]
(build-10) Apache Camel 3.20.1 (Expression Extractor) started in 128ms
(build:22ms init:104ms start:2ms)
-2023-01-19 16:36:32,218 INFO [org.apa.cam.mai.MainSupport] (build-10) Waiting
until complete: Duration max 1 seconds
-2023-01-19 16:36:33,223 INFO [org.apa.cam.mai.MainSupport] (build-10)
Duration max seconds triggering shutdown of the JVM
-2023-01-19 16:36:33,223 INFO [org.apa.cam.mai.MainSupport] (build-10)
Expression Extractor 3.20.1 shutdown
-----
-
-The compilation of CSimple scripts happens at build time by default. To be
able to discover the scripts in the route definitions,
-those definitions need to get assembled at build time. When extending
-`org.apache.camel.builder.RouteBuilder`, this basically means instantiating
your `RouteBuilder`, setting
-a fake `CamelContext` instance on it and calling its `configure()` method. It
may fail if your `configure()`
-method attempts to access some resource that is only available at runtime.
-
-You can use the `quarkus.camel.expression.on-build-time-analysis-failure`
configuration parameter to decide
-what should happen in such cases. Possible values are `warn` (default), `fail`
or `ignore`.
-
-You can also simply disable the expression extraction process by setting the
configuration parameter `quarkus.camel.expression.extraction-enabled` to
`false`.
-
-If the expression extraction process is disabled or fails, the expressions are
then compiled at runtime which also means that it
-can only work in JVM mode moreover the artifact
`org.apache.camel:camel-csimple-joor` has to be added to the classpath.
-
-[WARNING]
-====
-CSimple language will not work on Camel Quarkus if used in a
`org.apache.camel.builder.LambdaRouteBuilder` or if a `RouteBuilder` depends on
dependency injection.
-====
-
-
diff --git
a/docs/modules/ROOT/pages/reference/extensions/reactive-executor.adoc
b/docs/modules/ROOT/pages/reference/extensions/reactive-executor.adoc
index 08f66362e6..9986edbb49 100644
--- a/docs/modules/ROOT/pages/reference/extensions/reactive-executor.adoc
+++ b/docs/modules/ROOT/pages/reference/extensions/reactive-executor.adoc
@@ -7,26 +7,19 @@
:cq-artifact-id: camel-quarkus-reactive-executor
:cq-native-supported: true
:cq-status: Stable
-:cq-status-deprecation: Stable Deprecated
+:cq-status-deprecation: Stable
:cq-description: Reactive Executor for camel-core using Vert.x
-:cq-deprecated: true
+:cq-deprecated: false
:cq-jvm-since: 0.3.0
:cq-native-since: 0.3.0
ifeval::[{doc-show-badges} == true]
[.badges]
-[.badge-key]##JVM since##[.badge-supported]##0.3.0## [.badge-key]##Native
since##[.badge-supported]##0.3.0##
[.badge-key]##⚠️##[.badge-unsupported]##Deprecated##
+[.badge-key]##JVM since##[.badge-supported]##0.3.0## [.badge-key]##Native
since##[.badge-supported]##0.3.0##
endif::[]
Reactive Executor for camel-core using Vert.x
-[id="extensions-reactive-executor-whats-inside"]
-== What's inside
-
-* xref:{cq-camel-components}:others:reactive-executor-vertx.adoc[Reactive
Executor Vert.x]
-
-Please refer to the above link for usage and configuration details.
-
[id="extensions-reactive-executor-maven-coordinates"]
== Maven coordinates
diff --git
a/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/spi/CompiledCSimpleExpressionBuildItem.java
b/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/spi/CompiledCSimpleExpressionBuildItem.java
deleted file mode 100644
index e81139ccee..0000000000
---
a/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/spi/CompiledCSimpleExpressionBuildItem.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.quarkus.core.deployment.spi;
-
-import io.quarkus.builder.item.MultiBuildItem;
-
-/**
- * A {@link MultiBuildItem} bearing info about a compiled CSimple language
expression.
- */
-public final class CompiledCSimpleExpressionBuildItem extends MultiBuildItem {
-
- private final String sourceCode;
- private final String className;
- private final boolean predicate;
-
- public CompiledCSimpleExpressionBuildItem(String sourceCode, boolean
predicate, String className) {
- this.sourceCode = sourceCode;
- this.predicate = predicate;
- this.className = className;
- }
-
- /**
- * @return the source code out which the class returned by {@link
#getClassName()} was compiled
- */
- public String getSourceCode() {
- return sourceCode;
- }
-
- /**
- * @return a fully qualified class name compiled from the source code
returned by {@link #getSourceCode()}
- */
- public String getClassName() {
- return className;
- }
-
- /**
- * @return {@code true} if the expression is a predicate; {@code false}
otherwise
- */
- public boolean isPredicate() {
- return predicate;
- }
-
-}
diff --git
a/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/CamelConfig.java
b/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/CamelConfig.java
index c278b8d7bf..2e5a8cb238 100644
---
a/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/CamelConfig.java
+++
b/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/CamelConfig.java
@@ -62,14 +62,6 @@ public interface CamelConfig {
@WithName("native")
NativeConfig native_();
- /**
- * Build time configuration options for the Camel CSimple language.
- *
- * @asciidoclet
- */
- @Deprecated(forRemoval = true)
- CSimpleConfig csimple();
-
/**
* Build time configuration options for the extraction of Camel
expressions.
*
@@ -380,20 +372,6 @@ public interface CamelConfig {
boolean transformers();
}
- /**
- * @deprecated use {@link ExpressionConfig} instead
- */
- @Deprecated(forRemoval = true)
- interface CSimpleConfig {
- /**
- * What to do if it is not possible to extract CSimple expressions
from a route definition at build time.
- *
- * @asciidoclet
- */
- @WithDefault("warn")
- FailureRemedy onBuildTimeAnalysisFailure();
- }
-
interface ExpressionConfig {
/**
* What to do if it is not possible to extract expressions from a
route definition at build time.
diff --git
a/extensions-jvm/console/deployment/src/test/java/org/apache/camel/quarkus/component/console/ConsoleEnabledWithDevProfileTest.java
b/extensions-jvm/console/deployment/src/test/java/org/apache/camel/quarkus/component/console/ConsoleEnabledWithDevProfileTest.java
index d67763bc82..3f5941234b 100644
---
a/extensions-jvm/console/deployment/src/test/java/org/apache/camel/quarkus/component/console/ConsoleEnabledWithDevProfileTest.java
+++
b/extensions-jvm/console/deployment/src/test/java/org/apache/camel/quarkus/component/console/ConsoleEnabledWithDevProfileTest.java
@@ -20,6 +20,7 @@ import io.quarkus.test.QuarkusUnitTest;
import jakarta.inject.Inject;
import org.apache.camel.CamelContext;
import org.apache.camel.console.DevConsoleRegistry;
+import org.apache.camel.impl.console.PropertiesDevConsole;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.RegisterExtension;
@@ -43,8 +44,8 @@ class ConsoleEnabledWithDevProfileTest {
}
@Test
- void propertiesConsoleIsQuarkusOverride() {
+ void propertiesConsoleIsCamelDefault() {
DevConsoleRegistry registry =
context.getCamelContextExtension().getContextPlugin(DevConsoleRegistry.class);
- assertTrue(registry.getConsole("properties").get() instanceof
QuarkusPropertiesDevConsole);
+ assertTrue(registry.getConsole("properties").get() instanceof
PropertiesDevConsole);
}
}
diff --git
a/extensions-jvm/console/runtime/src/main/java/org/apache/camel/quarkus/component/console/CamelConsoleRecorder.java
b/extensions-jvm/console/runtime/src/main/java/org/apache/camel/quarkus/component/console/CamelConsoleRecorder.java
index 8c9f86ac09..42c61b9175 100644
---
a/extensions-jvm/console/runtime/src/main/java/org/apache/camel/quarkus/component/console/CamelConsoleRecorder.java
+++
b/extensions-jvm/console/runtime/src/main/java/org/apache/camel/quarkus/component/console/CamelConsoleRecorder.java
@@ -53,7 +53,6 @@ public class CamelConsoleRecorder {
DevConsoleRegistry registry = camelContextRuntimeValue.getValue()
.getCamelContextExtension()
.getContextPlugin(DevConsoleRegistry.class);
- registry.register(new QuarkusPropertiesDevConsole());
registry.loadDevConsoles();
}
diff --git
a/extensions-jvm/console/runtime/src/main/java/org/apache/camel/quarkus/component/console/QuarkusPropertiesDevConsole.java
b/extensions-jvm/console/runtime/src/main/java/org/apache/camel/quarkus/component/console/QuarkusPropertiesDevConsole.java
deleted file mode 100644
index 43a79648ea..0000000000
---
a/extensions-jvm/console/runtime/src/main/java/org/apache/camel/quarkus/component/console/QuarkusPropertiesDevConsole.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.quarkus.component.console;
-
-import java.util.Map;
-
-import org.apache.camel.impl.console.PropertiesDevConsole;
-import org.apache.camel.util.json.JsonArray;
-import org.apache.camel.util.json.JsonObject;
-
-/**
- * Temporary override of the Camel {@link PropertiesDevConsole} that filters
out entries originating from
- * {@code CamelMicroProfilePropertiesSource}. Those entries duplicate the
application properties that Quarkus already
- * provides through the {@code RuntimePropertiesProvider} SPI and would
otherwise appear twice in the console output.
- */
-public class QuarkusPropertiesDevConsole extends PropertiesDevConsole {
-
- private static final String MICRO_PROFILE_SOURCE =
"CamelMicroProfilePropertiesSource";
-
- @Override
- protected JsonObject doCallJson(Map<String, Object> options) {
- JsonObject root = super.doCallJson(options);
- Object props = root.get("properties");
- if (props instanceof JsonArray arr) {
- arr.removeIf(entry -> entry instanceof JsonObject obj
- && obj.get("location") instanceof String loc
- && loc.startsWith(MICRO_PROFILE_SOURCE));
- }
- return root;
- }
-
- @Override
- protected String doCallText(Map<String, Object> options) {
- StringBuilder filtered = new StringBuilder();
- for (String line : super.doCallText(options).split("\n")) {
- if (!line.contains(MICRO_PROFILE_SOURCE)) {
- filtered.append(line).append('\n');
- }
- }
- return filtered.toString();
- }
-}
diff --git a/extensions/csimple/deployment/pom.xml
b/extensions/csimple/deployment/pom.xml
deleted file mode 100644
index d72854504f..0000000000
--- a/extensions/csimple/deployment/pom.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-csimple-parent</artifactId>
- <version>3.40.0-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>camel-quarkus-csimple-deployment</artifactId>
- <name>Camel Quarkus :: CSimple :: Deployment</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-core-deployment</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-support-language-deployment</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-csimple</artifactId>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <annotationProcessorPaths>
- <path>
- <groupId>io.quarkus</groupId>
-
<artifactId>quarkus-extension-processor</artifactId>
- <version>${quarkus.version}</version>
- </path>
- </annotationProcessorPaths>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git
a/extensions/csimple/deployment/src/main/java/org/apache/camel/quarkus/component/csimple/deployment/CSimpleExpressionSourceBuildItem.java
b/extensions/csimple/deployment/src/main/java/org/apache/camel/quarkus/component/csimple/deployment/CSimpleExpressionSourceBuildItem.java
deleted file mode 100644
index b1a67232a8..0000000000
---
a/extensions/csimple/deployment/src/main/java/org/apache/camel/quarkus/component/csimple/deployment/CSimpleExpressionSourceBuildItem.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.quarkus.component.csimple.deployment;
-
-import io.quarkus.builder.item.MultiBuildItem;
-
-/**
- * A {@link MultiBuildItem} bearing info about a CSimple language expression
that needs to get compiled.
- */
-public final class CSimpleExpressionSourceBuildItem extends MultiBuildItem {
-
- private final String sourceCode;
- private final String classNameBase;
- private final boolean predicate;
-
- public CSimpleExpressionSourceBuildItem(String sourceCode, boolean
predicate, String classNameBase) {
- this.sourceCode = sourceCode;
- this.predicate = predicate;
- this.classNameBase = classNameBase;
- }
-
- /**
- * @return the expression source code to compile
- */
- public String getSourceCode() {
- return sourceCode;
- }
-
- /**
- * @return a fully qualified class name that the compiler may use as a
base for the name of the class into which it
- * compiles the source code returned by {@link #getSourceCode()}
- */
- public String getClassNameBase() {
- return classNameBase;
- }
-
- /**
- * @return {@code true} if the expression is a predicate; {@code false}
otherwise
- */
- public boolean isPredicate() {
- return predicate;
- }
-
-}
diff --git
a/extensions/csimple/deployment/src/main/java/org/apache/camel/quarkus/component/csimple/deployment/CSimpleProcessor.java
b/extensions/csimple/deployment/src/main/java/org/apache/camel/quarkus/component/csimple/deployment/CSimpleProcessor.java
deleted file mode 100644
index 9e354bb9cb..0000000000
---
a/extensions/csimple/deployment/src/main/java/org/apache/camel/quarkus/component/csimple/deployment/CSimpleProcessor.java
+++ /dev/null
@@ -1,279 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.quarkus.component.csimple.deployment;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.net.URL;
-import java.nio.charset.StandardCharsets;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedHashMap;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Set;
-import java.util.TreeSet;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
-
-import io.quarkus.bootstrap.classloading.ClassPathElement;
-import io.quarkus.bootstrap.classloading.QuarkusClassLoader;
-import io.quarkus.deployment.annotations.BuildProducer;
-import io.quarkus.deployment.annotations.BuildStep;
-import io.quarkus.deployment.annotations.Consume;
-import io.quarkus.deployment.annotations.ExecutionTime;
-import io.quarkus.deployment.annotations.Record;
-import io.quarkus.deployment.builditem.FeatureBuildItem;
-import io.quarkus.deployment.builditem.GeneratedClassBuildItem;
-import io.quarkus.deployment.dev.CompilationProvider;
-import io.quarkus.deployment.dev.CompilationProvider.Context;
-import io.quarkus.deployment.dev.JavaCompilationProvider;
-import io.quarkus.deployment.pkg.builditem.BuildSystemTargetBuildItem;
-import io.quarkus.deployment.pkg.builditem.CurateOutcomeBuildItem;
-import io.quarkus.deployment.recording.RecorderContext;
-import io.quarkus.runtime.RuntimeValue;
-import org.apache.camel.Exchange;
-import org.apache.camel.language.csimple.CSimpleCodeGenerator;
-import org.apache.camel.language.csimple.CSimpleGeneratedCode;
-import org.apache.camel.language.csimple.CSimpleHelper;
-import org.apache.camel.language.csimple.CSimpleLanguage;
-import org.apache.camel.language.csimple.CSimpleLanguage.Builder;
-import org.apache.camel.quarkus.component.csimple.CSimpleLanguageRecorder;
-import org.apache.camel.quarkus.core.deployment.spi.CamelBeanBuildItem;
-import org.apache.camel.quarkus.core.deployment.spi.CamelContextBuildItem;
-import
org.apache.camel.quarkus.core.deployment.spi.CompiledCSimpleExpressionBuildItem;
-import org.apache.camel.quarkus.core.deployment.util.CamelSupport;
-import org.apache.camel.quarkus.core.util.FileUtils;
-import
org.apache.camel.quarkus.support.language.deployment.ExpressionBuildItem;
-import
org.apache.camel.quarkus.support.language.deployment.ExpressionExtractionResultBuildItem;
-import org.apache.camel.util.PropertiesHelper;
-import org.jboss.logging.Logger;
-
-class CSimpleProcessor {
-
- private static final Logger LOG = Logger.getLogger(CSimpleProcessor.class);
- private static final String CLASS_NAME = "CompiledExpression";
- private static final String PACKAGE_NAME =
"org.apache.camel.quarkus.component.csimple.generated";
- static final String CLASS_EXT = ".class";
- private static final String FEATURE = "camel-csimple";
-
- @BuildStep
- FeatureBuildItem feature() {
- return new FeatureBuildItem(FEATURE);
- }
-
- @BuildStep
- void collectCSimpleExpressions(
- ExpressionExtractionResultBuildItem result,
- List<ExpressionBuildItem> expressions,
- BuildProducer<CSimpleExpressionSourceBuildItem>
csimpleExpressions) {
-
- if (result.isSuccess()) {
- int counter = 0;
- for (ExpressionBuildItem expression : expressions) {
- if ("csimple".equals(expression.getLanguage())) {
- csimpleExpressions.produce(
- new CSimpleExpressionSourceBuildItem(
- expression.getExpression(),
- expression.isPredicate(),
- String.format("%s.%s_%d", PACKAGE_NAME,
CLASS_NAME, ++counter)));
- }
- }
- }
- }
-
- @BuildStep
- void compileCSimpleExpressions(
- BuildSystemTargetBuildItem buildSystemTargetBuildItem,
- List<CSimpleExpressionSourceBuildItem> expressionSources,
- BuildProducer<CompiledCSimpleExpressionBuildItem>
compiledCSimpleExpression,
- BuildProducer<GeneratedClassBuildItem> generatedClasses) throws
IOException {
-
- if (!expressionSources.isEmpty()) {
- final Set<String> imports = new TreeSet<>();
- final Map<String, String> aliases = new LinkedHashMap<>();
- final ClassLoader loader =
Thread.currentThread().getContextClassLoader();
- if (!(loader instanceof QuarkusClassLoader)) {
- throw new IllegalStateException(
- QuarkusClassLoader.class.getSimpleName() + " expected
as the context class loader");
- }
- final QuarkusClassLoader quarkusClassLoader = (QuarkusClassLoader)
loader;
- readConfig(imports, aliases, loader);
- final CSimpleCodeGenerator generator = new CSimpleCodeGenerator();
- generator.setAliases(aliases);
- generator.setImports(imports);
-
- final Path projectDir =
Paths.get(".").toAbsolutePath().normalize();
- final Path outputDirectory =
buildSystemTargetBuildItem.getOutputDirectory();
- final Path csimpleGeneratedSourceDir =
outputDirectory.resolve("generated/csimple");
- Files.createDirectories(csimpleGeneratedSourceDir);
-
- final Set<File> filesToCompile = new LinkedHashSet<>();
-
- /* We do not want to compile the same source twice, so we store
here what we have compiled already */
- final Map<Boolean, Set<String>> compiledExpressions = new
HashMap<>();
- compiledExpressions.put(true, new HashSet<>());
- compiledExpressions.put(false, new HashSet<>());
-
- /* Generate Java classes for the language expressions */
- for (CSimpleExpressionSourceBuildItem expr : expressionSources) {
- final boolean predicate = expr.isPredicate();
- final String script = expr.getSourceCode();
- if (!compiledExpressions.get(predicate).contains(script)) {
- final CSimpleGeneratedCode code = predicate
- ?
generator.generatePredicate(expr.getClassNameBase(), script)
- :
generator.generateExpression(expr.getClassNameBase(), script);
-
- compiledCSimpleExpression
- .produce(new
CompiledCSimpleExpressionBuildItem(code.getCode(), predicate, code.getFqn()));
-
- final Path javaCsimpleFile = csimpleGeneratedSourceDir
- .resolve(code.getFqn().replace('.', '/') +
".java");
- Files.createDirectories(javaCsimpleFile.getParent());
- Files.write(javaCsimpleFile,
code.getCode().getBytes(StandardCharsets.UTF_8));
- filesToCompile.add(javaCsimpleFile.toFile());
- compiledExpressions.get(predicate).add(script);
- }
- }
-
- final Path csimpleClassesDir =
outputDirectory.resolve("csimple-classes");
- Files.createDirectories(csimpleClassesDir);
-
- /* Compile the generated sources */
- try (JavaCompilationProvider compiler = new
JavaCompilationProvider()) {
- final Context context = compilationContext(projectDir,
csimpleClassesDir, quarkusClassLoader);
- compiler.compile(filesToCompile, context);
- }
-
- /* Register the compiled classes via Quarkus
GeneratedClassBuildItem */
- try (Stream<Path> classFiles = Files.walk(csimpleClassesDir)) {
- classFiles
- .filter(Files::isRegularFile)
- .filter(p ->
p.getFileName().toString().endsWith(CLASS_EXT))
- .forEach(p -> {
- final Path relPath =
csimpleClassesDir.relativize(p);
- String className =
FileUtils.nixifyPath(relPath.toString());
- className = className.substring(0,
className.length() - CLASS_EXT.length());
- try {
- final GeneratedClassBuildItem item = new
GeneratedClassBuildItem(true, className,
- Files.readAllBytes(p));
- generatedClasses.produce(item);
- } catch (IOException e) {
- throw new RuntimeException("Could not read " +
p);
- }
- });
- }
-
- }
- }
-
- @Record(ExecutionTime.STATIC_INIT)
- @BuildStep
- @Consume(CamelContextBuildItem.class)
- CamelBeanBuildItem configureCSimpleLanguage(
- RecorderContext recorderContext,
- CSimpleLanguageRecorder recorder,
- ExpressionExtractionResultBuildItem result,
- CurateOutcomeBuildItem curateOutcomeBuildItem,
- List<CompiledCSimpleExpressionBuildItem>
compiledCSimpleExpressions) {
-
- if (result.isSuccess()) {
- final RuntimeValue<Builder> builder =
recorder.csimpleLanguageBuilder();
- for (CompiledCSimpleExpressionBuildItem expr :
compiledCSimpleExpressions) {
- recorder.addExpression(builder,
recorderContext.newInstance(expr.getClassName()));
- }
-
- final RuntimeValue<?> csimpleLanguage =
recorder.buildCSimpleLanguage(builder);
- return new CamelBeanBuildItem("csimple",
CSimpleLanguage.class.getName(), csimpleLanguage);
- } else if
(curateOutcomeBuildItem.getApplicationModel().getRuntimeDependencies().stream().noneMatch(
- x -> x.getGroupId().equals("org.apache.camel") &&
x.getArtifactId().equals("camel-csimple-joor"))) {
- LOG.warn(
- "The expression extraction process has been disabled or
failed, please add camel-csimple-joor to your classpath to compile the
expressions at runtime");
- }
- return null;
- }
-
- static void readConfig(Set<String> imports, Map<String, String> aliases,
ClassLoader cl) throws IOException {
- Enumeration<URL> confiUrls =
cl.getResources("camel-csimple.properties");
- while (confiUrls.hasMoreElements()) {
- final URL configUrl = confiUrls.nextElement();
- try (BufferedReader r = new BufferedReader(new
InputStreamReader(configUrl.openStream(), StandardCharsets.UTF_8))) {
- String line;
- while ((line = r.readLine()) != null) {
- line = line.trim();
- // skip comments
- if (line.startsWith("#")) {
- continue;
- }
- // imports
- if (line.startsWith("import ")) {
- imports.add(line);
- continue;
- }
- // aliases as key=value
- final int eqPos = line.indexOf('=');
- final String key = line.substring(0, eqPos).trim();
- final String value = line.substring(eqPos + 1).trim();
- aliases.put(key, value);
-
- }
- } catch (IOException e) {
- throw new RuntimeException("Could not read from " + configUrl);
- }
- }
- }
-
- private Context compilationContext(final Path projectDir, final Path
csimpleClassesDir,
- QuarkusClassLoader quarkusClassLoader) {
- Set<File> classPathElements = Stream.of(CSimpleHelper.class,
Exchange.class, PropertiesHelper.class)
- .map(clazz -> clazz.getName().replace('.', '/') + CLASS_EXT)
- .flatMap(className -> (Stream<ClassPathElement>)
quarkusClassLoader.getElementsWithResource(className).stream())
- .map(ClassPathElement::getRoot)
- .filter(Objects::nonNull)
- .map(Path::toFile)
- .collect(Collectors.toSet());
-
- return new CompilationProvider.Context(
- "csimple-project",
- classPathElements,
- classPathElements,
- projectDir.toFile(),
- projectDir.resolve("src/main/java").toFile(),
- csimpleClassesDir.toFile(),
- StandardCharsets.UTF_8.name(),
- Map.of(),
- CamelSupport.COMPILATION_JVM_TARGET,
- null,
- null,
-
- List.of(),
- List.of(),
- null,
- Set.of(),
- List.of(),
- null);
- }
-
-}
diff --git a/extensions/csimple/pom.xml b/extensions/csimple/pom.xml
deleted file mode 100644
index 1a8423097a..0000000000
--- a/extensions/csimple/pom.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-extensions</artifactId>
- <version>3.40.0-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>camel-quarkus-csimple-parent</artifactId>
- <name>Camel Quarkus :: CSimple</name>
- <packaging>pom</packaging>
-
- <modules>
- <module>deployment</module>
- <module>runtime</module>
- </modules>
-</project>
diff --git a/extensions/csimple/runtime/pom.xml
b/extensions/csimple/runtime/pom.xml
deleted file mode 100644
index 19a9d5a73f..0000000000
--- a/extensions/csimple/runtime/pom.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-csimple-parent</artifactId>
- <version>3.40.0-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>camel-quarkus-csimple</artifactId>
- <name>Camel Quarkus :: CSimple :: Runtime</name>
- <description>Compiled Simple language</description>
-
- <properties>
- <camel.quarkus.jvmSince>1.5.0</camel.quarkus.jvmSince>
- <camel.quarkus.nativeSince>1.5.0</camel.quarkus.nativeSince>
- <quarkus.metadata.status>preview</quarkus.metadata.status>
- </properties>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-core</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-support-language</artifactId>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>io.quarkus</groupId>
- <artifactId>quarkus-extension-maven-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <annotationProcessorPaths>
- <path>
- <groupId>io.quarkus</groupId>
-
<artifactId>quarkus-extension-processor</artifactId>
- <version>${quarkus.version}</version>
- </path>
- </annotationProcessorPaths>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/extensions/csimple/runtime/src/main/doc/limitations.adoc
b/extensions/csimple/runtime/src/main/doc/limitations.adoc
deleted file mode 100644
index 60c399f6d3..0000000000
--- a/extensions/csimple/runtime/src/main/doc/limitations.adoc
+++ /dev/null
@@ -1,32 +0,0 @@
-CSimple language is supported in all existing DSLs, but be aware that to
extract the expressions from the existing route definitions, a dry run is done
during the startup in JVM mode or during the build in Native mode which adds
some log entries of the following type that you can simply ignore.
-
-[source,text]
-----
-2023-01-19 16:36:31,779 INFO [org.apa.cam.mai.MainSupport] (build-10)
Expression Extractor 3.20.1 is starting
-2023-01-19 16:36:32,214 INFO [org.apa.cam.imp.eng.AbstractCamelContext]
(build-10) Apache Camel 3.20.1 (Expression Extractor) is starting
-2023-01-19 16:36:32,216 INFO [org.apa.cam.imp.eng.AbstractCamelContext]
(build-10) Routes startup (started:0)
-2023-01-19 16:36:32,217 INFO [org.apa.cam.imp.eng.AbstractCamelContext]
(build-10) Apache Camel 3.20.1 (Expression Extractor) started in 128ms
(build:22ms init:104ms start:2ms)
-2023-01-19 16:36:32,218 INFO [org.apa.cam.mai.MainSupport] (build-10) Waiting
until complete: Duration max 1 seconds
-2023-01-19 16:36:33,223 INFO [org.apa.cam.mai.MainSupport] (build-10)
Duration max seconds triggering shutdown of the JVM
-2023-01-19 16:36:33,223 INFO [org.apa.cam.mai.MainSupport] (build-10)
Expression Extractor 3.20.1 shutdown
-----
-
-The compilation of CSimple scripts happens at build time by default. To be
able to discover the scripts in the route definitions,
-those definitions need to get assembled at build time. When extending
-`org.apache.camel.builder.RouteBuilder`, this basically means instantiating
your `RouteBuilder`, setting
-a fake `CamelContext` instance on it and calling its `configure()` method. It
may fail if your `configure()`
-method attempts to access some resource that is only available at runtime.
-
-You can use the `quarkus.camel.expression.on-build-time-analysis-failure`
configuration parameter to decide
-what should happen in such cases. Possible values are `warn` (default), `fail`
or `ignore`.
-
-You can also simply disable the expression extraction process by setting the
configuration parameter `quarkus.camel.expression.extraction-enabled` to
`false`.
-
-If the expression extraction process is disabled or fails, the expressions are
then compiled at runtime which also means that it
-can only work in JVM mode moreover the artifact
`org.apache.camel:camel-csimple-joor` has to be added to the classpath.
-
-[WARNING]
-====
-CSimple language will not work on Camel Quarkus if used in a
`org.apache.camel.builder.LambdaRouteBuilder` or if a `RouteBuilder` depends on
dependency injection.
-====
-
diff --git
a/extensions/csimple/runtime/src/main/java/org/apache/camel/quarkus/component/csimple/CSimpleLanguageRecorder.java
b/extensions/csimple/runtime/src/main/java/org/apache/camel/quarkus/component/csimple/CSimpleLanguageRecorder.java
deleted file mode 100644
index b58b94208c..0000000000
---
a/extensions/csimple/runtime/src/main/java/org/apache/camel/quarkus/component/csimple/CSimpleLanguageRecorder.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.quarkus.component.csimple;
-
-import io.quarkus.runtime.RuntimeValue;
-import io.quarkus.runtime.annotations.Recorder;
-import org.apache.camel.language.csimple.CSimpleExpression;
-import org.apache.camel.language.csimple.CSimpleLanguage;
-import org.apache.camel.language.csimple.CSimpleLanguage.Builder;
-
-@Recorder
-public class CSimpleLanguageRecorder {
-
- public RuntimeValue<CSimpleLanguage.Builder> csimpleLanguageBuilder() {
- return new RuntimeValue<>(CSimpleLanguage.builder());
- }
-
- public void addExpression(RuntimeValue<Builder> builder,
RuntimeValue<CSimpleExpression> expression) {
- builder.getValue().expression(expression.getValue());
- }
-
- public RuntimeValue<?> buildCSimpleLanguage(RuntimeValue<Builder> builder)
{
- return new RuntimeValue<>(builder.getValue().build());
- }
-
-}
diff --git
a/extensions/csimple/runtime/src/main/resources/META-INF/quarkus-extension.yaml
b/extensions/csimple/runtime/src/main/resources/META-INF/quarkus-extension.yaml
deleted file mode 100644
index db87cfbc26..0000000000
---
a/extensions/csimple/runtime/src/main/resources/META-INF/quarkus-extension.yaml
+++ /dev/null
@@ -1,36 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-# This is a generated file. Do not edit directly!
-# To re-generate, run the following command from the top level directory:
-#
-# mvn -N cq:update-quarkus-metadata
-#
----
-name: "Camel CSimple"
-description: "Compiled Simple language"
-metadata:
- icon-url:
"https://raw.githubusercontent.com/apache/camel-website/main/antora-ui-camel/src/img/logo-d.svg"
- sponsor: "Apache Software Foundation"
- guide:
"https://camel.apache.org/camel-quarkus/latest/reference/extensions/csimple.html"
- categories:
- - "integration"
- status: "preview"
- integrates:
- - name: "Camel"
- artifact: "org.apache.camel:camel-base"
- version: "${camel.version}"
\ No newline at end of file
diff --git a/extensions/mcp-server/runtime/pom.xml
b/extensions/mcp-server/runtime/pom.xml
index b3d0541e0d..646ba38e00 100644
--- a/extensions/mcp-server/runtime/pom.xml
+++ b/extensions/mcp-server/runtime/pom.xml
@@ -28,7 +28,7 @@
<artifactId>camel-quarkus-mcp-server</artifactId>
<name>Camel Quarkus :: MCP Server :: Runtime</name>
- <description>Expose ai-tool routes as MCP tools over streamable
HTTP</description>
+ <description>Expose ai-tool routes as MCP tools and ai-resource routes as
MCP resources over streamable HTTP</description>
<properties>
<quarkus.metadata.status>preview</quarkus.metadata.status>
diff --git
a/extensions/mcp-server/runtime/src/main/resources/META-INF/quarkus-extension.yaml
b/extensions/mcp-server/runtime/src/main/resources/META-INF/quarkus-extension.yaml
index c41eb69f6b..fa14a8c72f 100644
---
a/extensions/mcp-server/runtime/src/main/resources/META-INF/quarkus-extension.yaml
+++
b/extensions/mcp-server/runtime/src/main/resources/META-INF/quarkus-extension.yaml
@@ -22,7 +22,7 @@
#
---
name: "Camel MCP Server"
-description: "Expose ai-tool routes as MCP tools over streamable HTTP"
+description: "Expose ai-tool routes as MCP tools and ai-resource routes as MCP
resources over streamable HTTP"
metadata:
icon-url:
"https://raw.githubusercontent.com/apache/camel-website/main/antora-ui-camel/src/img/logo-d.svg"
sponsor: "Apache Software Foundation"
diff --git a/extensions/pom.xml b/extensions/pom.xml
index 0cc0b41e4d..3fd03729b5 100644
--- a/extensions/pom.xml
+++ b/extensions/pom.xml
@@ -91,7 +91,6 @@
<module>cron</module>
<module>crypto</module>
<module>crypto-pgp</module>
- <module>csimple</module>
<module>csv</module>
<module>cxf-soap</module>
<module>cyberark-vault</module>
diff --git a/integration-tests/csimple/pom.xml
b/integration-tests/csimple/pom.xml
deleted file mode 100644
index 8c2e3289db..0000000000
--- a/integration-tests/csimple/pom.xml
+++ /dev/null
@@ -1,195 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-build-parent-it</artifactId>
- <version>3.40.0-SNAPSHOT</version>
- <relativePath>../../poms/build-parent-it/pom.xml</relativePath>
- </parent>
-
- <artifactId>camel-quarkus-integration-test-csimple</artifactId>
- <name>Camel Quarkus :: Integration Tests :: CSimple</name>
- <description>Integration tests for Camel Quarkus CSimple
extension</description>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-csimple</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-direct</artifactId>
- </dependency>
- <dependency>
- <groupId>io.quarkus</groupId>
- <artifactId>quarkus-resteasy</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-xml-io-dsl</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-yaml-dsl</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-kamelet</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-bean</artifactId>
- </dependency>
-
- <!-- test dependencies -->
- <dependency>
- <groupId>io.quarkus</groupId>
- <artifactId>quarkus-junit</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>io.rest-assured</groupId>
- <artifactId>rest-assured</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <profiles>
- <profile>
- <id>native</id>
- <activation>
- <property>
- <name>native</name>
- </property>
- </activation>
- <properties>
- <quarkus.native.enabled>true</quarkus.native.enabled>
- </properties>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-failsafe-plugin</artifactId>
- <executions>
- <execution>
- <goals>
- <goal>integration-test</goal>
- <goal>verify</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <id>virtualDependencies</id>
- <activation>
- <property>
- <name>!noVirtualDependencies</name>
- </property>
- </activation>
- <dependencies>
- <!-- The following dependencies guarantee that this module is
built after them. You can update them by running `mvn process-resources
-Pformat -N` from the source tree root directory -->
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-bean-deployment</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-csimple-deployment</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-direct-deployment</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-kamelet-deployment</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
-
<artifactId>camel-quarkus-xml-io-dsl-deployment</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-yaml-dsl-deployment</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- </dependencies>
- </profile>
- </profiles>
-
-</project>
diff --git
a/integration-tests/csimple/src/main/java/org/apache/camel/quarkus/component/csimple/it/CSimpleResource.java
b/integration-tests/csimple/src/main/java/org/apache/camel/quarkus/component/csimple/it/CSimpleResource.java
deleted file mode 100644
index 9fe184d5b8..0000000000
---
a/integration-tests/csimple/src/main/java/org/apache/camel/quarkus/component/csimple/it/CSimpleResource.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.quarkus.component.csimple.it;
-
-import jakarta.enterprise.context.ApplicationScoped;
-import jakarta.inject.Inject;
-import jakarta.ws.rs.Consumes;
-import jakarta.ws.rs.GET;
-import jakarta.ws.rs.POST;
-import jakarta.ws.rs.Path;
-import jakarta.ws.rs.Produces;
-import jakarta.ws.rs.core.MediaType;
-import org.apache.camel.ProducerTemplate;
-
-@Path("/csimple")
-@ApplicationScoped
-public class CSimpleResource {
-
- @Inject
- ProducerTemplate producerTemplate;
-
- @Path("/csimple-hello")
- @POST
- @Consumes(MediaType.TEXT_PLAIN)
- @Produces(MediaType.TEXT_PLAIN)
- public String csimpleHello(String body) {
- return producerTemplate.requestBody("direct:csimple-hello", body,
String.class);
- }
-
- @GET
- @Path("/csimple-hi")
- public String hi() {
- return producerTemplate.requestBody("direct:csimple-hi", null,
String.class);
- }
-
- @Path("/csimple-xml-dsl")
- @POST
- @Consumes(MediaType.TEXT_PLAIN)
- @Produces(MediaType.TEXT_PLAIN)
- public String csimpleXmlDsl(String body) {
- return producerTemplate.requestBody("direct:csimple-xml-dsl", body,
String.class);
- }
-
- @Path("/csimple-yaml-dsl")
- @POST
- @Consumes(MediaType.TEXT_PLAIN)
- @Produces(MediaType.TEXT_PLAIN)
- public String csimpleYamlDsl(String body) {
- return producerTemplate.requestBody("direct:csimple-yaml-dsl", body,
String.class);
- }
-
- @POST
- @Path("/predicate")
- @Consumes(MediaType.TEXT_PLAIN)
- @Produces(MediaType.TEXT_PLAIN)
- public String predicate(String message) {
- return producerTemplate.requestBody("direct:predicate", message,
String.class);
- }
-}
diff --git
a/integration-tests/csimple/src/main/java/org/apache/camel/quarkus/component/csimple/it/CSimpleRoute.java
b/integration-tests/csimple/src/main/java/org/apache/camel/quarkus/component/csimple/it/CSimpleRoute.java
deleted file mode 100644
index 740e3a0d39..0000000000
---
a/integration-tests/csimple/src/main/java/org/apache/camel/quarkus/component/csimple/it/CSimpleRoute.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.quarkus.component.csimple.it;
-
-import io.quarkus.runtime.annotations.RegisterForReflection;
-import org.apache.camel.builder.RouteBuilder;
-
-@RegisterForReflection(targets = String.class)
-public class CSimpleRoute extends RouteBuilder {
-
- @Override
- public void configure() {
- routeTemplate("whereTo")
- .templateParameter("bar")
- .templateBean("myBar", String.class, "csimple", "Hi")
- .from("kamelet:source")
- .to("bean:{{myBar}}?method=toString")
- .setBody().csimple("${body} {{bar}}");
- from("direct:csimple-hi")
- .kamelet("whereTo?bar=Bill");
- from("direct:csimple-hello")
- .setBody().csimple("Hello ${body}");
- from("direct:predicate")
- .choice()
- .when().csimple("${body} > 10")
- .setBody().constant("High").endChoice()
- .otherwise()
- .setBody().constant("Low").endChoice();
- }
-
-}
diff --git
a/integration-tests/csimple/src/main/resources/application.properties
b/integration-tests/csimple/src/main/resources/application.properties
deleted file mode 100644
index 940bc7645b..0000000000
--- a/integration-tests/csimple/src/main/resources/application.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-## ---------------------------------------------------------------------------
-## Licensed to the Apache Software Foundation (ASF) under one or more
-## contributor license agreements. See the NOTICE file distributed with
-## this work for additional information regarding copyright ownership.
-## The ASF licenses this file to You under the Apache License, Version 2.0
-## (the "License"); you may not use this file except in compliance with
-## the License. You may obtain a copy of the License at
-##
-## http://www.apache.org/licenses/LICENSE-2.0
-##
-## Unless required by applicable law or agreed to in writing, software
-## distributed under the License is distributed on an "AS IS" BASIS,
-## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-## See the License for the specific language governing permissions and
-## limitations under the License.
-## ---------------------------------------------------------------------------
-
-camel.main.routes-include-pattern =
classpath:routes/my-routes.xml,classpath:routes/my-routes.yaml
diff --git a/integration-tests/csimple/src/main/resources/routes/my-routes.xml
b/integration-tests/csimple/src/main/resources/routes/my-routes.xml
deleted file mode 100644
index e6b44701ed..0000000000
--- a/integration-tests/csimple/src/main/resources/routes/my-routes.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
--->
-<routes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="http://camel.apache.org/schema/spring"
- xmlns:foo="http://camel.apache.org/foo"
- xsi:schemaLocation="
- http://camel.apache.org/schema/spring
- http://camel.apache.org/schema/spring/camel-spring.xsd">
-
- <route id="csimple-xml-dsl">
- <from uri="direct:csimple-xml-dsl"/>
- <setBody>
- <csimple>Hi ${body}</csimple>
- </setBody>
- </route>
-
-</routes>
\ No newline at end of file
diff --git a/integration-tests/csimple/src/main/resources/routes/my-routes.yaml
b/integration-tests/csimple/src/main/resources/routes/my-routes.yaml
deleted file mode 100644
index 2a71518d64..0000000000
--- a/integration-tests/csimple/src/main/resources/routes/my-routes.yaml
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
----
-- from:
- uri: "direct:csimple-yaml-dsl"
- steps:
- - setBody:
- csimple: "Bonjour ${body}"
diff --git
a/integration-tests/csimple/src/test/java/org/apache/camel/quarkus/component/csimple/it/CSimpleIT.java
b/integration-tests/csimple/src/test/java/org/apache/camel/quarkus/component/csimple/it/CSimpleIT.java
deleted file mode 100644
index d4e651fb85..0000000000
---
a/integration-tests/csimple/src/test/java/org/apache/camel/quarkus/component/csimple/it/CSimpleIT.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.quarkus.component.csimple.it;
-
-import io.quarkus.test.junit.QuarkusIntegrationTest;
-
-@QuarkusIntegrationTest
-class CSimpleIT extends CSimpleTest {
-
-}
diff --git
a/integration-tests/csimple/src/test/java/org/apache/camel/quarkus/component/csimple/it/CSimpleTest.java
b/integration-tests/csimple/src/test/java/org/apache/camel/quarkus/component/csimple/it/CSimpleTest.java
deleted file mode 100644
index 056c4482aa..0000000000
---
a/integration-tests/csimple/src/test/java/org/apache/camel/quarkus/component/csimple/it/CSimpleTest.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.quarkus.component.csimple.it;
-
-import io.quarkus.test.junit.QuarkusTest;
-import io.restassured.RestAssured;
-import io.restassured.http.ContentType;
-import org.hamcrest.CoreMatchers;
-import org.junit.jupiter.api.Test;
-
-import static org.hamcrest.Matchers.is;
-
-@QuarkusTest
-class CSimpleTest {
-
- @Test
- void csimpleHello() {
- RestAssured.given()
- .body("Joe")
- .contentType(ContentType.TEXT)
- .post("/csimple/csimple-hello")
- .then()
- .body(is("Hello Joe"));
- }
-
- @Test
- void csimpleHi() {
- RestAssured.given()
- .get("/csimple/csimple-hi")
- .then()
- .body(is("Hi Bill"));
- }
-
- @Test
- void csimpleXml() {
- RestAssured.given()
- .body("Joe")
- .contentType(ContentType.TEXT)
- .post("/csimple/csimple-xml-dsl")
- .then()
- .body(is("Hi Joe"));
- }
-
- @Test
- void csimpleYaml() {
- RestAssured.given()
- .body("John")
- .contentType(ContentType.TEXT)
- .post("/csimple/csimple-yaml-dsl")
- .then()
- .body(is("Bonjour John"));
- }
-
- @Test
- void csimpleHigh() {
- RestAssured.given()
- .body("15")
- .post("/csimple/predicate")
- .then()
- .statusCode(200)
- .body(CoreMatchers.is("High"));
- }
-
- @Test
- void csimpleLow() {
- RestAssured.given()
- .body("3")
- .post("/csimple/predicate")
- .then()
- .statusCode(200)
- .body(CoreMatchers.is("Low"));
- }
-}
diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml
index 861aef036d..eebc40c749 100644
--- a/integration-tests/pom.xml
+++ b/integration-tests/pom.xml
@@ -75,7 +75,6 @@
<module>couchdb</module>
<module>crypto</module>
<module>crypto-pgp</module>
- <module>csimple</module>
<module>csv</module>
<module>cxf-soap-grouped</module>
<module>cyberark-vault</module>
diff --git a/pom.xml b/pom.xml
index 4be07da078..038c23b210 100644
--- a/pom.xml
+++ b/pom.xml
@@ -151,7 +151,7 @@
<minio.version>9.0.3</minio.version><!-- @sync
io.quarkiverse.minio:quarkus-minio-parent:${quarkiverse-minio.version}
prop:minio.version -->
<msal4j.version>1.23.1</msal4j.version><!-- @sync
com.azure:azure-identity:${azure-identity.version}
dep:com.microsoft.azure:msal4j -->
<murmur.version>1.0.0</murmur.version>
- <mvel2.version>2.5.2.Final</mvel2.version><!-- @sync
org.apache.camel:camel-dependencies:${camel.version} prop:mvel-version -->
+ <mvel2.version>2.5.3.Final</mvel2.version><!-- @sync
org.apache.camel:camel-dependencies:${camel.version} prop:mvel-version -->
<mybatis.version>3.5.19</mybatis.version><!-- @sync
io.quarkiverse.mybatis:quarkus-parent:${quarkiverse-mybatis.version}
prop:mybatis.version -->
<oak-jackrabbit-api.version>2.2.0</oak-jackrabbit-api.version><!--
@sync org.apache.jackrabbit:jackrabbit-parent:${jackrabbit-version}
prop:oak-jackrabbit-api.version.implemented -->
<okhttp.version>4.12.0</okhttp.version>
diff --git a/poms/bom/pom.xml b/poms/bom/pom.xml
index 65606ba8c7..a219a177ea 100644
--- a/poms/bom/pom.xml
+++ b/poms/bom/pom.xml
@@ -144,6 +144,11 @@
<artifactId>camel-ai-observability-api</artifactId>
<version>${camel.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-ai-resource</artifactId>
+ <version>${camel.version}</version>
+ </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-ai-tool</artifactId>
@@ -4210,16 +4215,6 @@
<artifactId>camel-quarkus-crypto-pgp-deployment</artifactId>
<version>${camel-quarkus.version}</version>
</dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-csimple</artifactId>
- <version>${camel-quarkus.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-csimple-deployment</artifactId>
- <version>${camel-quarkus.version}</version>
- </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-csv</artifactId>
diff --git a/poms/bom/src/main/generated/flattened-full-pom.xml
b/poms/bom/src/main/generated/flattened-full-pom.xml
index fd14ad660a..53b496d08f 100644
--- a/poms/bom/src/main/generated/flattened-full-pom.xml
+++ b/poms/bom/src/main/generated/flattened-full-pom.xml
@@ -67,6 +67,11 @@
<artifactId>camel-ai-observability-api</artifactId>
<version>4.23.0-SNAPSHOT</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-ai-resource</artifactId>
+ <version>4.23.0-SNAPSHOT</version>
+ </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-ai-tool</artifactId>
@@ -4095,16 +4100,6 @@
<artifactId>camel-quarkus-crypto-pgp-deployment</artifactId>
<version>3.40.0-SNAPSHOT</version>
</dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-csimple</artifactId>
- <version>3.40.0-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-csimple-deployment</artifactId>
- <version>3.40.0-SNAPSHOT</version>
- </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-csv</artifactId>
@@ -7113,7 +7108,7 @@
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-base</artifactId>
- <version>8.10.1</version>
+ <version>8.12.0</version>
<exclusions>
<exclusion>
<groupId>com.google.code.findbugs</groupId>
@@ -7132,12 +7127,12 @@
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-client</artifactId>
- <version>8.10.1</version>
+ <version>8.12.0</version>
</dependency>
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-structures-dstu2.1</artifactId>
- <version>8.10.1</version>
+ <version>8.12.0</version>
<exclusions>
<exclusion>
<groupId>junit</groupId>
@@ -7152,17 +7147,17 @@
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-structures-dstu3</artifactId>
- <version>8.10.1</version>
+ <version>8.12.0</version>
</dependency>
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-structures-hl7org-dstu2</artifactId>
- <version>8.10.1</version>
+ <version>8.12.0</version>
</dependency>
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-structures-r4</artifactId>
- <version>8.10.1</version>
+ <version>8.12.0</version>
<exclusions>
<exclusion>
<groupId>org.glassfish</groupId>
@@ -7177,37 +7172,37 @@
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-structures-r5</artifactId>
- <version>8.10.1</version>
+ <version>8.12.0</version>
</dependency>
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>org.hl7.fhir.dstu2</artifactId>
- <version>6.10.2</version>
+ <version>6.10.3</version>
</dependency>
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>org.hl7.fhir.dstu2016may</artifactId>
- <version>6.10.2</version>
+ <version>6.10.3</version>
</dependency>
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>org.hl7.fhir.dstu3</artifactId>
- <version>6.10.2</version>
+ <version>6.10.3</version>
</dependency>
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>org.hl7.fhir.r4</artifactId>
- <version>6.10.2</version>
+ <version>6.10.3</version>
</dependency>
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>org.hl7.fhir.r5</artifactId>
- <version>6.10.2</version>
+ <version>6.10.3</version>
</dependency>
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>org.hl7.fhir.utilities</artifactId>
- <version>6.10.2</version>
+ <version>6.10.3</version>
</dependency>
<dependency>
<groupId>com.atlassian.jira</groupId>
@@ -8079,7 +8074,7 @@
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-core</artifactId>
- <version>3.0.0</version>
+ <version>3.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
@@ -8185,7 +8180,7 @@
<dependency>
<groupId>org.mvel</groupId>
<artifactId>mvel2</artifactId>
- <version>2.5.2.Final</version>
+ <version>2.5.3.Final</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
@@ -8362,7 +8357,7 @@
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
- <version>8.0.0</version>
+ <version>8.0.1</version>
</dependency>
<dependency>
<groupId>run.endive</groupId>
diff --git a/poms/bom/src/main/generated/flattened-reduced-pom.xml
b/poms/bom/src/main/generated/flattened-reduced-pom.xml
index a43753da06..bf8414a65f 100644
--- a/poms/bom/src/main/generated/flattened-reduced-pom.xml
+++ b/poms/bom/src/main/generated/flattened-reduced-pom.xml
@@ -105,7 +105,7 @@
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-base</artifactId>
- <version>8.10.1</version>
+ <version>8.12.0</version>
<exclusions>
<exclusion>
<groupId>com.google.code.findbugs</groupId>
@@ -124,12 +124,12 @@
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-client</artifactId>
- <version>8.10.1</version>
+ <version>8.12.0</version>
</dependency>
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-structures-dstu2.1</artifactId>
- <version>8.10.1</version>
+ <version>8.12.0</version>
<exclusions>
<exclusion>
<groupId>junit</groupId>
@@ -144,17 +144,17 @@
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-structures-dstu3</artifactId>
- <version>8.10.1</version>
+ <version>8.12.0</version>
</dependency>
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-structures-hl7org-dstu2</artifactId>
- <version>8.10.1</version>
+ <version>8.12.0</version>
</dependency>
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-structures-r4</artifactId>
- <version>8.10.1</version>
+ <version>8.12.0</version>
<exclusions>
<exclusion>
<groupId>org.glassfish</groupId>
@@ -169,37 +169,37 @@
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-structures-r5</artifactId>
- <version>8.10.1</version>
+ <version>8.12.0</version>
</dependency>
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>org.hl7.fhir.dstu2</artifactId>
- <version>6.10.2</version>
+ <version>6.10.3</version>
</dependency>
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>org.hl7.fhir.dstu2016may</artifactId>
- <version>6.10.2</version>
+ <version>6.10.3</version>
</dependency>
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>org.hl7.fhir.dstu3</artifactId>
- <version>6.10.2</version>
+ <version>6.10.3</version>
</dependency>
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>org.hl7.fhir.r4</artifactId>
- <version>6.10.2</version>
+ <version>6.10.3</version>
</dependency>
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>org.hl7.fhir.r5</artifactId>
- <version>6.10.2</version>
+ <version>6.10.3</version>
</dependency>
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>org.hl7.fhir.utilities</artifactId>
- <version>6.10.2</version>
+ <version>6.10.3</version>
</dependency>
<dependency>
<groupId>com.atlassian.jira</groupId>
@@ -1410,6 +1410,11 @@
<artifactId>camel-ai-observability-api</artifactId>
<version>4.23.0-SNAPSHOT</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-ai-resource</artifactId>
+ <version>4.23.0-SNAPSHOT</version>
+ </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-ai-tool</artifactId>
@@ -5443,16 +5448,6 @@
<artifactId>camel-quarkus-crypto-pgp-deployment</artifactId>
<version>3.40.0-SNAPSHOT</version>
</dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-csimple</artifactId>
- <version>3.40.0-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-csimple-deployment</artifactId>
- <version>3.40.0-SNAPSHOT</version>
- </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-csv</artifactId>
@@ -8893,7 +8888,7 @@
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-core</artifactId>
- <version>3.0.0</version>
+ <version>3.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
@@ -9231,7 +9226,7 @@
<dependency>
<groupId>org.mvel</groupId>
<artifactId>mvel2</artifactId>
- <version>2.5.2.Final</version>
+ <version>2.5.3.Final</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
@@ -9548,7 +9543,7 @@
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
- <version>8.0.0</version>
+ <version>8.0.1</version>
</dependency>
<dependency>
<groupId>run.endive</groupId>
diff --git a/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml
b/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml
index 2d369f7d0e..0242dd1b57 100644
--- a/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml
+++ b/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml
@@ -105,7 +105,7 @@
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-base</artifactId>
- <version>8.10.1</version>
+ <version>8.12.0</version>
<exclusions>
<exclusion>
<groupId>com.google.code.findbugs</groupId>
@@ -124,12 +124,12 @@
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-client</artifactId>
- <version>8.10.1</version>
+ <version>8.12.0</version>
</dependency>
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-structures-dstu2.1</artifactId>
- <version>8.10.1</version>
+ <version>8.12.0</version>
<exclusions>
<exclusion>
<groupId>junit</groupId>
@@ -144,17 +144,17 @@
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-structures-dstu3</artifactId>
- <version>8.10.1</version>
+ <version>8.12.0</version>
</dependency>
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-structures-hl7org-dstu2</artifactId>
- <version>8.10.1</version>
+ <version>8.12.0</version>
</dependency>
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-structures-r4</artifactId>
- <version>8.10.1</version>
+ <version>8.12.0</version>
<exclusions>
<exclusion>
<groupId>org.glassfish</groupId>
@@ -169,37 +169,37 @@
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-structures-r5</artifactId>
- <version>8.10.1</version>
+ <version>8.12.0</version>
</dependency>
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>org.hl7.fhir.dstu2</artifactId>
- <version>6.10.2</version>
+ <version>6.10.3</version>
</dependency>
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>org.hl7.fhir.dstu2016may</artifactId>
- <version>6.10.2</version>
+ <version>6.10.3</version>
</dependency>
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>org.hl7.fhir.dstu3</artifactId>
- <version>6.10.2</version>
+ <version>6.10.3</version>
</dependency>
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>org.hl7.fhir.r4</artifactId>
- <version>6.10.2</version>
+ <version>6.10.3</version>
</dependency>
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>org.hl7.fhir.r5</artifactId>
- <version>6.10.2</version>
+ <version>6.10.3</version>
</dependency>
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>org.hl7.fhir.utilities</artifactId>
- <version>6.10.2</version>
+ <version>6.10.3</version>
</dependency>
<dependency>
<groupId>com.atlassian.jira</groupId>
@@ -1410,6 +1410,11 @@
<artifactId>camel-ai-observability-api</artifactId>
<version>4.23.0-SNAPSHOT</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-ai-resource</artifactId>
+ <version>4.23.0-SNAPSHOT</version>
+ </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-ai-tool</artifactId>
@@ -5443,16 +5448,6 @@
<artifactId>camel-quarkus-crypto-pgp-deployment</artifactId>
<version>3.40.0-SNAPSHOT</version>
</dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-csimple</artifactId>
- <version>3.40.0-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-csimple-deployment</artifactId>
- <version>3.40.0-SNAPSHOT</version>
- </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-csv</artifactId>
@@ -8893,7 +8888,7 @@
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-core</artifactId>
- <version>3.0.0</version>
+ <version>3.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
@@ -9231,7 +9226,7 @@
<dependency>
<groupId>org.mvel</groupId>
<artifactId>mvel2</artifactId>
- <version>2.5.2.Final</version>
+ <version>2.5.3.Final</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
@@ -9548,7 +9543,7 @@
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
- <version>8.0.0</version>
+ <version>8.0.1</version>
</dependency>
<dependency>
<groupId>run.endive</groupId>
diff --git
a/tooling/maven-plugin/src/main/java/org/apache/camel/quarkus/maven/CqCatalog.java
b/tooling/maven-plugin/src/main/java/org/apache/camel/quarkus/maven/CqCatalog.java
index 1711870a84..0551dcb013 100644
---
a/tooling/maven-plugin/src/main/java/org/apache/camel/quarkus/maven/CqCatalog.java
+++
b/tooling/maven-plugin/src/main/java/org/apache/camel/quarkus/maven/CqCatalog.java
@@ -144,10 +144,8 @@ public class CqCatalog {
switch (flavor) {
case camel:
if ("core".equals(cqArtifactIdBase)) {
- filter = model -> ("camel-base".equals(model.getArtifactId())
- ||
"camel-core-languages".equals(model.getArtifactId())) &&
!"csimple".equals(model.getName());
- } else if ("csimple".equals(cqArtifactIdBase)) {
- filter = model ->
"camel-core-languages".equals(model.getArtifactId()) &&
"csimple".equals(model.getName());
+ filter = model -> "camel-base".equals(model.getArtifactId())
+ ||
"camel-core-languages".equals(model.getArtifactId());
} else if ("reactive-executor".equals(cqArtifactIdBase)) {
filter = model ->
"camel-reactive-executor-vertx".equals(model.getArtifactId());
} else if ("qute".equals(cqArtifactIdBase)) {
diff --git a/tooling/scripts/test-categories.yaml
b/tooling/scripts/test-categories.yaml
index bf55478293..21b1d3487c 100644
--- a/tooling/scripts/test-categories.yaml
+++ b/tooling/scripts/test-categories.yaml
@@ -233,7 +233,6 @@ group-11:
group-12:
- ai-tool
- aws2-grouped
- - csimple
- github2
- quartz-clustered
- knative