This is an automated email from the ASF dual-hosted git repository. gnodet pushed a commit to branch camel-master in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
commit 22104a94683bb372c9f3e3fa15a1b5347fced406 Author: Guillaume Nodet <[email protected]> AuthorDate: Mon Apr 6 15:58:05 2020 +0200 More fixes --- .../pages/list-of-camel-quarkus-extensions.adoc | 74 ++++++++++++++-------- .../quarkus/core/deployment/BuildProcessor.java | 7 ++ extensions-core/core/runtime/pom.xml | 12 ++++ .../src/main/resources/routes/my-routes.xml | 2 +- .../src/main/resources/routes/my-routes.xml | 2 +- pom.xml | 2 +- poms/bom/pom.xml | 10 +++ .../org/apache/camel/quarkus/maven/CqCatalog.java | 21 ++++-- .../quarkus/maven/PrepareCatalogQuarkusMojo.java | 2 +- 9 files changed, 95 insertions(+), 37 deletions(-) diff --git a/docs/modules/ROOT/pages/list-of-camel-quarkus-extensions.adoc b/docs/modules/ROOT/pages/list-of-camel-quarkus-extensions.adoc index f80a63f..93c0d3e 100644 --- a/docs/modules/ROOT/pages/list-of-camel-quarkus-extensions.adoc +++ b/docs/modules/ROOT/pages/list-of-camel-quarkus-extensions.adoc @@ -18,7 +18,7 @@ In case you are missing some Camel feature in the list: == Camel Components // components: START -Number of Camel components: 143 in 108 JAR artifacts (0 deprecated) +Number of Camel components: 147 in 112 JAR artifacts (0 deprecated) [width="100%",cols="4,1,1,5",options="header"] |=== @@ -205,6 +205,10 @@ Level | Since | Description `couchdb:protocol:hostname:port/database` | Native + Stable | 1.0.0-M6 | The couchdb component is used for integrate with CouchDB databases. +| link:https://camel.apache.org/components/latest/cron-component.html[Cron] (camel-quarkus-cron) + +`cron:name` | Native + + Stable | 1.0.0-M6 | Camel Cron Component + | link:https://camel.apache.org/components/latest/dataformat-component.html[Data Format] (camel-quarkus-dataformat) + `dataformat:name:operation` | Native + Stable | 0.4.0 | The dataformat component is used for working with Data Formats as if it was a regular Component supporting Endpoints and URIs. @@ -245,6 +249,10 @@ Level | Since | Description `fhir:apiName/methodName` | Native + Stable | 0.3.0 | The fhir component is used for working with the FHIR protocol (health care). +| link:https://camel.apache.org/components/latest/file-component.html[File] (camel-quarkus-file) + +`file:directoryName` | Native + + Stable | 0.4.0 | The file component is used for reading or writing files. + | xref:extensions/file-watch.adoc[File Watch] (camel-quarkus-file-watch) + `file-watch:path` | Native + Stable | 1.0.0-M5 | The file-watch is used to monitor file events in directory using java.nio.file.WatchService @@ -309,6 +317,10 @@ Level | Since | Description `grpc:host:port/service` | JVM + Preview | 1.0.0-M6 | The gRPC component allows to call and expose remote procedures via HTTP/2 with protobuf dataformat +| xref:extensions/http.adoc[HTTP] (camel-quarkus-http) + +`http:httpUri` | Native + + Stable | 1.0.0-M3 | For calling out to external HTTP servers using Apache HTTP Client 4.x. + | link:https://camel.apache.org/components/latest/infinispan-component.html[Infinispan] (camel-quarkus-infinispan) + `infinispan:cacheName` | Native + Stable | 0.2.0 | For reading/writing from/to Infinispan distributed key/value store and data grid. @@ -533,6 +545,10 @@ Level | Since | Description `servicenow:instanceName` | Native + Stable | 1.0.0-M6 | The servicenow component is used to integrate Camel with ServiceNow cloud services. +| link:https://camel.apache.org/components/latest/servlet-component.html[Servlet] (camel-quarkus-servlet) + +`servlet:contextPath` | Native + + Stable | 0.2.0 | To use a HTTP Servlet as entry for Camel routes when running in a servlet container. + | link:https://camel.apache.org/components/latest/sftp-component.html[SFTP] (camel-quarkus-ftp) + `sftp:host:port/directoryName` | Native + Stable | 1.0.0-M1 | The sftp (FTP over SSH) component is used for uploading or downloading files from SFTP servers. @@ -603,7 +619,7 @@ Level | Since | Description == Camel Data Formats // dataformats: START -Number of Camel data formats: 24 in 19 JAR artifacts (0 deprecated) +Number of Camel data formats: 26 in 21 JAR artifacts (0 deprecated) [width="100%",cols="4,1,1,5",options="header"] |=== @@ -643,9 +659,15 @@ Level | Since | Description | link:https://camel.apache.org/components/latest/jacksonxml-dataformat.html[JacksonXML] (camel-quarkus-jacksonxml) | Native + Stable | 1.0.0-M5 | JacksonXML data format is used for unmarshal a XML payload to POJO or to marshal POJO back to XML payload. +| link:https://camel.apache.org/components/latest/jaxb-dataformat.html[JAXB] (camel-quarkus-jaxb) | Native + + Stable | 1.0.0-M5 | JAXB data format uses the JAXB2 XML marshalling standard to unmarshal an XML payload into Java objects or to marshal Java objects into an XML payload. + | link:https://camel.apache.org/components/latest/json-gson-dataformat.html[JSon GSon] (camel-quarkus-gson) | Native + Stable | 1.0.0-M4 | JSon data format is used for unmarshal a JSon payload to POJO or to marshal POJO back to JSon payload. +| link:https://camel.apache.org/components/latest/json-jackson-dataformat.html[JSon Jackson] (camel-quarkus-jackson) | Native + + Stable | 0.3.0 | JSon data format is used for unmarshal a JSon payload to POJO or to marshal POJO back to JSon payload. + | link:https://camel.apache.org/components/latest/json-johnzon-dataformat.html[JSon Johnzon] (camel-quarkus-johnzon) | Native + Stable | 1.0.0-M5 | JSon data format is used for unmarshal a JSon payload to POJO or to marshal POJO back to JSon payload. @@ -687,7 +709,7 @@ Level | Since | Description == Camel Languages // languages: START -Number of Camel languages: 6 in 6 JAR artifacts (0 deprecated) +Number of Camel languages: 13 in 7 JAR artifacts (0 deprecated) [width="100%",cols="4,1,1,5",options="header"] |=== @@ -697,15 +719,36 @@ Level | Since | Description | link:https://camel.apache.org/components/latest/bean-language.html[Bean method] (camel-quarkus-bean) | Native + Stable | 0.2.0 | To use a Java bean (aka method call) in Camel expressions or predicates. +| link:https://camel.apache.org/components/latest/constant-language.html[Constant] (camel-quarkus-core) | Native + + Stable | 0.2.0 | To use a constant value in Camel expressions or predicates. Important: this is a fixed constant value that is only set once during starting up the route, do not use this if you want dynamic values during routing. + +| link:https://camel.apache.org/components/latest/exchangeProperty-language.html[ExchangeProperty] (camel-quarkus-core) | Native + + Stable | 0.2.0 | To use a Camel Exchange property in expressions or predicates. + +| link:https://camel.apache.org/components/latest/file-language.html[File] (camel-quarkus-core) | Native + + Stable | 0.2.0 | For expressions and predicates using the file/simple language. + | link:https://camel.apache.org/components/latest/groovy-language.html[Groovy] (camel-quarkus-groovy) | JVM + Preview | 1.0.0-M6 | To use Groovy scripts in Camel expressions or predicates. +| link:https://camel.apache.org/components/latest/header-language.html[Header] (camel-quarkus-core) | Native + + Stable | 0.2.0 | To use a Camel Message header in expressions or predicates. + | link:https://camel.apache.org/components/latest/jsonpath-language.html[JsonPath] (camel-quarkus-jsonpath) | Native + Stable | 1.0.0-M3 | To use JsonPath in Camel expressions or predicates. | link:https://camel.apache.org/components/latest/ognl-language.html[OGNL] (camel-quarkus-ognl) | JVM + Preview | 1.0.0-M6 | To use OGNL scripts in Camel expressions or predicates. +| link:https://camel.apache.org/components/latest/ref-language.html[Ref] (camel-quarkus-core) | Native + + Stable | 0.2.0 | Reference to an existing Camel expression or predicate, which is looked up from the Camel registry. + +| link:https://camel.apache.org/components/latest/simple-language.html[Simple] (camel-quarkus-core) | Native + + Stable | 0.2.0 | To use Camels built-in Simple language in Camel expressions or predicates. + +| link:https://camel.apache.org/components/latest/tokenize-language.html[Tokenize] (camel-quarkus-core) | Native + + Stable | 0.2.0 | To use Camel message body or header with a tokenizer in Camel expressions or predicates. + | link:https://camel.apache.org/components/latest/xtokenize-language.html[XML Tokenize] (camel-quarkus-xml-jaxp) | Native + Stable | 1.0.0-M5 | To use Camel message body or header with a XML tokenizer in Camel expressions or predicates. @@ -717,45 +760,27 @@ Level | Since | Description == Miscellaneous Extensions // others: START -Number of miscellaneous extensions: 19 in 19 JAR artifacts (0 deprecated) +Number of miscellaneous extensions: 12 in 12 JAR artifacts (0 deprecated) [width="100%",cols="4,1,1,5",options="header"] |=== | Extension | Target Level | Since | Description | (camel-quarkus-attachments) | Native + - Stable | 0.3.0 | Support for attachments on Camel messages. + Stable | 0.3.0 | Java Attachments support for Camel Message | (camel-quarkus-caffeine-lrucache) | Native + Stable | 1.0.0-M5 | Provides an implementation of the LRUCacheFactory based on Caffeine -| (camel-quarkus-core) | Native + - Stable | 0.2.0 | The Camel Quarkus core module - | (camel-quarkus-core-cloud) | Native + Stable | 0.2.0 | The Camel Quarkus core cloud module -| (camel-quarkus-cron) | Native + - Stable | 1.0.0-M6 | Camel Cron Component - | (camel-quarkus-endpointdsl) | Native + Stable | 1.0.0-M3 | camel-quarkus-endpointdsl -| (camel-quarkus-file) | Native + - Stable | 0.4.0 | The file component provides access to the file system. - -| xref:extensions/http.adoc[camel-quarkus-http] | Native + - Stable | 1.0.0-M3 | The http component provides support for the HTTP/HTTPS protocols. - | (camel-quarkus-hystrix) | Native + Stable | 1.0.0-M1 | Circuit Breaker EIP using Netflix Hystrix -| (camel-quarkus-jackson) | Native + - Stable | 0.3.0 | Provides support for the Jackson dataformat. - -| (camel-quarkus-jaxb) | Native + - Stable | 1.0.0-M5 | The jaxb extensions provides JAXB support for Camel. - | (camel-quarkus-kotlin) | Native + Stable | 1.0.0-M3 | camel-quarkus-kotlin @@ -771,9 +796,6 @@ Number of miscellaneous extensions: 19 in 19 JAR artifacts (0 deprecated) | (camel-quarkus-reactive-executor) | Native + Stable | 0.3.0 | Reactive Executor for camel-core using Vert.x -| (camel-quarkus-servlet) | Native + - Stable | 0.2.0 | Camel servlet transport support. - | (camel-quarkus-xml-io) | Native + Stable | 1.0.0-M5 | An XML stack for parsing XML route definitions. A fast an light weight alternative to camel-quarkus-xml-jaxp diff --git a/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/BuildProcessor.java b/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/BuildProcessor.java index 3207fe3..94bb313 100644 --- a/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/BuildProcessor.java +++ b/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/BuildProcessor.java @@ -40,6 +40,7 @@ import io.quarkus.deployment.annotations.Overridable; import io.quarkus.deployment.annotations.Record; import io.quarkus.deployment.builditem.ApplicationArchivesBuildItem; import io.quarkus.deployment.builditem.CombinedIndexBuildItem; +import io.quarkus.deployment.builditem.IndexDependencyBuildItem; import io.quarkus.deployment.builditem.ServiceStartBuildItem; import io.quarkus.deployment.builditem.ShutdownContextBuildItem; import io.quarkus.deployment.recording.RecorderContext; @@ -100,6 +101,12 @@ class BuildProcessor { * Build steps related to camel core. */ public static class Core { + // TODO: remove when https://issues.apache.org/jira/browse/CAMEL-14851 is fixed + @BuildStep + IndexDependencyBuildItem endpointDslIndex() { + return new IndexDependencyBuildItem("org.apache.camel", "camel-endpointdsl"); + } + @BuildStep BeanRegistrationPhaseBuildItem.BeanConfiguratorBuildItem containerBeans( BeanRegistrationPhaseBuildItem beanRegistrationPhase, diff --git a/extensions-core/core/runtime/pom.xml b/extensions-core/core/runtime/pom.xml index 57b7f16..32715da 100644 --- a/extensions-core/core/runtime/pom.xml +++ b/extensions-core/core/runtime/pom.xml @@ -87,6 +87,18 @@ </dependency> <dependency> <groupId>org.apache.camel</groupId> + <artifactId>camel-core-languages</artifactId> + </dependency> + <dependency> + <groupId>org.apache.camel</groupId> + <artifactId>camel-endpointdsl</artifactId> + </dependency> + <dependency> + <groupId>org.apache.camel</groupId> + <artifactId>camel-componentdsl</artifactId> + </dependency> + <dependency> + <groupId>org.apache.camel</groupId> <artifactId>camel-core-catalog</artifactId> </dependency> <dependency> diff --git a/integration-tests/core-main-xml-io/src/main/resources/routes/my-routes.xml b/integration-tests/core-main-xml-io/src/main/resources/routes/my-routes.xml index 482befb..e491c29 100644 --- a/integration-tests/core-main-xml-io/src/main/resources/routes/my-routes.xml +++ b/integration-tests/core-main-xml-io/src/main/resources/routes/my-routes.xml @@ -24,7 +24,7 @@ http://camel.apache.org/schema/spring/camel-spring.xsd"> <route id="my-xml-route"> - <from uri="timer:from-xml?period=3s"/> + <from uri="timer:from-xml?period=3000"/> <setBody> <constant>Hello World!!!</constant> </setBody> diff --git a/integration-tests/core-main-xml-jaxb/src/main/resources/routes/my-routes.xml b/integration-tests/core-main-xml-jaxb/src/main/resources/routes/my-routes.xml index 482befb..e491c29 100644 --- a/integration-tests/core-main-xml-jaxb/src/main/resources/routes/my-routes.xml +++ b/integration-tests/core-main-xml-jaxb/src/main/resources/routes/my-routes.xml @@ -24,7 +24,7 @@ http://camel.apache.org/schema/spring/camel-spring.xsd"> <route id="my-xml-route"> - <from uri="timer:from-xml?period=3s"/> + <from uri="timer:from-xml?period=3000"/> <setBody> <constant>Hello World!!!</constant> </setBody> diff --git a/pom.xml b/pom.xml index a03c24f..2c1b03c 100644 --- a/pom.xml +++ b/pom.xml @@ -45,7 +45,7 @@ <awssdk1.version>1.11.714</awssdk1.version> <awssdk1-swf-libs.version>1.11.22</awssdk1-swf-libs.version> <awssdk2.version>2.10.67</awssdk2.version> - <camel.version>3.2.0-SNAPSHOT</camel.version> + <camel.version>3.2.0</camel.version> <freemarker.version>2.3.30</freemarker.version> <google-http-client.version>1.22.0</google-http-client.version> <guava.version>26.0-jre</guava.version> diff --git a/poms/bom/pom.xml b/poms/bom/pom.xml index 168fcb1..fb34a8e 100644 --- a/poms/bom/pom.xml +++ b/poms/bom/pom.xml @@ -329,6 +329,11 @@ </dependency> <dependency> <groupId>org.apache.camel</groupId> + <artifactId>camel-componentdsl</artifactId> + <version>${camel.version}</version> + </dependency> + <dependency> + <groupId>org.apache.camel</groupId> <artifactId>camel-consul</artifactId> <version>${camel.version}</version> </dependency> @@ -354,6 +359,11 @@ </dependency> <dependency> <groupId>org.apache.camel</groupId> + <artifactId>camel-core-languages</artifactId> + <version>${camel.version}</version> + </dependency> + <dependency> + <groupId>org.apache.camel</groupId> <artifactId>camel-couchbase</artifactId> <version>${camel.version}</version> </dependency> diff --git a/tooling/package-maven-plugin/src/main/java/org/apache/camel/quarkus/maven/CqCatalog.java b/tooling/package-maven-plugin/src/main/java/org/apache/camel/quarkus/maven/CqCatalog.java index 3fdbf73..c4d4099 100644 --- a/tooling/package-maven-plugin/src/main/java/org/apache/camel/quarkus/maven/CqCatalog.java +++ b/tooling/package-maven-plugin/src/main/java/org/apache/camel/quarkus/maven/CqCatalog.java @@ -20,9 +20,7 @@ import java.io.IOException; import java.io.InputStream; import java.nio.file.Files; import java.nio.file.Path; -import java.util.ArrayList; -import java.util.List; -import java.util.Optional; +import java.util.*; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -56,7 +54,7 @@ public class CqCatalog { this.catalog = new DefaultCamelCatalog(true); } - public String toCamelArtifactIdBase(String cqArtifactIdBase) { + public String toCamelComponentArtifactIdBase(String cqArtifactIdBase) { if ("core".equals(cqArtifactIdBase)) { return "base"; } else if ("reactive-executor".equals(cqArtifactIdBase)) { @@ -66,12 +64,21 @@ public class CqCatalog { } } + public List<String> toCamelArtifactIdBase(String cqArtifactIdBase) { + if ("core".equals(cqArtifactIdBase)) { + return Arrays.asList("camel-base", "camel-core-languages"); + } else if ("reactive-executor".equals(cqArtifactIdBase)) { + return Collections.singletonList("camel-reactive-executor-vertx"); + } else { + return Collections.singletonList("camel-" + cqArtifactIdBase); + } + } + public List<WrappedModel> filterModels(String artifactIdBase) { - artifactIdBase = toCamelArtifactIdBase(artifactIdBase); - final String camelArtifactId = "camel-" + artifactIdBase; + List<String> camelArtifactIds = toCamelArtifactIdBase(artifactIdBase); return Stream.of(Kind.values()) .flatMap(kind -> kind.all(this)) - .filter(wrappedModel -> wrappedModel.getArtifactId().equals(camelArtifactId)) + .filter(wrappedModel -> camelArtifactIds.contains(wrappedModel.getArtifactId())) .collect(Collectors.toList()); } diff --git a/tooling/package-maven-plugin/src/main/java/org/apache/camel/quarkus/maven/PrepareCatalogQuarkusMojo.java b/tooling/package-maven-plugin/src/main/java/org/apache/camel/quarkus/maven/PrepareCatalogQuarkusMojo.java index 3fe41dd..00a8782 100644 --- a/tooling/package-maven-plugin/src/main/java/org/apache/camel/quarkus/maven/PrepareCatalogQuarkusMojo.java +++ b/tooling/package-maven-plugin/src/main/java/org/apache/camel/quarkus/maven/PrepareCatalogQuarkusMojo.java @@ -217,7 +217,7 @@ public class PrepareCatalogQuarkusMojo extends AbstractMojo { ("compile".equals(dep.getScope()) || dep.getScope() == null)) .findFirst(); if (artifact.isPresent()) { - camelComponentArtifactId = catalog.toCamelArtifactIdBase(artifact.get().getArtifactId()); + camelComponentArtifactId = catalog.toCamelComponentArtifactIdBase(artifact.get().getArtifactId()); } } final Properties props = runtimePom.getProperties() != null ? runtimePom.getProperties() : new Properties();
