You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ji...@apache.org on 2024/10/17 07:30:15 UTC
(camel-quarkus) 23/31: Removed js-dsl and jsh-dsl
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
commit 544c1acf19ae56a796abd40125ae48cfafcabde2
Author: JiriOndrusek <on...@gmail.com>
AuthorDate: Wed Oct 9 12:33:04 2024 +0200
Removed js-dsl and jsh-dsl
---
docs/modules/ROOT/examples/others/js-dsl.yml | 13 --
docs/modules/ROOT/examples/others/jsh-dsl.yml | 13 --
docs/modules/ROOT/nav.adoc | 2 -
.../ROOT/pages/reference/extensions/js-dsl.adoc | 79 --------
.../ROOT/pages/reference/extensions/jsh-dsl.adoc | 45 -----
extensions/js-dsl/deployment/pom.xml | 61 ------
.../dsl/js/deployment/JavaScriptDslFeature.java | 30 ---
.../dsl/js/deployment/JavaScriptDslProcessor.java | 224 ---------------------
extensions/js-dsl/pom.xml | 37 ----
extensions/js-dsl/runtime/pom.xml | 76 -------
.../js-dsl/runtime/src/main/doc/limitations.adoc | 33 ---
.../dsl/js/runtime/JavaScriptDslBiConsumer.java | 81 --------
.../dsl/js/runtime/JavaScriptDslBiFunction.java | 84 --------
.../dsl/js/runtime/JavaScriptDslBiPredicate.java | 82 --------
.../dsl/js/runtime/JavaScriptDslConsumer.java | 72 -------
.../dsl/js/runtime/JavaScriptDslFunction.java | 75 -------
.../dsl/js/runtime/JavaScriptDslHelper.java | 46 -----
.../dsl/js/runtime/JavaScriptDslPredicate.java | 72 -------
.../dsl/js/runtime/JavaScriptDslProcessor.java | 69 -------
.../dsl/js/runtime/JavaScriptDslSupplier.java | 57 ------
.../main/resources/META-INF/quarkus-extension.yaml | 35 ----
extensions/jsh-dsl/deployment/pom.xml | 65 ------
.../dsl/jsh/deployment/JshDslProcessor.java | 190 -----------------
extensions/jsh-dsl/pom.xml | 37 ----
extensions/jsh-dsl/runtime/pom.xml | 80 --------
.../camel/quarkus/dsl/jsh/runtime/Configurer.java | 35 ----
.../graal/SubstituteJshRoutesBuilderLoader.java | 33 ---
.../main/resources/META-INF/quarkus-extension.yaml | 34 ----
extensions/pom.xml | 2 -
integration-tests/js-dsl/README.adoc | 10 -
integration-tests/js-dsl/pom.xml | 199 ------------------
.../camel/quarkus/js/JavaScriptDslResource.java | 100 ---------
.../src/main/resources/application.properties | 21 --
.../js-dsl/src/main/resources/module.mjs | 18 --
.../js-dsl/src/main/resources/routes/my-routes.js | 20 --
.../routes/routes-with-component-configuration.js | 25 ---
.../routes/routes-with-context-configuration.js | 23 ---
.../resources/routes/routes-with-endpoint-dsl.js | 24 ---
.../main/resources/routes/routes-with-modules.js | 23 ---
.../resources/routes/routes-with-processors.js | 32 ---
.../routes/routes-with-rest-configuration.js | 30 ---
.../main/resources/routes/routes-with-rest-dsl.js | 26 ---
.../apache/camel/quarkus/js/JavaScriptDslIT.java | 23 ---
.../apache/camel/quarkus/js/JavaScriptDslTest.java | 79 --------
integration-tests/jsh-dsl/pom.xml | 127 ------------
.../camel/quarkus/dsl/jsh/JshDslResource.java | 81 --------
.../src/main/resources/application.properties | 21 --
.../jsh-dsl/src/main/resources/routes/MyRoute.jsh | 20 --
.../org/apache/camel/quarkus/dsl/jsh/JshDslIT.java | 24 ---
.../apache/camel/quarkus/dsl/jsh/JshDslTest.java | 59 ------
integration-tests/pom.xml | 2 -
poms/bom/pom.xml | 36 ----
poms/bom/src/main/generated/flattened-full-pom.xml | 36 ----
.../src/main/generated/flattened-reduced-pom.xml | 41 ----
.../generated/flattened-reduced-verbose-pom.xml | 41 ----
55 files changed, 2903 deletions(-)
diff --git a/docs/modules/ROOT/examples/others/js-dsl.yml b/docs/modules/ROOT/examples/others/js-dsl.yml
deleted file mode 100644
index 1e813b7d86..0000000000
--- a/docs/modules/ROOT/examples/others/js-dsl.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-js-dsl
-cqArtifactIdBase: js-dsl
-cqNativeSupported: true
-cqStatus: Stable
-cqDeprecated: true
-cqJvmSince: 1.8.0
-cqNativeSince: 1.8.0
-cqCamelPartName: js-dsl
-cqCamelPartTitle: JavaScript DSL
-cqCamelPartDescription: Camel DSL with JavaScript
-cqExtensionPageTitle: JavaScript DSL
diff --git a/docs/modules/ROOT/examples/others/jsh-dsl.yml b/docs/modules/ROOT/examples/others/jsh-dsl.yml
deleted file mode 100644
index b6ea34a537..0000000000
--- a/docs/modules/ROOT/examples/others/jsh-dsl.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-jsh-dsl
-cqArtifactIdBase: jsh-dsl
-cqNativeSupported: true
-cqStatus: Stable
-cqDeprecated: true
-cqJvmSince: 2.16.0
-cqNativeSince: 2.16.0
-cqCamelPartName: jsh-dsl
-cqCamelPartTitle: JavaShell DSL
-cqCamelPartDescription: Camel DSL with JavaShell
-cqExtensionPageTitle: JavaShell DSL
diff --git a/docs/modules/ROOT/nav.adoc b/docs/modules/ROOT/nav.adoc
index 5097fa461f..2cf27cf893 100644
--- a/docs/modules/ROOT/nav.adoc
+++ b/docs/modules/ROOT/nav.adoc
@@ -180,8 +180,6 @@
*** xref:reference/extensions/jasypt.adoc[Jasypt]
*** xref:reference/extensions/java-joor-dsl.adoc[Java jOOR DSL]
*** xref:reference/extensions/javascript.adoc[JavaScript]
-*** xref:reference/extensions/js-dsl.adoc[JavaScript DSL]
-*** xref:reference/extensions/jsh-dsl.adoc[JavaShell DSL]
*** xref:reference/extensions/jfr.adoc[Jfr]
*** xref:reference/extensions/jira.adoc[Jira]
*** xref:reference/extensions/json-patch.adoc[JsonPatch]
diff --git a/docs/modules/ROOT/pages/reference/extensions/js-dsl.adoc b/docs/modules/ROOT/pages/reference/extensions/js-dsl.adoc
deleted file mode 100644
index 158db04d43..0000000000
--- a/docs/modules/ROOT/pages/reference/extensions/js-dsl.adoc
+++ /dev/null
@@ -1,79 +0,0 @@
-// Do not edit directly!
-// This file was generated by camel-quarkus-maven-plugin:update-extension-doc-page
-[id="extensions-js-dsl"]
-= JavaScript DSL
-:linkattrs:
-:cq-artifact-id: camel-quarkus-js-dsl
-:cq-native-supported: true
-:cq-status: Experimental
-:cq-status-deprecation: Experimental Deprecated
-:cq-description: An JavaScript stack for parsing JavaScript route definitions
-:cq-deprecated: true
-:cq-jvm-since: 1.8.0
-:cq-native-since: 1.8.0
-
-ifeval::[{doc-show-badges} == true]
-[.badges]
-[.badge-key]##JVM since##[.badge-supported]##1.8.0## [.badge-key]##Native since##[.badge-supported]##1.8.0## [.badge-key]##⚠️##[.badge-unsupported]##Deprecated##
-endif::[]
-
-An JavaScript stack for parsing JavaScript route definitions
-
-[id="extensions-js-dsl-whats-inside"]
-== What's inside
-
-* xref:{cq-camel-components}:others:js-dsl.adoc[JavaScript DSL]
-
-Please refer to the above link for usage and configuration details.
-
-[id="extensions-js-dsl-maven-coordinates"]
-== Maven coordinates
-
-[source,xml]
-----
-<dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-js-dsl</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-js-dsl-camel-quarkus-limitations"]
-== Camel Quarkus limitations
-
-Since the function `Java.extend` https://www.graalvm.org/latest/reference-manual/js/JavaInteroperability/#extending-java-classes[is only available in JVM mode], by default, there is no way to implement a functional interface like a `Camel Processor` in JavaScript that is supported by the native compilation.
-
-As workaround, an implementation of the main functional interfaces (`org.apache.camel.Processor`, `java.util.function.Consumer`, `java.util.function.Supplier`, `java.util.function.Function`, `java.util.function.Predicate`, `java.util.function.BiConsumer`, `java.util.function.BiFunction` and `java.util.function.BiPredicate`) is available in the package `org.apache.camel.quarkus.dsl.js.runtime` whose simple name is prefixed by `JavaScriptDsl`. For each implementation, the body of the metho [...]
-
-So for example, to implement a `Camel Processor` instead of using the function `Java.extend` which is only available in JVM mode as next:
-
-[source,javascript]
-----
-const Processor = Java.type("org.apache.camel.Processor"); // <1>
-const p = Java.extend(Processor); // <2>
-const a = new p(e => { e.getMessage().setBody('Some Content') }); // <3>
-
-from('direct:a')
- .process(a); // <4>
-----
-<1> Retrieve the class `org.apache.camel.Processor`
-<2> Create a new class that implements the functional interface `org.apache.camel.Processor`
-<3> Instantiate the new class with a function as argument representing the implementation of the method to implement
-<4> Provide the processor to the route definition.
-
-To have a code compatible with the both modes, it is possible to instantiate directly the implementation of the corresponding functional interface which is in this case the class `org.apache.camel.quarkus.dsl.js.runtime.JavaScriptDslProcessor` as next:
-
-[source,javascript]
-----
-const Processor = Java.type("org.apache.camel.quarkus.dsl.js.runtime.JavaScriptDslProcessor"); // <1>
-const p = new Processor("e", `e.getMessage().setBody('Some Content')`); // <2>
-
-from('direct:a')
- .process(p); // <3>
-----
-<1> Retrieve the class `org.apache.camel.quarkus.dsl.js.runtime.JavaScriptDslProcessor`
-<2> Instantiate the dedicated class with the name of the argument `e` as first parameter and the body of the function as second parameter representing the implementation of the method to implement
-<3> Provide the processor to the route definition.
-
diff --git a/docs/modules/ROOT/pages/reference/extensions/jsh-dsl.adoc b/docs/modules/ROOT/pages/reference/extensions/jsh-dsl.adoc
deleted file mode 100644
index 37cfb84611..0000000000
--- a/docs/modules/ROOT/pages/reference/extensions/jsh-dsl.adoc
+++ /dev/null
@@ -1,45 +0,0 @@
-// Do not edit directly!
-// This file was generated by camel-quarkus-maven-plugin:update-extension-doc-page
-[id="extensions-jsh-dsl"]
-= JavaShell DSL
-:linkattrs:
-:cq-artifact-id: camel-quarkus-jsh-dsl
-:cq-native-supported: true
-:cq-status: Stable
-:cq-status-deprecation: Stable Deprecated
-:cq-description: Camel DSL with JavaShell
-:cq-deprecated: true
-:cq-jvm-since: 2.16.0
-:cq-native-since: 2.16.0
-
-ifeval::[{doc-show-badges} == true]
-[.badges]
-[.badge-key]##JVM since##[.badge-supported]##2.16.0## [.badge-key]##Native since##[.badge-supported]##2.16.0## [.badge-key]##⚠️##[.badge-unsupported]##Deprecated##
-endif::[]
-
-Camel DSL with JavaShell
-
-[id="extensions-jsh-dsl-whats-inside"]
-== What's inside
-
-* xref:{cq-camel-components}:others:jsh-dsl.adoc[JavaShell DSL]
-
-Please refer to the above link for usage and configuration details.
-
-[id="extensions-jsh-dsl-maven-coordinates"]
-== Maven coordinates
-
-https://{link-quarkus-code-generator}/?extension-search=camel-quarkus-jsh-dsl[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-jsh-dsl</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::[]
diff --git a/extensions/js-dsl/deployment/pom.xml b/extensions/js-dsl/deployment/pom.xml
deleted file mode 100644
index b3c0db3a1b..0000000000
--- a/extensions/js-dsl/deployment/pom.xml
+++ /dev/null
@@ -1,61 +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-js-dsl-parent</artifactId>
- <version>3.16.0-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>camel-quarkus-js-dsl-deployment</artifactId>
- <name>Camel Quarkus :: JavaScript DSL DSL :: 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-js-dsl</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/js-dsl/deployment/src/main/java/org/apache/camel/quarkus/dsl/js/deployment/JavaScriptDslFeature.java b/extensions/js-dsl/deployment/src/main/java/org/apache/camel/quarkus/dsl/js/deployment/JavaScriptDslFeature.java
deleted file mode 100644
index bd14ef10a0..0000000000
--- a/extensions/js-dsl/deployment/src/main/java/org/apache/camel/quarkus/dsl/js/deployment/JavaScriptDslFeature.java
+++ /dev/null
@@ -1,30 +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.dsl.js.deployment;
-
-import io.quarkus.deployment.annotations.BuildStep;
-import io.quarkus.deployment.builditem.FeatureBuildItem;
-
-public class JavaScriptDslFeature {
- private static final String FEATURE = "camel-js-dsl";
-
- @BuildStep
- FeatureBuildItem feature() {
- return new FeatureBuildItem(FEATURE);
- }
-}
diff --git a/extensions/js-dsl/deployment/src/main/java/org/apache/camel/quarkus/dsl/js/deployment/JavaScriptDslProcessor.java b/extensions/js-dsl/deployment/src/main/java/org/apache/camel/quarkus/dsl/js/deployment/JavaScriptDslProcessor.java
deleted file mode 100644
index 8232ccfcd9..0000000000
--- a/extensions/js-dsl/deployment/src/main/java/org/apache/camel/quarkus/dsl/js/deployment/JavaScriptDslProcessor.java
+++ /dev/null
@@ -1,224 +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.dsl.js.deployment;
-
-import java.lang.reflect.Method;
-import java.time.Duration;
-import java.time.Instant;
-import java.time.temporal.Temporal;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeMap;
-import java.util.TreeSet;
-import java.util.stream.Collectors;
-
-import io.quarkus.arc.Components;
-import io.quarkus.deployment.annotations.BuildProducer;
-import io.quarkus.deployment.annotations.BuildStep;
-import io.quarkus.deployment.builditem.CombinedIndexBuildItem;
-import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
-import io.quarkus.deployment.builditem.nativeimage.ReflectiveMethodBuildItem;
-import io.quarkus.deployment.pkg.steps.NativeOrNativeSourcesBuild;
-import org.apache.camel.CamelContext;
-import org.apache.camel.Component;
-import org.apache.camel.Endpoint;
-import org.apache.camel.Exchange;
-import org.apache.camel.ExchangePattern;
-import org.apache.camel.Message;
-import org.apache.camel.NamedNode;
-import org.apache.camel.builder.DataFormatClause;
-import org.apache.camel.builder.ExpressionClause;
-import org.apache.camel.dsl.js.JavaScriptDSL;
-import org.apache.camel.model.Block;
-import org.apache.camel.model.FromDefinition;
-import org.apache.camel.model.NoOutputDefinition;
-import org.apache.camel.model.OptionalIdentifiedDefinition;
-import org.apache.camel.model.ProcessDefinition;
-import org.apache.camel.model.ProcessorDefinition;
-import org.apache.camel.model.RouteDefinition;
-import org.apache.camel.model.ToDefinition;
-import org.apache.camel.model.dataformat.JsonLibrary;
-import org.apache.camel.model.language.ExpressionDefinition;
-import org.apache.camel.model.rest.RestSecurityDefinition;
-import org.apache.camel.model.transformer.TransformerDefinition;
-import org.apache.camel.model.validator.ValidatorDefinition;
-import org.apache.camel.quarkus.dsl.js.runtime.JavaScriptDslBiConsumer;
-import org.apache.camel.quarkus.dsl.js.runtime.JavaScriptDslBiFunction;
-import org.apache.camel.quarkus.dsl.js.runtime.JavaScriptDslBiPredicate;
-import org.apache.camel.quarkus.dsl.js.runtime.JavaScriptDslConsumer;
-import org.apache.camel.quarkus.dsl.js.runtime.JavaScriptDslFunction;
-import org.apache.camel.quarkus.dsl.js.runtime.JavaScriptDslPredicate;
-import org.apache.camel.quarkus.dsl.js.runtime.JavaScriptDslSupplier;
-import org.apache.camel.spi.ExchangeFormatter;
-import org.apache.camel.spi.NamespaceAware;
-import org.jboss.jandex.ClassInfo;
-import org.jboss.jandex.DotName;
-import org.jboss.jandex.IndexView;
-
-public class JavaScriptDslProcessor {
- private static final List<Class<?>> JAVA_CLASSES = Arrays.asList(
- Character.class,
- Byte.class,
- CharSequence.class, String.class,
- Number.class,
- Integer.class,
- Long.class,
- Float.class,
- Double.class,
- // Time
- Date.class,
- Temporal.class,
- Instant.class,
- Duration.class,
- // Containers
- Map.class, HashMap.class, TreeMap.class,
- List.class, ArrayList.class, LinkedList.class,
- Set.class, HashSet.class, TreeSet.class);
-
- private static final List<Class<?>> CAMEL_REFLECTIVE_CLASSES = Arrays.asList(
- ExchangeFormatter.class,
- RouteDefinition.class,
- ProcessorDefinition.class,
- DataFormatClause.class,
- FromDefinition.class,
- ToDefinition.class,
- ExpressionDefinition.class,
- ProcessDefinition.class,
- ExpressionDefinition.class,
- ExpressionClause.class,
- Exchange.class,
- Message.class,
- ExchangePattern.class,
- Endpoint.class,
- CamelContext.class,
- JsonLibrary.class,
- NamedNode.class,
- OptionalIdentifiedDefinition.class,
- NamespaceAware.class,
- Block.class,
- RestSecurityDefinition.class,
- ValidatorDefinition.class,
- TransformerDefinition.class,
- NoOutputDefinition.class);
- public static final String BUILDER_CLASS_SUFFIX = "Builders";
-
- @BuildStep(onlyIf = NativeOrNativeSourcesBuild.class)
- void registerReflectiveClasses(
- BuildProducer<ReflectiveClassBuildItem> reflectiveClass,
- BuildProducer<ReflectiveMethodBuildItem> reflectiveMethods,
- CombinedIndexBuildItem combinedIndexBuildItem) {
-
- IndexView view = combinedIndexBuildItem.getIndex();
-
- for (Class<?> type : CAMEL_REFLECTIVE_CLASSES) {
- DotName name = DotName.createSimple(type.getName());
-
- if (type.isInterface()) {
- for (ClassInfo info : view.getAllKnownImplementors(name)) {
- reflectiveClass.produce(
- ReflectiveClassBuildItem.builder(info.name().toString()).methods().build());
- }
- } else {
- for (ClassInfo info : view.getAllKnownSubclasses(name)) {
- reflectiveClass.produce(
- ReflectiveClassBuildItem.builder(info.name().toString()).methods().build());
- }
- }
-
- reflectiveClass.produce(
- ReflectiveClassBuildItem.builder(type)
- .constructors(true)
- .methods(true)
- .fields(type.isEnum())
- .build());
- }
-
- for (Class<?> type : JAVA_CLASSES) {
- reflectiveClass.produce(ReflectiveClassBuildItem.builder(type).methods().build());
- }
-
- reflectiveClass.produce(ReflectiveClassBuildItem.builder(Components.class).methods().build());
- reflectiveClass.produce(ReflectiveClassBuildItem.builder(JavaScriptDSL.class).fields().build());
- reflectiveClass.produce(ReflectiveClassBuildItem.builder("org.apache.camel.converter.jaxp.XmlConverter").methods()
- .build());
-
- Set<String> existingComponents = view.getAllKnownImplementors(Component.class)
- .stream()
- .map(JavaScriptDslProcessor::extractName)
- .collect(Collectors.toSet());
-
- Set<Class<?>> types = new HashSet<>();
- // Register all public methods of JavaScriptDSL for reflection to be accessible in native mode from a JavaScript resource
- for (Method method : JavaScriptDSL.class.getMethods()) {
- Class<?> declaringClass = method.getDeclaringClass();
- if (!declaringClass.equals(Object.class)) {
- String declaringClassName = declaringClass.getSimpleName();
- // Keep only the methods that are not from builder classes or that are from builder classes of included
- // components
- if (!declaringClassName.endsWith(BUILDER_CLASS_SUFFIX) || existingComponents.contains(
- declaringClassName.substring(0, declaringClassName.length() - BUILDER_CLASS_SUFFIX.length()))) {
- Class<?> returnType = method.getReturnType();
- types.add(returnType);
- reflectiveMethods.produce(new ReflectiveMethodBuildItem(method));
- if (declaringClassName.endsWith(BUILDER_CLASS_SUFFIX)) {
- // Add the return type of the advanced method if any
- Arrays.stream(returnType.getMethods())
- .filter(m -> m.getName().equals("advanced") && m.getParameterTypes().length == 0)
- .findAny()
- .ifPresent(m -> types.add(m.getReturnType()));
- }
- }
- }
- }
- // Register all the Camel return types of public methods of the camel reflective classes for reflection to
- // be accessible in native mode from a JavaScript resource
- for (Class<?> c : CAMEL_REFLECTIVE_CLASSES) {
- for (Method method : c.getMethods()) {
- if (!method.getDeclaringClass().equals(Object.class)) {
- Class<?> returnType = method.getReturnType();
- if (returnType.getPackageName().startsWith("org.apache.camel.")
- && !CAMEL_REFLECTIVE_CLASSES.contains(returnType)) {
- types.add(returnType);
- }
- }
- }
- }
- // Allow access to methods by reflection to be accessible in native mode from a JavaScript resource
- reflectiveClass.produce(ReflectiveClassBuildItem.builder(types.toArray(new Class<?>[0])).constructors(false)
- .methods().build());
- // Register for reflection the runtime implementation of the main functional interfaces.
- reflectiveClass.produce(
- ReflectiveClassBuildItem.builder(JavaScriptDslBiConsumer.class, JavaScriptDslBiFunction.class,
- JavaScriptDslBiPredicate.class, JavaScriptDslConsumer.class, JavaScriptDslFunction.class,
- JavaScriptDslPredicate.class, org.apache.camel.quarkus.dsl.js.runtime.JavaScriptDslProcessor.class,
- JavaScriptDslSupplier.class).build());
- }
-
- private static String extractName(ClassInfo classInfo) {
- String className = classInfo.simpleName();
- int index = className.lastIndexOf('.');
- return className.substring(index + 1).replace("Component", "");
- }
-}
diff --git a/extensions/js-dsl/pom.xml b/extensions/js-dsl/pom.xml
deleted file mode 100644
index 7fc633c1ea..0000000000
--- a/extensions/js-dsl/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.16.0-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>camel-quarkus-js-dsl-parent</artifactId>
- <name>Camel Quarkus :: JavaScript DSL</name>
- <packaging>pom</packaging>
-
- <modules>
- <module>deployment</module>
- <module>runtime</module>
- </modules>
-</project>
diff --git a/extensions/js-dsl/runtime/pom.xml b/extensions/js-dsl/runtime/pom.xml
deleted file mode 100644
index b9aa0f3b8e..0000000000
--- a/extensions/js-dsl/runtime/pom.xml
+++ /dev/null
@@ -1,76 +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-js-dsl-parent</artifactId>
- <version>3.16.0-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>camel-quarkus-js-dsl</artifactId>
- <name>Camel Quarkus :: JavaScript DSL :: Runtime</name>
- <description>An JavaScript stack for parsing JavaScript route definitions</description>
-
- <properties>
- <camel.quarkus.jvmSince>1.8.0</camel.quarkus.jvmSince>
- <camel.quarkus.nativeSince>1.8.0</camel.quarkus.nativeSince>
- <quarkus.metadata.unlisted>true</quarkus.metadata.unlisted>
- <quarkus.metadata.status>experimental</quarkus.metadata.status>
- </properties>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-core</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-js-dsl</artifactId>
- </dependency>
- <dependency>
- <groupId>org.graalvm.js</groupId>
- <artifactId>js-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/js-dsl/runtime/src/main/doc/limitations.adoc b/extensions/js-dsl/runtime/src/main/doc/limitations.adoc
deleted file mode 100644
index a287a0bb78..0000000000
--- a/extensions/js-dsl/runtime/src/main/doc/limitations.adoc
+++ /dev/null
@@ -1,33 +0,0 @@
-Since the function `Java.extend` https://www.graalvm.org/latest/reference-manual/js/JavaInteroperability/#extending-java-classes[is only available in JVM mode], by default, there is no way to implement a functional interface like a `Camel Processor` in JavaScript that is supported by the native compilation.
-
-As workaround, an implementation of the main functional interfaces (`org.apache.camel.Processor`, `java.util.function.Consumer`, `java.util.function.Supplier`, `java.util.function.Function`, `java.util.function.Predicate`, `java.util.function.BiConsumer`, `java.util.function.BiFunction` and `java.util.function.BiPredicate`) is available in the package `org.apache.camel.quarkus.dsl.js.runtime` whose simple name is prefixed by `JavaScriptDsl`. For each implementation, the body of the metho [...]
-
-So for example, to implement a `Camel Processor` instead of using the function `Java.extend` which is only available in JVM mode as next:
-
-[source,javascript]
-----
-const Processor = Java.type("org.apache.camel.Processor"); // <1>
-const p = Java.extend(Processor); // <2>
-const a = new p(e => { e.getMessage().setBody('Some Content') }); // <3>
-
-from('direct:a')
- .process(a); // <4>
-----
-<1> Retrieve the class `org.apache.camel.Processor`
-<2> Create a new class that implements the functional interface `org.apache.camel.Processor`
-<3> Instantiate the new class with a function as argument representing the implementation of the method to implement
-<4> Provide the processor to the route definition.
-
-To have a code compatible with the both modes, it is possible to instantiate directly the implementation of the corresponding functional interface which is in this case the class `org.apache.camel.quarkus.dsl.js.runtime.JavaScriptDslProcessor` as next:
-
-[source,javascript]
-----
-const Processor = Java.type("org.apache.camel.quarkus.dsl.js.runtime.JavaScriptDslProcessor"); // <1>
-const p = new Processor("e", `e.getMessage().setBody('Some Content')`); // <2>
-
-from('direct:a')
- .process(p); // <3>
-----
-<1> Retrieve the class `org.apache.camel.quarkus.dsl.js.runtime.JavaScriptDslProcessor`
-<2> Instantiate the dedicated class with the name of the argument `e` as first parameter and the body of the function as second parameter representing the implementation of the method to implement
-<3> Provide the processor to the route definition.
diff --git a/extensions/js-dsl/runtime/src/main/java/org/apache/camel/quarkus/dsl/js/runtime/JavaScriptDslBiConsumer.java b/extensions/js-dsl/runtime/src/main/java/org/apache/camel/quarkus/dsl/js/runtime/JavaScriptDslBiConsumer.java
deleted file mode 100644
index ca5e38f82c..0000000000
--- a/extensions/js-dsl/runtime/src/main/java/org/apache/camel/quarkus/dsl/js/runtime/JavaScriptDslBiConsumer.java
+++ /dev/null
@@ -1,81 +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.dsl.js.runtime;
-
-import java.util.function.BiConsumer;
-
-import org.graalvm.polyglot.Context;
-import org.graalvm.polyglot.Value;
-
-import static org.apache.camel.dsl.js.JavaScriptRoutesBuilderLoader.LANGUAGE_ID;
-
-/**
- * {@code JavaScriptDslBiConsumer} is meant to be used as type of {@link BiConsumer} from a JavaScript file to remain
- * compatible
- * with the native mode that doesn't support the function {@code Java.extend}.
- *
- * @param <T> the type of the first argument to the operation
- * @param <U> the type of the second argument to the operation
- */
-public final class JavaScriptDslBiConsumer<T, U> implements BiConsumer<T, U> {
-
- /**
- * The name of the first argument.
- */
- private final String firstArgumentName;
- /**
- * The name of the second argument.
- */
- private final String secondArgumentName;
- /**
- * The source of the consumer.
- */
- private final CharSequence source;
-
- /**
- * Construct a {@code JavaScriptDslBiConsumer} with the given source, {@code t} as first argument name and {@code u} as
- * second argument.
- *
- * @param source the source of the consumer.
- */
- public JavaScriptDslBiConsumer(CharSequence source) {
- this("t", "u", source);
- }
-
- /**
- * Construct a {@code JavaScriptDslBiConsumer} with the given source and argument names.
- *
- * @param firstArgumentName the name of the first argument.
- * @param secondArgumentName the name of the second argument.
- * @param source the source of the consumer.
- */
- public JavaScriptDslBiConsumer(String firstArgumentName, String secondArgumentName, CharSequence source) {
- this.firstArgumentName = firstArgumentName;
- this.secondArgumentName = secondArgumentName;
- this.source = source;
- }
-
- @Override
- public void accept(T t, U u) {
- try (final Context context = JavaScriptDslHelper.createBuilder().build()) {
- final Value bindings = context.getBindings(LANGUAGE_ID);
- bindings.putMember(firstArgumentName, t);
- bindings.putMember(secondArgumentName, u);
- context.eval(LANGUAGE_ID, source);
- }
- }
-}
diff --git a/extensions/js-dsl/runtime/src/main/java/org/apache/camel/quarkus/dsl/js/runtime/JavaScriptDslBiFunction.java b/extensions/js-dsl/runtime/src/main/java/org/apache/camel/quarkus/dsl/js/runtime/JavaScriptDslBiFunction.java
deleted file mode 100644
index 0148bef5b9..0000000000
--- a/extensions/js-dsl/runtime/src/main/java/org/apache/camel/quarkus/dsl/js/runtime/JavaScriptDslBiFunction.java
+++ /dev/null
@@ -1,84 +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.dsl.js.runtime;
-
-import java.util.function.BiFunction;
-
-import org.graalvm.polyglot.Context;
-import org.graalvm.polyglot.Value;
-
-import static org.apache.camel.dsl.js.JavaScriptRoutesBuilderLoader.LANGUAGE_ID;
-
-/**
- * {@code JavaScriptDslBiFunction} is meant to be used as type of {@link BiFunction} from a JavaScript file to remain
- * compatible
- * with the native mode that doesn't support the function {@code Java.extend}.
- *
- * @param <T> the type of the first argument to the function
- * @param <U> the type of the second argument to the function
- * @param <R> the type of the result of the function
- */
-public final class JavaScriptDslBiFunction<T, U, R> implements BiFunction<T, U, R> {
-
- /**
- * The name of the first argument.
- */
- private final String firstArgumentName;
- /**
- * The name of the second argument.
- */
- private final String secondArgumentName;
- /**
- * The source of the function.
- */
- private final CharSequence source;
-
- /**
- * Construct a {@code JavaScriptDslBiFunction} with the given source, {@code t} as first argument name and {@code u} as
- * second argument.
- *
- * @param source the source of the function.
- */
- public JavaScriptDslBiFunction(CharSequence source) {
- this("t", "u", source);
- }
-
- /**
- * Construct a {@code JavaScriptDslBiFunction} with the given source and argument names.
- *
- * @param firstArgumentName the name of the first argument.
- * @param secondArgumentName the name of the second argument.
- * @param source the source of the function.
- */
- public JavaScriptDslBiFunction(String firstArgumentName, String secondArgumentName, CharSequence source) {
- this.firstArgumentName = firstArgumentName;
- this.secondArgumentName = secondArgumentName;
- this.source = source;
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public R apply(T t, U u) {
- try (final Context context = JavaScriptDslHelper.createBuilder().build()) {
- final Value bindings = context.getBindings(LANGUAGE_ID);
- bindings.putMember(firstArgumentName, t);
- bindings.putMember(secondArgumentName, u);
- Value value = context.eval(LANGUAGE_ID, source);
- return value == null ? null : (R) value.as(Object.class);
- }
- }
-}
diff --git a/extensions/js-dsl/runtime/src/main/java/org/apache/camel/quarkus/dsl/js/runtime/JavaScriptDslBiPredicate.java b/extensions/js-dsl/runtime/src/main/java/org/apache/camel/quarkus/dsl/js/runtime/JavaScriptDslBiPredicate.java
deleted file mode 100644
index 43f7e97944..0000000000
--- a/extensions/js-dsl/runtime/src/main/java/org/apache/camel/quarkus/dsl/js/runtime/JavaScriptDslBiPredicate.java
+++ /dev/null
@@ -1,82 +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.dsl.js.runtime;
-
-import java.util.function.BiPredicate;
-
-import org.graalvm.polyglot.Context;
-import org.graalvm.polyglot.Value;
-
-import static org.apache.camel.dsl.js.JavaScriptRoutesBuilderLoader.LANGUAGE_ID;
-
-/**
- * {@code JavaScriptDslBiPredicate} is meant to be used as type of {@link BiPredicate} from a JavaScript file to remain
- * compatible
- * with the native mode that doesn't support the function {@code Java.extend}.
- *
- * @param <T> the type of the first argument to the predicate
- * @param <U> the type of the second argument to the predicate
- */
-public final class JavaScriptDslBiPredicate<T, U> implements BiPredicate<T, U> {
-
- /**
- * The name of the first argument.
- */
- private final String firstArgumentName;
- /**
- * The name of the second argument.
- */
- private final String secondArgumentName;
- /**
- * The source of the predicate.
- */
- private final CharSequence source;
-
- /**
- * Construct a {@code JavaScriptDslBiPredicate} with the given source, {@code t} as first argument name and {@code u} as
- * second argument.
- *
- * @param source the source of the predicate.
- */
- public JavaScriptDslBiPredicate(CharSequence source) {
- this("t", "u", source);
- }
-
- /**
- * Construct a {@code JavaScriptDslBiPredicate} with the given source and argument names.
- *
- * @param firstArgumentName the name of the first argument.
- * @param secondArgumentName the name of the second argument.
- * @param source the source of the consumer.
- */
- public JavaScriptDslBiPredicate(String firstArgumentName, String secondArgumentName, CharSequence source) {
- this.firstArgumentName = firstArgumentName;
- this.secondArgumentName = secondArgumentName;
- this.source = source;
- }
-
- @Override
- public boolean test(T t, U u) {
- try (final Context context = JavaScriptDslHelper.createBuilder().build()) {
- final Value bindings = context.getBindings(LANGUAGE_ID);
- bindings.putMember(firstArgumentName, t);
- bindings.putMember(secondArgumentName, u);
- Value value = context.eval(LANGUAGE_ID, source);
- return value != null && value.asBoolean();
- }
- }
-}
diff --git a/extensions/js-dsl/runtime/src/main/java/org/apache/camel/quarkus/dsl/js/runtime/JavaScriptDslConsumer.java b/extensions/js-dsl/runtime/src/main/java/org/apache/camel/quarkus/dsl/js/runtime/JavaScriptDslConsumer.java
deleted file mode 100644
index 0b58ccf3ec..0000000000
--- a/extensions/js-dsl/runtime/src/main/java/org/apache/camel/quarkus/dsl/js/runtime/JavaScriptDslConsumer.java
+++ /dev/null
@@ -1,72 +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.dsl.js.runtime;
-
-import java.util.function.Consumer;
-
-import org.graalvm.polyglot.Context;
-import org.graalvm.polyglot.Value;
-
-import static org.apache.camel.dsl.js.JavaScriptRoutesBuilderLoader.LANGUAGE_ID;
-
-/**
- * {@code JavaScriptDslConsumer} is meant to be used as type of {@link Consumer} from a JavaScript file to remain
- * compatible
- * with the native mode that doesn't support the function {@code Java.extend}.
- *
- * @param <T> the type of the input to the operation
- */
-public final class JavaScriptDslConsumer<T> implements Consumer<T> {
-
- /**
- * The name of the argument.
- */
- private final String argumentName;
- /**
- * The source of the consumer.
- */
- private final CharSequence source;
-
- /**
- * Construct a {@code JavaScriptDslConsumer} with the given source and {@code t} as argument name.
- *
- * @param source the source of the consumer.
- */
- public JavaScriptDslConsumer(CharSequence source) {
- this("t", source);
- }
-
- /**
- * Construct a {@code JavaScriptDslConsumer} with the given source and argument name.
- *
- * @param argumentName the name of the argument.
- * @param source the source of the consumer.
- */
- public JavaScriptDslConsumer(String argumentName, CharSequence source) {
- this.argumentName = argumentName;
- this.source = source;
- }
-
- @Override
- public void accept(T t) {
- try (final Context context = JavaScriptDslHelper.createBuilder().build()) {
- final Value bindings = context.getBindings(LANGUAGE_ID);
- bindings.putMember(argumentName, t);
- context.eval(LANGUAGE_ID, source);
- }
- }
-}
diff --git a/extensions/js-dsl/runtime/src/main/java/org/apache/camel/quarkus/dsl/js/runtime/JavaScriptDslFunction.java b/extensions/js-dsl/runtime/src/main/java/org/apache/camel/quarkus/dsl/js/runtime/JavaScriptDslFunction.java
deleted file mode 100644
index 2ee269bc36..0000000000
--- a/extensions/js-dsl/runtime/src/main/java/org/apache/camel/quarkus/dsl/js/runtime/JavaScriptDslFunction.java
+++ /dev/null
@@ -1,75 +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.dsl.js.runtime;
-
-import java.util.function.Function;
-
-import org.graalvm.polyglot.Context;
-import org.graalvm.polyglot.Value;
-
-import static org.apache.camel.dsl.js.JavaScriptRoutesBuilderLoader.LANGUAGE_ID;
-
-/**
- * {@code JavaScriptDslFunction} is meant to be used as type of {@link Function} from a JavaScript file to remain
- * compatible
- * with the native mode that doesn't support the function {@code Java.extend}.
- *
- * @param <T> the type of the input to the function
- * @param <R> the type of the result of the function
- */
-public final class JavaScriptDslFunction<T, R> implements Function<T, R> {
-
- /**
- * The name of the argument.
- */
- private final String argumentName;
- /**
- * The source of the function.
- */
- private final CharSequence source;
-
- /**
- * Construct a {@code JavaScriptDslFunction} with the given source and {@code t} as argument name.
- *
- * @param source the source of the function.
- */
- public JavaScriptDslFunction(CharSequence source) {
- this("t", source);
- }
-
- /**
- * Construct a {@code JavaScriptDslFunction} with the given source and argument name.
- *
- * @param argumentName the name of the argument.
- * @param source the source of the function.
- */
- public JavaScriptDslFunction(String argumentName, CharSequence source) {
- this.argumentName = argumentName;
- this.source = source;
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public R apply(T t) {
- try (final Context context = JavaScriptDslHelper.createBuilder().build()) {
- final Value bindings = context.getBindings(LANGUAGE_ID);
- bindings.putMember(argumentName, t);
- Value value = context.eval(LANGUAGE_ID, source);
- return value == null ? null : (R) value.as(Object.class);
- }
- }
-}
diff --git a/extensions/js-dsl/runtime/src/main/java/org/apache/camel/quarkus/dsl/js/runtime/JavaScriptDslHelper.java b/extensions/js-dsl/runtime/src/main/java/org/apache/camel/quarkus/dsl/js/runtime/JavaScriptDslHelper.java
deleted file mode 100644
index 90d65dc1f4..0000000000
--- a/extensions/js-dsl/runtime/src/main/java/org/apache/camel/quarkus/dsl/js/runtime/JavaScriptDslHelper.java
+++ /dev/null
@@ -1,46 +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.dsl.js.runtime;
-
-import org.graalvm.polyglot.Context;
-import org.graalvm.polyglot.HostAccess;
-import org.graalvm.polyglot.PolyglotAccess;
-
-import static org.apache.camel.dsl.js.JavaScriptRoutesBuilderLoader.LANGUAGE_ID;
-
-/**
- * {@code JavaScriptDslHelper} is a utility class for the runtime implementation of the main functional interfaces.
- */
-final class JavaScriptDslHelper {
-
- private JavaScriptDslHelper() {
-
- }
-
- /**
- * @return a builder of context properly configured to evaluate a JavaScript expression.
- */
- static Context.Builder createBuilder() {
- return Context.newBuilder(LANGUAGE_ID)
- .allowHostAccess(HostAccess.ALL)
- .allowExperimentalOptions(true)
- .allowHostClassLookup(s -> true)
- .allowPolyglotAccess(PolyglotAccess.NONE)
- .allowIO(true)
- .option("engine.WarnInterpreterOnly", "false");
- }
-}
diff --git a/extensions/js-dsl/runtime/src/main/java/org/apache/camel/quarkus/dsl/js/runtime/JavaScriptDslPredicate.java b/extensions/js-dsl/runtime/src/main/java/org/apache/camel/quarkus/dsl/js/runtime/JavaScriptDslPredicate.java
deleted file mode 100644
index f9cc0105cd..0000000000
--- a/extensions/js-dsl/runtime/src/main/java/org/apache/camel/quarkus/dsl/js/runtime/JavaScriptDslPredicate.java
+++ /dev/null
@@ -1,72 +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.dsl.js.runtime;
-
-import java.util.function.Predicate;
-
-import org.graalvm.polyglot.Context;
-import org.graalvm.polyglot.Value;
-
-import static org.apache.camel.dsl.js.JavaScriptRoutesBuilderLoader.LANGUAGE_ID;
-
-/**
- * {@code JavaScriptDslPredicate} is meant to be used as type of {@link Predicate} from a JavaScript file to remain
- * compatible
- * with the native mode that doesn't support the function {@code Java.extend}.
- *
- * @param <T> the type of the input to the predicate
- */
-public final class JavaScriptDslPredicate<T> implements Predicate<T> {
-
- /**
- * The name of the argument.
- */
- private final String argumentName;
- /**
- * The source of the predicate.
- */
- private final CharSequence source;
-
- /**
- * Construct a {@code JavaScriptDslPredicate} with the given source and {@code t} as argument name.
- *
- * @param source the source of the predicate.
- */
- public JavaScriptDslPredicate(CharSequence source) {
- this("t", source);
- }
-
- /**
- * Construct a {@code JavaScriptDslPredicate} with the given source and argument name.
- *
- * @param source the source of the predicate.
- */
- public JavaScriptDslPredicate(String argumentName, CharSequence source) {
- this.argumentName = argumentName;
- this.source = source;
- }
-
- @Override
- public boolean test(T t) {
- try (final Context context = JavaScriptDslHelper.createBuilder().build()) {
- final Value bindings = context.getBindings(LANGUAGE_ID);
- bindings.putMember(argumentName, t);
- Value value = context.eval(LANGUAGE_ID, source);
- return value != null && value.asBoolean();
- }
- }
-}
diff --git a/extensions/js-dsl/runtime/src/main/java/org/apache/camel/quarkus/dsl/js/runtime/JavaScriptDslProcessor.java b/extensions/js-dsl/runtime/src/main/java/org/apache/camel/quarkus/dsl/js/runtime/JavaScriptDslProcessor.java
deleted file mode 100644
index 518311cef0..0000000000
--- a/extensions/js-dsl/runtime/src/main/java/org/apache/camel/quarkus/dsl/js/runtime/JavaScriptDslProcessor.java
+++ /dev/null
@@ -1,69 +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.dsl.js.runtime;
-
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.graalvm.polyglot.Context;
-import org.graalvm.polyglot.Value;
-
-import static org.apache.camel.dsl.js.JavaScriptRoutesBuilderLoader.LANGUAGE_ID;
-
-/**
- * {@code JavaScriptDslProcessor} is meant to be used as type of {@link Processor} from a JavaScript file to remain
- * compatible
- * with the native mode that doesn't support the function {@code Java.extend}.
- */
-public final class JavaScriptDslProcessor implements Processor {
-
- /**
- * The name of the argument.
- */
- private final String argumentName;
- /**
- * The source of the processor.
- */
- private final CharSequence source;
-
- /**
- * Construct a {@code JavaScriptDslProcessor} with the given source and {@code exchange} as argument name.
- *
- * @param source the source of the processor.
- */
- public JavaScriptDslProcessor(CharSequence source) {
- this("exchange", source);
- }
-
- /**
- * Construct a {@code JavaScriptDslProcessor} with the given source and argument name.
- *
- * @param source the source of the processor.
- */
- public JavaScriptDslProcessor(String argumentName, CharSequence source) {
- this.argumentName = argumentName;
- this.source = source;
- }
-
- @Override
- public void process(Exchange exchange) {
- try (final Context context = JavaScriptDslHelper.createBuilder().build()) {
- final Value bindings = context.getBindings(LANGUAGE_ID);
- bindings.putMember(argumentName, exchange);
- context.eval(LANGUAGE_ID, source);
- }
- }
-}
diff --git a/extensions/js-dsl/runtime/src/main/java/org/apache/camel/quarkus/dsl/js/runtime/JavaScriptDslSupplier.java b/extensions/js-dsl/runtime/src/main/java/org/apache/camel/quarkus/dsl/js/runtime/JavaScriptDslSupplier.java
deleted file mode 100644
index 74a83e73e0..0000000000
--- a/extensions/js-dsl/runtime/src/main/java/org/apache/camel/quarkus/dsl/js/runtime/JavaScriptDslSupplier.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.dsl.js.runtime;
-
-import java.util.function.Supplier;
-
-import org.graalvm.polyglot.Context;
-import org.graalvm.polyglot.Value;
-
-import static org.apache.camel.dsl.js.JavaScriptRoutesBuilderLoader.LANGUAGE_ID;
-
-/**
- * {@code JavaScriptDslSupplier} is meant to be used as type of {@link Supplier} from a JavaScript file to remain
- * compatible
- * with the native mode that doesn't support the function {@code Java.extend}.
- *
- * @param <T> the type of results supplied by this supplier
- */
-public final class JavaScriptDslSupplier<T> implements Supplier<T> {
-
- /**
- * The source of the supplier.
- */
- private final CharSequence source;
-
- /**
- * Construct a {@code JavaScriptDslSupplier} with the given source.
- *
- * @param source the source of the supplier.
- */
- public JavaScriptDslSupplier(CharSequence source) {
- this.source = source;
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public T get() {
- try (final Context context = JavaScriptDslHelper.createBuilder().build()) {
- Value value = context.eval(LANGUAGE_ID, source);
- return value == null ? null : (T) value.as(Object.class);
- }
- }
-}
diff --git a/extensions/js-dsl/runtime/src/main/resources/META-INF/quarkus-extension.yaml b/extensions/js-dsl/runtime/src/main/resources/META-INF/quarkus-extension.yaml
deleted file mode 100644
index 5f2481d79f..0000000000
--- a/extensions/js-dsl/runtime/src/main/resources/META-INF/quarkus-extension.yaml
+++ /dev/null
@@ -1,35 +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 JavaScript DSL"
-description: "An JavaScript stack for parsing JavaScript route definitions"
-metadata:
- icon-url: "https://raw.githubusercontent.com/apache/camel-website/main/antora-ui-camel/src/img/logo-d.svg"
- sponsor: "Apache Software Foundation"
- unlisted: true
- guide: "https://camel.apache.org/camel-quarkus/latest/reference/extensions/js-dsl.html"
- categories:
- - "integration"
- status:
- - "experimental"
- - "deprecated"
\ No newline at end of file
diff --git a/extensions/jsh-dsl/deployment/pom.xml b/extensions/jsh-dsl/deployment/pom.xml
deleted file mode 100644
index 71209c9fc1..0000000000
--- a/extensions/jsh-dsl/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-jsh-dsl-parent</artifactId>
- <version>3.16.0-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>camel-quarkus-jsh-dsl-deployment</artifactId>
- <name>Camel Quarkus :: JavaShell DSL :: 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-dsl-deployment</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-jsh-dsl</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/jsh-dsl/deployment/src/main/java/org/apache/camel/quarkus/dsl/jsh/deployment/JshDslProcessor.java b/extensions/jsh-dsl/deployment/src/main/java/org/apache/camel/quarkus/dsl/jsh/deployment/JshDslProcessor.java
deleted file mode 100644
index 68cd912976..0000000000
--- a/extensions/jsh-dsl/deployment/src/main/java/org/apache/camel/quarkus/dsl/jsh/deployment/JshDslProcessor.java
+++ /dev/null
@@ -1,190 +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.dsl.jsh.deployment;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.nio.charset.StandardCharsets;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
-
-import io.quarkus.deployment.annotations.BuildProducer;
-import io.quarkus.deployment.annotations.BuildStep;
-import io.quarkus.deployment.builditem.FeatureBuildItem;
-import io.quarkus.deployment.builditem.GeneratedClassBuildItem;
-import io.quarkus.deployment.builditem.GeneratedResourceBuildItem;
-import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
-import io.quarkus.deployment.dev.CompilationProvider;
-import io.quarkus.deployment.dev.JavaCompilationProvider;
-import io.quarkus.deployment.pkg.builditem.BuildSystemTargetBuildItem;
-import io.quarkus.deployment.pkg.builditem.CurateOutcomeBuildItem;
-import io.quarkus.deployment.pkg.steps.NativeOrNativeSourcesBuild;
-import io.quarkus.maven.dependency.ResolvedDependency;
-import io.quarkus.paths.PathCollection;
-import org.apache.camel.quarkus.core.deployment.main.CamelMainHelper;
-import org.apache.camel.quarkus.core.deployment.util.CamelSupport;
-import org.apache.camel.quarkus.dsl.jsh.runtime.Configurer;
-import org.apache.camel.quarkus.support.dsl.deployment.DslGeneratedClassBuildItem;
-import org.apache.camel.quarkus.support.dsl.deployment.DslSupportProcessor;
-import org.apache.camel.spi.Resource;
-import org.apache.camel.util.IOHelper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import static org.apache.camel.quarkus.support.dsl.deployment.DslSupportProcessor.CLASS_EXT;
-import static org.apache.camel.quarkus.support.dsl.deployment.DslSupportProcessor.determineName;
-import static org.apache.camel.quarkus.support.dsl.deployment.DslSupportProcessor.extractImports;
-
-class JshDslProcessor {
- private static final Logger LOG = LoggerFactory.getLogger(JshDslProcessor.class);
- private static final String PACKAGE_NAME = "org.apache.camel.quarkus.dsl.jsh.generated";
- private static final String FILE_FORMAT = "package %s;\n" +
- "%s\n" +
- "public class %s extends %s { \n" +
- " public %s(EndpointRouteBuilder builder, CamelContext context) {\n" +
- " super(builder, context);\n" +
- " }\n" +
- " public void configure() { \n" +
- " %s\n" +
- " }\n" +
- "}";
- private static final String FEATURE = "camel-jsh-dsl";
-
- @BuildStep
- FeatureBuildItem feature() {
- return new FeatureBuildItem(FEATURE);
- }
-
- @BuildStep(onlyIf = NativeOrNativeSourcesBuild.class)
- void compileScriptsAOT(BuildProducer<GeneratedClassBuildItem> generatedClass,
- BuildProducer<GeneratedResourceBuildItem> generatedResource,
- BuildProducer<ReflectiveClassBuildItem> reflectiveClass,
- BuildProducer<DslGeneratedClassBuildItem> generatedJavaClass,
- BuildSystemTargetBuildItem buildSystemTargetBuildItem,
- CurateOutcomeBuildItem curateOutcomeBuildItem) throws Exception {
- LOG.debug("Loading .jsh resources");
- final Path projectDir = Paths.get(".").toAbsolutePath().normalize();
- Path outputDirectory = buildSystemTargetBuildItem.getOutputDirectory();
- final Path generatedSourceDir = outputDirectory.resolve("jsh-dsl/generated-sources");
- Files.createDirectories(generatedSourceDir);
- final Path generatedSourceHomeDir = generatedSourceDir.resolve(PACKAGE_NAME.replace('.', File.separatorChar));
- Files.createDirectories(generatedSourceHomeDir);
- Map<String, Resource> nameToResource = new HashMap<>();
- Set<File> filesToCompile = new HashSet<>();
- CamelMainHelper.forEachMatchingResource(
- resource -> {
- if (!resource.getLocation().endsWith(".jsh")) {
- return;
- }
- String name = determineName(resource);
- try (InputStream is = resource.getInputStream()) {
- String content = toJavaClass(name, IOHelper.loadText(is));
- LOG.debug("Generated Java source content:\n {}", content);
- final Path sourceFile = generatedSourceHomeDir.resolve(String.format("%s.java", name));
- Files.write(sourceFile, content.getBytes(StandardCharsets.UTF_8));
- filesToCompile.add(sourceFile.toFile());
- nameToResource.put(String.format("%s.%s", PACKAGE_NAME, name), resource);
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- });
-
- if (filesToCompile.isEmpty()) {
- return;
- }
- final Path classesDir = outputDirectory.resolve("jsh-dsl/generated-classes");
- Files.createDirectories(classesDir);
- CompilationProvider.Context context = new CompilationProvider.Context(
- FEATURE,
- curateOutcomeBuildItem.getApplicationModel().getDependencies().stream()
- .map(ResolvedDependency::getResolvedPaths)
- .flatMap(PathCollection::stream)
- .map(Path::toFile)
- .filter(f -> f.getName().endsWith(".jar"))
- .collect(Collectors.toSet()),
- Collections.emptySet(),
- projectDir.toFile(),
- generatedSourceDir.toFile(),
- classesDir.toFile(),
- StandardCharsets.UTF_8.name(),
- Collections.emptyMap(),
- CamelSupport.COMPILATION_JVM_TARGET,
- null,
- null,
- Collections.emptyList(),
- Collections.emptyList(),
- null,
- Collections.emptySet(),
- Collections.emptyList(),
- null);
- try (JavaCompilationProvider compiler = new JavaCompilationProvider()) {
- compiler.compile(filesToCompile, context);
- }
-
- try (Stream<Path> classFiles = Files.walk(classesDir)) {
- classFiles
- .filter(Files::isRegularFile)
- .forEach(p -> {
- String relativePath = classesDir.relativize(p).toString();
- String className = relativePath.replace(File.separatorChar, '.').substring(0,
- relativePath.length() - CLASS_EXT.length());
- try {
- generatedClass.produce(new GeneratedClassBuildItem(true, className, Files.readAllBytes(p)));
- if (nameToResource.containsKey(className)) {
- reflectiveClass.produce(
- ReflectiveClassBuildItem.builder(className).build());
- generatedJavaClass
- .produce(new DslGeneratedClassBuildItem(className,
- nameToResource.get(className).getLocation(), true));
- }
- } catch (IOException e) {
- throw new RuntimeException("Could not read " + p);
- }
- });
- }
- }
-
- /**
- * Convert a JShell script into a Java class to be able to compile it.
- *
- * @param name the name of the Java class
- * @param contentResource the content of the JShell script
- * @return the content of the corresponding Java class.
- */
- private static String toJavaClass(String name, String contentResource) {
- List<String> imports = new ArrayList<>();
- imports.add("import org.apache.camel.*;");
- imports.add("import org.apache.camel.spi.*;");
- imports.add("import org.apache.camel.builder.endpoint.EndpointRouteBuilder;");
- DslSupportProcessor.ExtractImportResult extractImportResult = extractImports(contentResource);
- imports.addAll(extractImportResult.getImports());
- return String.format(
- FILE_FORMAT, PACKAGE_NAME, String.join("\n", imports), name,
- Configurer.class.getName(), name, extractImportResult.getContent());
- }
-}
diff --git a/extensions/jsh-dsl/pom.xml b/extensions/jsh-dsl/pom.xml
deleted file mode 100644
index 3c3dd30dee..0000000000
--- a/extensions/jsh-dsl/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.16.0-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>camel-quarkus-jsh-dsl-parent</artifactId>
- <name>Camel Quarkus :: JavaShell DSL</name>
- <packaging>pom</packaging>
-
- <modules>
- <module>deployment</module>
- <module>runtime</module>
- </modules>
-</project>
diff --git a/extensions/jsh-dsl/runtime/pom.xml b/extensions/jsh-dsl/runtime/pom.xml
deleted file mode 100644
index 31152e493a..0000000000
--- a/extensions/jsh-dsl/runtime/pom.xml
+++ /dev/null
@@ -1,80 +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-jsh-dsl-parent</artifactId>
- <version>3.16.0-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>camel-quarkus-jsh-dsl</artifactId>
- <name>Camel Quarkus :: JavaShell DSL :: Runtime</name>
- <description>Camel DSL with JavaShell</description>
-
- <properties>
- <camel.quarkus.jvmSince>2.16.0</camel.quarkus.jvmSince>
- <camel.quarkus.nativeSince>2.16.0</camel.quarkus.nativeSince>
- </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-dsl</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-jsh-dsl</artifactId>
- </dependency>
- <dependency>
- <groupId>org.graalvm.sdk</groupId>
- <artifactId>nativeimage</artifactId>
- <scope>provided</scope>
- </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/jsh-dsl/runtime/src/main/java/org/apache/camel/quarkus/dsl/jsh/runtime/Configurer.java b/extensions/jsh-dsl/runtime/src/main/java/org/apache/camel/quarkus/dsl/jsh/runtime/Configurer.java
deleted file mode 100644
index 6084efe095..0000000000
--- a/extensions/jsh-dsl/runtime/src/main/java/org/apache/camel/quarkus/dsl/jsh/runtime/Configurer.java
+++ /dev/null
@@ -1,35 +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.dsl.jsh.runtime;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.builder.endpoint.EndpointRouteBuilder;
-import org.apache.camel.quarkus.support.dsl.runtime.RoutesBuilderConfigurer;
-import org.apache.camel.spi.Registry;
-
-public abstract class Configurer implements RoutesBuilderConfigurer {
-
- protected final EndpointRouteBuilder builder;
- protected final CamelContext context;
- protected final Registry registry;
-
- protected Configurer(EndpointRouteBuilder builder, CamelContext context) {
- this.builder = builder;
- this.context = context;
- this.registry = context.getRegistry();
- }
-}
diff --git a/extensions/jsh-dsl/runtime/src/main/java/org/apache/camel/quarkus/dsl/jsh/runtime/graal/SubstituteJshRoutesBuilderLoader.java b/extensions/jsh-dsl/runtime/src/main/java/org/apache/camel/quarkus/dsl/jsh/runtime/graal/SubstituteJshRoutesBuilderLoader.java
deleted file mode 100644
index 3e86c68075..0000000000
--- a/extensions/jsh-dsl/runtime/src/main/java/org/apache/camel/quarkus/dsl/jsh/runtime/graal/SubstituteJshRoutesBuilderLoader.java
+++ /dev/null
@@ -1,33 +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.dsl.jsh.runtime.graal;
-
-import com.oracle.svm.core.annotate.Substitute;
-import com.oracle.svm.core.annotate.TargetClass;
-import org.apache.camel.RoutesBuilder;
-import org.apache.camel.dsl.jsh.JshRoutesBuilderLoader;
-import org.apache.camel.spi.Resource;
-
-@TargetClass(JshRoutesBuilderLoader.class)
-final class SubstituteJshRoutesBuilderLoader {
-
- @Substitute
- public RoutesBuilder loadRoutesBuilder(Resource resource) {
- // Do nothing
- return null;
- }
-}
diff --git a/extensions/jsh-dsl/runtime/src/main/resources/META-INF/quarkus-extension.yaml b/extensions/jsh-dsl/runtime/src/main/resources/META-INF/quarkus-extension.yaml
deleted file mode 100644
index c9b34b22a3..0000000000
--- a/extensions/jsh-dsl/runtime/src/main/resources/META-INF/quarkus-extension.yaml
+++ /dev/null
@@ -1,34 +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 JavaShell DSL"
-description: "Camel DSL with JavaShell"
-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/jsh-dsl.html"
- categories:
- - "integration"
- status:
- - "stable"
- - "deprecated"
\ No newline at end of file
diff --git a/extensions/pom.xml b/extensions/pom.xml
index f440c78617..23efd1b2c9 100644
--- a/extensions/pom.xml
+++ b/extensions/pom.xml
@@ -147,9 +147,7 @@
<module>joor</module>
<module>jpa</module>
<module>jq</module>
- <module>js-dsl</module>
<module>jsch</module>
- <module>jsh-dsl</module>
<module>jslt</module>
<module>json-validator</module>
<module>jsonata</module>
diff --git a/integration-tests/js-dsl/README.adoc b/integration-tests/js-dsl/README.adoc
deleted file mode 100644
index b36dda0ede..0000000000
--- a/integration-tests/js-dsl/README.adoc
+++ /dev/null
@@ -1,10 +0,0 @@
-== Camel Quarkus JS Integration Tests
-
-To run the native JS integration tests, you must ensure that you have GraalVM installed locally, together with JS component.
-
-You can install GraalVM JS as follows.
-
-[source,shell]
-----
-${GRAALVM_HOME}/bin/gu install js
-----
diff --git a/integration-tests/js-dsl/pom.xml b/integration-tests/js-dsl/pom.xml
deleted file mode 100644
index d563677637..0000000000
--- a/integration-tests/js-dsl/pom.xml
+++ /dev/null
@@ -1,199 +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.16.0-SNAPSHOT</version>
- <relativePath>../../poms/build-parent-it/pom.xml</relativePath>
- </parent>
-
- <artifactId>camel-quarkus-integration-test-js-dsl</artifactId>
- <name>Camel Quarkus :: Integration Tests ::JavaScript DSL :: Tests</name>
- <description>The camel integration tests</description>
-
- <properties>
- <!-- Takes too long or spends too much memory on GH actions -->
- <ci.native.tests.skip>true</ci.native.tests.skip>
- </properties>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-js-dsl</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-direct</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-log</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-platform-http</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-rest</artifactId>
- </dependency>
- <dependency>
- <groupId>io.quarkus</groupId>
- <artifactId>quarkus-jsonb</artifactId>
- </dependency>
- <dependency>
- <groupId>io.quarkus</groupId>
- <artifactId>quarkus-resteasy-jsonb</artifactId>
- </dependency>
-
- <!-- test dependencies -->
- <dependency>
- <groupId>io.quarkus</groupId>
- <artifactId>quarkus-junit5</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>io.rest-assured</groupId>
- <artifactId>rest-assured</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.assertj</groupId>
- <artifactId>assertj-core</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <profiles>
- <profile>
- <id>native</id>
- <activation>
- <property>
- <name>native</name>
- </property>
- <file>
- <exists>${env.GRAALVM_HOME}/bin/js</exists>
- </file>
- </activation>
- <properties>
- <quarkus.native.enabled>true</quarkus.native.enabled>
- <!-- Force host only native builds since the docker builder image does not have GraalVM JS installed -->
- <quarkus.native.container-build>false</quarkus.native.container-build>
- <quarkus.native.additional-build-args>--language:js</quarkus.native.additional-build-args>
- </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-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-js-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-log-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-platform-http-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-rest-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/js-dsl/src/main/java/org/apache/camel/quarkus/js/JavaScriptDslResource.java b/integration-tests/js-dsl/src/main/java/org/apache/camel/quarkus/js/JavaScriptDslResource.java
deleted file mode 100644
index 88db3e868f..0000000000
--- a/integration-tests/js-dsl/src/main/java/org/apache/camel/quarkus/js/JavaScriptDslResource.java
+++ /dev/null
@@ -1,100 +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.js;
-
-import java.util.Set;
-import java.util.stream.Collectors;
-
-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.ExtendedCamelContext;
-import org.apache.camel.ProducerTemplate;
-import org.apache.camel.Route;
-import org.apache.camel.component.direct.DirectEndpoint;
-import org.apache.camel.dsl.js.JavaScriptRoutesBuilderLoader;
-import org.apache.camel.quarkus.main.CamelMain;
-import org.apache.camel.spi.RoutesBuilderLoader;
-
-@Path("/js-dsl")
-@ApplicationScoped
-public class JavaScriptDslResource {
- @Inject
- CamelMain main;
-
- @Inject
- ProducerTemplate producerTemplate;
-
- @Path("/main/jsRoutesBuilderLoader")
- @GET
- @Produces(MediaType.TEXT_PLAIN)
- public String jsRoutesBuilder() {
- final ExtendedCamelContext camelContext = main.getCamelContext().getCamelContextExtension();
- return camelContext.getBootstrapFactoryFinder(RoutesBuilderLoader.FACTORY_PATH)
- .findClass(JavaScriptRoutesBuilderLoader.EXTENSION).get().getName();
- }
-
- @Path("/main/routeBuilders")
- @GET
- @Produces(MediaType.TEXT_PLAIN)
- public String routeBuilders() {
- return main.configure().getRoutesBuilders().stream()
- .map(rb -> rb.getClass().getSimpleName())
- .sorted()
- .collect(Collectors.joining(","));
- }
-
- @Path("/main/routes")
- @GET
- @Produces(MediaType.TEXT_PLAIN)
- public String routes() {
- return main.getCamelContext().getRoutes().stream()
- .map(Route::getId)
- .sorted()
- .collect(Collectors.joining(","));
- }
-
- @GET
- @Path("/main/successful/routes")
- @Consumes(MediaType.TEXT_PLAIN)
- @Produces(MediaType.TEXT_PLAIN)
- public int successfulRoutes() {
- Set<String> excluded = Set.of("my-js-route", "routes-with-rest-dsl-hello", "routes-with-rest-configuration-goodbye");
- int successful = 0;
- for (Route route : main.getCamelContext().getRoutes()) {
- String name = route.getRouteId();
- if (route.getEndpoint() instanceof DirectEndpoint && !excluded.contains(name)
- && producerTemplate.requestBody(route.getEndpoint(), "", Boolean.class) == Boolean.TRUE) {
- successful++;
- }
- }
- return successful;
- }
-
- @POST
- @Path("/hello")
- @Consumes(MediaType.TEXT_PLAIN)
- @Produces(MediaType.TEXT_PLAIN)
- public String hello(String message) {
- return producerTemplate.requestBody("direct:jsHello", message, String.class);
- }
-}
diff --git a/integration-tests/js-dsl/src/main/resources/application.properties b/integration-tests/js-dsl/src/main/resources/application.properties
deleted file mode 100644
index 6534184a2f..0000000000
--- a/integration-tests/js-dsl/src/main/resources/application.properties
+++ /dev/null
@@ -1,21 +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.
-## ---------------------------------------------------------------------------
-
-#
-# Main
-#
-camel.main.routes-include-pattern = classpath:routes/my-routes.js,classpath:routes/routes-with-rest-dsl.js,classpath:routes/routes-with-context-configuration.js,classpath:routes/routes-with-endpoint-dsl.js,classpath:routes/routes-with-rest-configuration.js,classpath:routes/routes-with-component-configuration.js,classpath:routes/routes-with-modules.js,classpath:routes/routes-with-processors.js
\ No newline at end of file
diff --git a/integration-tests/js-dsl/src/main/resources/module.mjs b/integration-tests/js-dsl/src/main/resources/module.mjs
deleted file mode 100644
index 43742fcb9a..0000000000
--- a/integration-tests/js-dsl/src/main/resources/module.mjs
+++ /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.
- */
-
-export const greeting = "Hello World!";
\ No newline at end of file
diff --git a/integration-tests/js-dsl/src/main/resources/routes/my-routes.js b/integration-tests/js-dsl/src/main/resources/routes/my-routes.js
deleted file mode 100644
index 8b5b19ccac..0000000000
--- a/integration-tests/js-dsl/src/main/resources/routes/my-routes.js
+++ /dev/null
@@ -1,20 +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('direct:jsHello')
- .id('my-js-route')
- .setBody().simple('Hello ${body} from JavaScript!')
\ No newline at end of file
diff --git a/integration-tests/js-dsl/src/main/resources/routes/routes-with-component-configuration.js b/integration-tests/js-dsl/src/main/resources/routes/routes-with-component-configuration.js
deleted file mode 100644
index bbea5b606f..0000000000
--- a/integration-tests/js-dsl/src/main/resources/routes/routes-with-component-configuration.js
+++ /dev/null
@@ -1,25 +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.
- */
-
-const DirectType = Java.type("org.apache.camel.component.direct.DirectComponent");
-
-const d = context.getComponent('direct', DirectType)
-d.setTimeout(1234)
-
-from("direct:routes-with-component-configuration")
- .id("routes-with-component-configuration")
- .setBody().constant("true")
diff --git a/integration-tests/js-dsl/src/main/resources/routes/routes-with-context-configuration.js b/integration-tests/js-dsl/src/main/resources/routes/routes-with-context-configuration.js
deleted file mode 100644
index f23e80d086..0000000000
--- a/integration-tests/js-dsl/src/main/resources/routes/routes-with-context-configuration.js
+++ /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.
- */
-
-context.setTypeConverterStatisticsEnabled(true)
-
-from("direct:routes-with-context-configuration")
- .id("routes-with-context-configuration")
- .setBody().constant("true")
-
diff --git a/integration-tests/js-dsl/src/main/resources/routes/routes-with-endpoint-dsl.js b/integration-tests/js-dsl/src/main/resources/routes/routes-with-endpoint-dsl.js
deleted file mode 100644
index ea7d73ecce..0000000000
--- a/integration-tests/js-dsl/src/main/resources/routes/routes-with-endpoint-dsl.js
+++ /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.
- */
-
-const f = direct("routes-with-endpoint-dsl").advanced().synchronous(true)
-const t = log("info");
-
-from(f)
- .id("routes-with-endpoint-dsl")
- .setBody().constant("true")
- .to(t);
diff --git a/integration-tests/js-dsl/src/main/resources/routes/routes-with-modules.js b/integration-tests/js-dsl/src/main/resources/routes/routes-with-modules.js
deleted file mode 100644
index 3daa029e2d..0000000000
--- a/integration-tests/js-dsl/src/main/resources/routes/routes-with-modules.js
+++ /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.
- */
-import { greeting } from "src/main/resources/module.mjs";
-
-from('direct:routes-with-modules')
- .id("routes-with-modules")
- .setBody().simple(greeting)
- .filter().simple("${body} == 'Hello World!'")
- .setBody().constant("true");
diff --git a/integration-tests/js-dsl/src/main/resources/routes/routes-with-processors.js b/integration-tests/js-dsl/src/main/resources/routes/routes-with-processors.js
deleted file mode 100644
index 475b5ce0f8..0000000000
--- a/integration-tests/js-dsl/src/main/resources/routes/routes-with-processors.js
+++ /dev/null
@@ -1,32 +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.
- */
-const consumer = Java.type("org.apache.camel.quarkus.dsl.js.runtime.JavaScriptDslConsumer");
-const c = new consumer("msg", `msg.setBody('From consumer')`);
-const processor = Java.type("org.apache.camel.quarkus.dsl.js.runtime.JavaScriptDslProcessor");
-const p = new processor(`exchange.getMessage().setBody('From processor')`);
-
-from('direct:routes-with-processors-consumer')
- .id("routes-with-processors-consumer")
- .process().message(c)
- .filter().simple("${body} == 'From consumer'")
- .setBody().constant("true");
-
-from('direct:routes-with-processors-processor')
- .id("routes-with-processors-processor")
- .process(p)
- .filter().simple("${body} == 'From processor'")
- .setBody().constant("true");
diff --git a/integration-tests/js-dsl/src/main/resources/routes/routes-with-rest-configuration.js b/integration-tests/js-dsl/src/main/resources/routes/routes-with-rest-configuration.js
deleted file mode 100644
index 48b62198c7..0000000000
--- a/integration-tests/js-dsl/src/main/resources/routes/routes-with-rest-configuration.js
+++ /dev/null
@@ -1,30 +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.
- */
-
-const c = restConfiguration()
-c.setComponent('platform-http')
-c.setPort('1234')
-
-rest('/')
- .produces("text/plain")
- .get('/say/goodbye')
- .id('routes-with-rest-configuration')
- .to('direct:goodbye');
-
-from('direct:goodbye')
- .id('routes-with-rest-configuration-goodbye')
- .transform().constant("Bye World");
diff --git a/integration-tests/js-dsl/src/main/resources/routes/routes-with-rest-dsl.js b/integration-tests/js-dsl/src/main/resources/routes/routes-with-rest-dsl.js
deleted file mode 100644
index 4ab15b8d66..0000000000
--- a/integration-tests/js-dsl/src/main/resources/routes/routes-with-rest-dsl.js
+++ /dev/null
@@ -1,26 +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.
- */
-
-rest('/')
- .produces("text/plain")
- .get('/say/hello')
- .id('routes-with-rest-dsl')
- .to('direct:hello');
-
-from('direct:hello')
- .id('routes-with-rest-dsl-hello')
- .transform().constant("Hello World");
diff --git a/integration-tests/js-dsl/src/test/java/org/apache/camel/quarkus/js/JavaScriptDslIT.java b/integration-tests/js-dsl/src/test/java/org/apache/camel/quarkus/js/JavaScriptDslIT.java
deleted file mode 100644
index 53e7cb36ba..0000000000
--- a/integration-tests/js-dsl/src/test/java/org/apache/camel/quarkus/js/JavaScriptDslIT.java
+++ /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.
- */
-package org.apache.camel.quarkus.js;
-
-import io.quarkus.test.junit.QuarkusIntegrationTest;
-
-@QuarkusIntegrationTest
-public class JavaScriptDslIT extends JavaScriptDslTest {
-}
diff --git a/integration-tests/js-dsl/src/test/java/org/apache/camel/quarkus/js/JavaScriptDslTest.java b/integration-tests/js-dsl/src/test/java/org/apache/camel/quarkus/js/JavaScriptDslTest.java
deleted file mode 100644
index 9eef21e3ab..0000000000
--- a/integration-tests/js-dsl/src/test/java/org/apache/camel/quarkus/js/JavaScriptDslTest.java
+++ /dev/null
@@ -1,79 +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.js;
-
-import io.quarkus.test.junit.QuarkusTest;
-import io.restassured.RestAssured;
-import org.apache.camel.dsl.js.JavaScriptRoutesBuilderLoader;
-import org.hamcrest.CoreMatchers;
-import org.junit.jupiter.api.Test;
-
-@QuarkusTest
-class JavaScriptDslTest {
-
- @Test
- void jsHello() {
- RestAssured.given()
- .body("David Smith")
- .post("/js-dsl/hello")
- .then()
- .statusCode(200)
- .body(CoreMatchers.is("Hello David Smith from JavaScript!"));
- }
-
- @Test
- void testMainInstanceWithJavaRoutes() {
- RestAssured.given()
- .get("/js-dsl/main/jsRoutesBuilderLoader")
- .then()
- .statusCode(200)
- .body(CoreMatchers.is(JavaScriptRoutesBuilderLoader.class.getName()));
-
- RestAssured.given()
- .get("/js-dsl/main/routeBuilders")
- .then()
- .statusCode(200)
- .body(CoreMatchers.is(""));
-
- RestAssured.given()
- .get("/js-dsl/main/routes")
- .then()
- .statusCode(200)
- .body(CoreMatchers.is(
- "my-js-route,routes-with-component-configuration,routes-with-context-configuration,routes-with-endpoint-dsl,routes-with-modules,routes-with-processors-consumer,routes-with-processors-processor,routes-with-rest-configuration-goodbye,routes-with-rest-dsl-hello"));
-
- RestAssured.given()
- .get("/js-dsl/main/successful/routes")
- .then()
- .statusCode(200)
- .body(CoreMatchers.is("6"));
- }
-
- @Test
- void testRestEndpoints() {
- RestAssured.given()
- .get("/say/hello")
- .then()
- .statusCode(200)
- .body(CoreMatchers.is("Hello World"));
- RestAssured.given()
- .get("/say/goodbye")
- .then()
- .statusCode(200)
- .body(CoreMatchers.is("Bye World"));
- }
-}
diff --git a/integration-tests/jsh-dsl/pom.xml b/integration-tests/jsh-dsl/pom.xml
deleted file mode 100644
index 4487369200..0000000000
--- a/integration-tests/jsh-dsl/pom.xml
+++ /dev/null
@@ -1,127 +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.16.0-SNAPSHOT</version>
- <relativePath>../../poms/build-parent-it/pom.xml</relativePath>
- </parent>
-
- <artifactId>camel-quarkus-integration-test-jsh-dsl</artifactId>
- <name>Camel Quarkus :: Integration Tests :: JavaShell DSL</name>
- <description>Integration tests for Camel Quarkus JavaShell DSL extension</description>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-jsh-dsl</artifactId>
- </dependency>
- <dependency>
- <groupId>io.quarkus</groupId>
- <artifactId>quarkus-resteasy</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-direct</artifactId>
- </dependency>
-
- <!-- test dependencies -->
- <dependency>
- <groupId>io.quarkus</groupId>
- <artifactId>quarkus-junit5</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-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-jsh-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/jsh-dsl/src/main/java/org/apache/camel/quarkus/dsl/jsh/JshDslResource.java b/integration-tests/jsh-dsl/src/main/java/org/apache/camel/quarkus/dsl/jsh/JshDslResource.java
deleted file mode 100644
index df2e323c8a..0000000000
--- a/integration-tests/jsh-dsl/src/main/java/org/apache/camel/quarkus/dsl/jsh/JshDslResource.java
+++ /dev/null
@@ -1,81 +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.dsl.jsh;
-
-import java.util.stream.Collectors;
-
-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.ExtendedCamelContext;
-import org.apache.camel.ProducerTemplate;
-import org.apache.camel.Route;
-import org.apache.camel.dsl.jsh.JshRoutesBuilderLoader;
-import org.apache.camel.quarkus.main.CamelMain;
-import org.apache.camel.spi.RoutesBuilderLoader;
-
-@Path("/jsh-dsl")
-@ApplicationScoped
-public class JshDslResource {
- @Inject
- CamelMain main;
-
- @Inject
- ProducerTemplate producerTemplate;
-
- @Path("/main/jshRoutesBuilderLoader")
- @GET
- @Produces(MediaType.TEXT_PLAIN)
- public String jshRoutesBuilder() {
- final ExtendedCamelContext camelContext = main.getCamelContext().getCamelContextExtension();
- return camelContext.getBootstrapFactoryFinder(RoutesBuilderLoader.FACTORY_PATH)
- .findClass(JshRoutesBuilderLoader.EXTENSION).get().getName();
- }
-
- @Path("/main/routeBuilders")
- @GET
- @Produces(MediaType.TEXT_PLAIN)
- public String routeBuilders() {
- return main.configure().getRoutesBuilders().stream()
- .map(rb -> rb.getClass().getSimpleName())
- .sorted()
- .collect(Collectors.joining(","));
- }
-
- @Path("/main/routes")
- @GET
- @Produces(MediaType.TEXT_PLAIN)
- public String routes() {
- return main.getCamelContext().getRoutes().stream()
- .map(Route::getId)
- .sorted()
- .collect(Collectors.joining(","));
- }
-
- @POST
- @Path("/hello")
- @Consumes(MediaType.TEXT_PLAIN)
- @Produces(MediaType.TEXT_PLAIN)
- public String hello(String message) {
- return producerTemplate.requestBody("direct:jshHello", message, String.class);
- }
-}
diff --git a/integration-tests/jsh-dsl/src/main/resources/application.properties b/integration-tests/jsh-dsl/src/main/resources/application.properties
deleted file mode 100644
index d102a9146d..0000000000
--- a/integration-tests/jsh-dsl/src/main/resources/application.properties
+++ /dev/null
@@ -1,21 +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.
-## ---------------------------------------------------------------------------
-
-#
-# Main
-#
-camel.main.routes-include-pattern = classpath:routes/*.jsh
diff --git a/integration-tests/jsh-dsl/src/main/resources/routes/MyRoute.jsh b/integration-tests/jsh-dsl/src/main/resources/routes/MyRoute.jsh
deleted file mode 100644
index 89a3414d1e..0000000000
--- a/integration-tests/jsh-dsl/src/main/resources/routes/MyRoute.jsh
+++ /dev/null
@@ -1,20 +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.
- */
-
-builder.from("direct:jshHello")
- .id("my-jsh-route")
- .setBody(exchange -> "Hello " + exchange.getMessage().getBody() + " from JShell!");
diff --git a/integration-tests/jsh-dsl/src/test/java/org/apache/camel/quarkus/dsl/jsh/JshDslIT.java b/integration-tests/jsh-dsl/src/test/java/org/apache/camel/quarkus/dsl/jsh/JshDslIT.java
deleted file mode 100644
index 347cc48db6..0000000000
--- a/integration-tests/jsh-dsl/src/test/java/org/apache/camel/quarkus/dsl/jsh/JshDslIT.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.dsl.jsh;
-
-import io.quarkus.test.junit.QuarkusIntegrationTest;
-
-@QuarkusIntegrationTest
-class JshDslIT extends JshDslTest {
-
-}
diff --git a/integration-tests/jsh-dsl/src/test/java/org/apache/camel/quarkus/dsl/jsh/JshDslTest.java b/integration-tests/jsh-dsl/src/test/java/org/apache/camel/quarkus/dsl/jsh/JshDslTest.java
deleted file mode 100644
index 62a3c27b91..0000000000
--- a/integration-tests/jsh-dsl/src/test/java/org/apache/camel/quarkus/dsl/jsh/JshDslTest.java
+++ /dev/null
@@ -1,59 +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.dsl.jsh;
-
-import io.quarkus.test.junit.QuarkusTest;
-import io.restassured.RestAssured;
-import org.apache.camel.dsl.jsh.JshRoutesBuilderLoader;
-import org.hamcrest.CoreMatchers;
-import org.junit.jupiter.api.Test;
-
-@QuarkusTest
-class JshDslTest {
-
- @Test
- void jshHello() {
- RestAssured.given()
- .body("Brad Smith")
- .post("/jsh-dsl/hello")
- .then()
- .statusCode(200)
- .body(CoreMatchers.is("Hello Brad Smith from JShell!"));
- }
-
- @Test
- void testMainInstanceWithJavaRoutes() {
- RestAssured.given()
- .get("/jsh-dsl/main/jshRoutesBuilderLoader")
- .then()
- .statusCode(200)
- .body(CoreMatchers.is(JshRoutesBuilderLoader.class.getName()));
-
- RestAssured.given()
- .get("/jsh-dsl/main/routeBuilders")
- .then()
- .statusCode(200)
- .body(CoreMatchers.is(""));
-
- RestAssured.given()
- .get("/jsh-dsl/main/routes")
- .then()
- .statusCode(200)
- .body(CoreMatchers.is("my-jsh-route"));
- }
-
-}
diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml
index 9770e67ba4..55f236f881 100644
--- a/integration-tests/pom.xml
+++ b/integration-tests/pom.xml
@@ -130,9 +130,7 @@
<module>joor</module>
<module>jpa</module>
<module>jq</module>
- <module>js-dsl</module>
<module>jsch</module>
- <module>jsh-dsl</module>
<module>jslt</module>
<module>json-validator</module>
<module>jsonata</module>
diff --git a/poms/bom/pom.xml b/poms/bom/pom.xml
index 031471ccad..880398e9be 100644
--- a/poms/bom/pom.xml
+++ b/poms/bom/pom.xml
@@ -1687,27 +1687,11 @@
</exclusion>
</exclusions>
</dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-js-dsl</artifactId>
- <version>${camel.version}</version>
- <exclusions>
- <exclusion>
- <groupId>org.graalvm.js</groupId>
- <artifactId>js</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-jsch</artifactId>
<version>${camel.version}</version>
</dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-jsh-dsl</artifactId>
- <version>${camel.version}</version>
- </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-jslt</artifactId>
@@ -4537,16 +4521,6 @@
<artifactId>camel-quarkus-jq-deployment</artifactId>
<version>${camel-quarkus.version}</version>
</dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-js-dsl</artifactId>
- <version>${camel-quarkus.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-js-dsl-deployment</artifactId>
- <version>${camel-quarkus.version}</version>
- </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-jsch</artifactId>
@@ -4557,16 +4531,6 @@
<artifactId>camel-quarkus-jsch-deployment</artifactId>
<version>${camel-quarkus.version}</version>
</dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-jsh-dsl</artifactId>
- <version>${camel-quarkus.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-jsh-dsl-deployment</artifactId>
- <version>${camel-quarkus.version}</version>
- </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-jslt</artifactId>
diff --git a/poms/bom/src/main/generated/flattened-full-pom.xml b/poms/bom/src/main/generated/flattened-full-pom.xml
index d518b854e9..421e3f9dc3 100644
--- a/poms/bom/src/main/generated/flattened-full-pom.xml
+++ b/poms/bom/src/main/generated/flattened-full-pom.xml
@@ -1624,27 +1624,11 @@
</exclusion>
</exclusions>
</dependency>
- <dependency>
- <groupId>org.apache.camel</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <artifactId>camel-js-dsl</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <version>4.9.0-SNAPSHOT</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <exclusions>
- <exclusion>
- <groupId>org.graalvm.js</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <artifactId>js</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- </exclusion>
- </exclusions>
- </dependency>
<dependency>
<groupId>org.apache.camel</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<artifactId>camel-jsch</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<version>4.9.0-SNAPSHOT</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
</dependency>
- <dependency>
- <groupId>org.apache.camel</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <artifactId>camel-jsh-dsl</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <version>4.9.0-SNAPSHOT</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- </dependency>
<dependency>
<groupId>org.apache.camel</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<artifactId>camel-jslt</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
@@ -4462,16 +4446,6 @@
<artifactId>camel-quarkus-jq-deployment</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<version>3.16.0-SNAPSHOT</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
</dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <artifactId>camel-quarkus-js-dsl</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <version>3.16.0-SNAPSHOT</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <artifactId>camel-quarkus-js-dsl-deployment</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <version>3.16.0-SNAPSHOT</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<artifactId>camel-quarkus-jsch</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
@@ -4482,16 +4456,6 @@
<artifactId>camel-quarkus-jsch-deployment</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<version>3.16.0-SNAPSHOT</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
</dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <artifactId>camel-quarkus-jsh-dsl</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <version>3.16.0-SNAPSHOT</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <artifactId>camel-quarkus-jsh-dsl-deployment</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <version>3.16.0-SNAPSHOT</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<artifactId>camel-quarkus-jslt</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
diff --git a/poms/bom/src/main/generated/flattened-reduced-pom.xml b/poms/bom/src/main/generated/flattened-reduced-pom.xml
index 776d3acf5b..97b6ef9c60 100644
--- a/poms/bom/src/main/generated/flattened-reduced-pom.xml
+++ b/poms/bom/src/main/generated/flattened-reduced-pom.xml
@@ -929,11 +929,6 @@
</exclusion>
</exclusions>
</dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-endpointdsl-support</artifactId>
- <version>4.9.0-SNAPSHOT</version>
- </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-etcd3</artifactId>
@@ -1624,27 +1619,11 @@
</exclusion>
</exclusions>
</dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-js-dsl</artifactId>
- <version>4.9.0-SNAPSHOT</version>
- <exclusions>
- <exclusion>
- <groupId>org.graalvm.js</groupId>
- <artifactId>js</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-jsch</artifactId>
<version>4.9.0-SNAPSHOT</version>
</dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-jsh-dsl</artifactId>
- <version>4.9.0-SNAPSHOT</version>
- </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-jslt</artifactId>
@@ -4462,16 +4441,6 @@
<artifactId>camel-quarkus-jq-deployment</artifactId>
<version>3.16.0-SNAPSHOT</version>
</dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-js-dsl</artifactId>
- <version>3.16.0-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-js-dsl-deployment</artifactId>
- <version>3.16.0-SNAPSHOT</version>
- </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-jsch</artifactId>
@@ -4482,16 +4451,6 @@
<artifactId>camel-quarkus-jsch-deployment</artifactId>
<version>3.16.0-SNAPSHOT</version>
</dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-jsh-dsl</artifactId>
- <version>3.16.0-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId>
- <artifactId>camel-quarkus-jsh-dsl-deployment</artifactId>
- <version>3.16.0-SNAPSHOT</version>
- </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-jslt</artifactId>
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 a3094ee6cc..04c6548954 100644
--- a/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml
+++ b/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml
@@ -929,11 +929,6 @@
</exclusion>
</exclusions>
</dependency>
- <dependency>
- <groupId>org.apache.camel</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <artifactId>camel-endpointdsl-support</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <version>4.9.0-SNAPSHOT</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- </dependency>
<dependency>
<groupId>org.apache.camel</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<artifactId>camel-etcd3</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
@@ -1624,27 +1619,11 @@
</exclusion>
</exclusions>
</dependency>
- <dependency>
- <groupId>org.apache.camel</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <artifactId>camel-js-dsl</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <version>4.9.0-SNAPSHOT</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <exclusions>
- <exclusion>
- <groupId>org.graalvm.js</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <artifactId>js</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- </exclusion>
- </exclusions>
- </dependency>
<dependency>
<groupId>org.apache.camel</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<artifactId>camel-jsch</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<version>4.9.0-SNAPSHOT</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
</dependency>
- <dependency>
- <groupId>org.apache.camel</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <artifactId>camel-jsh-dsl</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <version>4.9.0-SNAPSHOT</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- </dependency>
<dependency>
<groupId>org.apache.camel</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<artifactId>camel-jslt</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
@@ -4462,16 +4441,6 @@
<artifactId>camel-quarkus-jq-deployment</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<version>3.16.0-SNAPSHOT</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
</dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <artifactId>camel-quarkus-js-dsl</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <version>3.16.0-SNAPSHOT</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <artifactId>camel-quarkus-js-dsl-deployment</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <version>3.16.0-SNAPSHOT</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<artifactId>camel-quarkus-jsch</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
@@ -4482,16 +4451,6 @@
<artifactId>camel-quarkus-jsch-deployment</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<version>3.16.0-SNAPSHOT</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
</dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <artifactId>camel-quarkus-jsh-dsl</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <version>3.16.0-SNAPSHOT</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- </dependency>
- <dependency>
- <groupId>org.apache.camel.quarkus</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <artifactId>camel-quarkus-jsh-dsl-deployment</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <version>3.16.0-SNAPSHOT</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<artifactId>camel-quarkus-jslt</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->