This is an automated email from the ASF dual-hosted git repository.

zregvart pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/main by this push:
     new fad60b772ed Properly generate EIP nav.adoc
fad60b772ed is described below

commit fad60b772ed433d0887aa9c65108b2bf162ef877
Author: Zoran Regvart <zo...@regvart.com>
AuthorDate: Wed Nov 22 17:06:51 2023 +0100

    Properly generate EIP nav.adoc
    
    Seems that the EIP nav.adoc, prior to CAMEL-20135, and it seems not
    entirely resolved by CAMEL-20135, was not generated properly. This
    attempts to generate it by including all the Asciidoc from the EIP
    module within the nav.adoc.
    
    The notion of Asciidoc module without a source, i.e. one that doesn't
    need to be symlinked or manipulated in any way by Gulp is introduced.
    This is to provide the list of files to `createNav` correctly.
---
 .../src/main/docs/modules/eips/nav.adoc            | 203 ++++++++++-----------
 docs/gulpfile.js                                   |  42 +++--
 2 files changed, 129 insertions(+), 116 deletions(-)

diff --git a/core/camel-core-engine/src/main/docs/modules/eips/nav.adoc 
b/core/camel-core-engine/src/main/docs/modules/eips/nav.adoc
index dae91c70d8a..8f5bcfb71c5 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/nav.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/nav.adoc
@@ -2,105 +2,104 @@
 // make edits in docs/*nav.adoc.template files instead
 
 * xref:eips:enterprise-integration-patterns.adoc[Enterprise Integration 
Patterns]
-** xref:eips:aggregate-eip.adoc[Aggregate]
-** xref:eips:batch-config-eip.adoc[Batch-config]
-** xref:eips:bean-eip.adoc[Bean]
-** xref:eips:change-data-capture.adoc[Change Data Capture]
-** xref:eips:channel-adapter.adoc[Channel Adapter]
-** xref:eips:choice-eip.adoc[Choice]
-** xref:eips:circuitBreaker-eip.adoc[Circuit Breaker]
-** xref:eips:claimCheck-eip.adoc[Claim Check]
-** xref:eips:competing-consumers.adoc[Competing Consumers]
-** xref:eips:composed-message-processor.adoc[Composed Message Processor]
-** xref:eips:content-enricher.adoc[Content Enricher]
-** xref:eips:content-filter-eip.adoc[Content Filter]
-** xref:eips:convertBodyTo-eip.adoc[Convert Body To]
-** xref:eips:correlation-identifier.adoc[Correlation Identifier]
-** xref:eips:customLoadBalancer-eip.adoc[Custom Load Balancer]
-** xref:eips:dead-letter-channel.adoc[Dead Letter Channel]
-** xref:eips:delay-eip.adoc[Delay]
-** xref:eips:durable-subscriber.adoc[Durable Subscriber]
-** xref:eips:dynamicRouter-eip.adoc[Dynamic Router]
-** xref:eips:enrich-eip.adoc[Enrich]
-** xref:eips:enterprise-integration-patterns.adoc[Enterprise Integration 
Patterns]
-** xref:eips:eventDrivenConsumer-eip.adoc[Event Driven Consumer]
-** xref:eips:event-message.adoc[Event Message]
-** xref:eips:failover-eip.adoc[Failover]
-** xref:eips:faultToleranceConfiguration-eip.adoc[Fault Tolerance 
Configuration]
-** xref:eips:fault-tolerance-eip.adoc[Fault Tolerance EIP]
-** xref:eips:filter-eip.adoc[Filter]
-** xref:eips:from-eip.adoc[From]
-** xref:eips:guaranteed-delivery.adoc[Guaranteed Delivery]
-** xref:eips:idempotentConsumer-eip.adoc[Idempotent Consumer]
-** xref:eips:intercept.adoc[Intercept]
-** xref:eips:kamelet-eip.adoc[Kamelet]
-** xref:eips:loadBalance-eip.adoc[Load Balance]
-** xref:eips:log-eip.adoc[Log]
-** xref:eips:loop-eip.adoc[Loop]
-** xref:eips:marshal-eip.adoc[Marshal EIP]
-** xref:eips:message.adoc[Message]
-** xref:eips:message-broker.adoc[Message Broker]
-** xref:eips:message-bus.adoc[Message Bus]
-** xref:eips:message-channel.adoc[Message Channel]
-** xref:eips:message-dispatcher.adoc[Message Dispatcher]
-** xref:eips:message-endpoint.adoc[Message Endpoint]
-** xref:eips:message-expiration.adoc[Message Expiration]
-** xref:eips:message-history.adoc[Message History]
-** xref:eips:message-router.adoc[Message Router]
-** xref:eips:message-translator.adoc[Message Translator]
-** xref:eips:messaging-bridge.adoc[Messaging Bridge]
-** xref:eips:messaging-gateway.adoc[Messaging Gateway]
-** xref:eips:messaging-mapper.adoc[Messaging Mapper]
-** xref:eips:multicast-eip.adoc[Multicast]
-** xref:eips:normalizer.adoc[Normalizer]
-** xref:eips:onFallback-eip.adoc[On Fallback]
-** xref:eips:pipeline-eip.adoc[Pipeline]
-** xref:eips:point-to-point-channel.adoc[Point to Point Channel]
-** xref:eips:pollEnrich-eip.adoc[Poll Enrich]
-** xref:eips:polling-consumer.adoc[Polling Consumer]
-** xref:eips:process-eip.adoc[Process]
-** xref:eips:process-manager.adoc[Process Manager]
-** xref:eips:publish-subscribe-channel.adoc[Publish Subscribe Channel]
-** xref:eips:random-eip.adoc[Random]
-** xref:eips:recipientList-eip.adoc[Recipient List]
-** xref:eips:removeHeader-eip.adoc[Remove Header]
-** xref:eips:removeHeaders-eip.adoc[Remove Headers]
-** xref:eips:removeProperties-eip.adoc[Remove Properties]
-** xref:eips:removeProperty-eip.adoc[Remove Property]
-** xref:eips:requestReply-eip.adoc[Request Reply]
-** xref:eips:resequence-eip.adoc[Resequence]
-** xref:eips:resilience4jConfiguration-eip.adoc[Resilience4j Configuration]
-** xref:eips:resilience4j-eip.adoc[Resilience4j EIP]
-** xref:eips:resume-strategies.adoc[Resume Strategies]
-** xref:eips:return-address.adoc[Return Address]
-** xref:eips:rollback-eip.adoc[Rollback]
-** xref:eips:roundRobin-eip.adoc[Round Robin]
-** xref:eips:routingSlip-eip.adoc[Routing Slip]
-** xref:eips:saga-eip.adoc[Saga]
-** xref:eips:sample-eip.adoc[Sample]
-** xref:eips:scatter-gather.adoc[Scatter Gather]
-** xref:eips:script-eip.adoc[Script]
-** xref:eips:selective-consumer.adoc[Selective Consumer]
-** xref:eips:service-activator.adoc[Service Activator]
-** xref:eips:serviceCall-eip.adoc[Service Call]
-** xref:eips:setBody-eip.adoc[Set Body]
-** xref:eips:setHeader-eip.adoc[Set Header]
-** xref:eips:setHeaders-eip.adoc[Set Headers]
-** xref:eips:setProperty-eip.adoc[Set Property]
-** xref:eips:sort-eip.adoc[Sort]
-** xref:eips:split-eip.adoc[Split]
-** xref:eips:step-eip.adoc[Step]
-** xref:eips:sticky-eip.adoc[Sticky]
-** xref:eips:stop-eip.adoc[Stop]
-** xref:eips:stream-config-eip.adoc[Stream-config]
-** xref:eips:threads-eip.adoc[Threads]
-** xref:eips:throttle-eip.adoc[Throttle]
-** xref:eips:to-eip.adoc[To]
-** xref:eips:toD-eip.adoc[To D]
-** xref:eips:topic-eip.adoc[Topic]
-** xref:eips:transactional-client.adoc[Transactional Client]
-** xref:eips:transform-eip.adoc[Transform]
-** xref:eips:unmarshal-eip.adoc[Unmarshal EIP]
-** xref:eips:validate-eip.adoc[Validate]
-** xref:eips:weighted-eip.adoc[Weighted]
-** xref:eips:wireTap-eip.adoc[Wire Tap]
+** xref:aggregate-eip.adoc[Aggregate]
+** xref:batch-config-eip.adoc[Batch-config]
+** xref:bean-eip.adoc[Bean]
+** xref:change-data-capture.adoc[Change Data Capture]
+** xref:channel-adapter.adoc[Channel Adapter]
+** xref:choice-eip.adoc[Choice]
+** xref:circuitBreaker-eip.adoc[Circuit Breaker]
+** xref:claimCheck-eip.adoc[Claim Check]
+** xref:competing-consumers.adoc[Competing Consumers]
+** xref:composed-message-processor.adoc[Composed Message Processor]
+** xref:content-enricher.adoc[Content Enricher]
+** xref:content-filter-eip.adoc[Content Filter]
+** xref:convertBodyTo-eip.adoc[Convert Body To]
+** xref:correlation-identifier.adoc[Correlation Identifier]
+** xref:customLoadBalancer-eip.adoc[Custom Load Balancer]
+** xref:dead-letter-channel.adoc[Dead Letter Channel]
+** xref:delay-eip.adoc[Delay]
+** xref:durable-subscriber.adoc[Durable Subscriber]
+** xref:dynamicRouter-eip.adoc[Dynamic Router]
+** xref:enrich-eip.adoc[Enrich]
+** xref:eventDrivenConsumer-eip.adoc[Event Driven Consumer]
+** xref:event-message.adoc[Event Message]
+** xref:failover-eip.adoc[Failover]
+** xref:faultToleranceConfiguration-eip.adoc[Fault Tolerance Configuration]
+** xref:fault-tolerance-eip.adoc[Fault Tolerance EIP]
+** xref:filter-eip.adoc[Filter]
+** xref:from-eip.adoc[From]
+** xref:guaranteed-delivery.adoc[Guaranteed Delivery]
+** xref:idempotentConsumer-eip.adoc[Idempotent Consumer]
+** xref:intercept.adoc[Intercept]
+** xref:kamelet-eip.adoc[Kamelet]
+** xref:loadBalance-eip.adoc[Load Balance]
+** xref:log-eip.adoc[Log]
+** xref:loop-eip.adoc[Loop]
+** xref:marshal-eip.adoc[Marshal EIP]
+** xref:message.adoc[Message]
+** xref:message-broker.adoc[Message Broker]
+** xref:message-bus.adoc[Message Bus]
+** xref:message-channel.adoc[Message Channel]
+** xref:message-dispatcher.adoc[Message Dispatcher]
+** xref:message-endpoint.adoc[Message Endpoint]
+** xref:message-expiration.adoc[Message Expiration]
+** xref:message-history.adoc[Message History]
+** xref:message-router.adoc[Message Router]
+** xref:message-translator.adoc[Message Translator]
+** xref:messaging-bridge.adoc[Messaging Bridge]
+** xref:messaging-gateway.adoc[Messaging Gateway]
+** xref:messaging-mapper.adoc[Messaging Mapper]
+** xref:multicast-eip.adoc[Multicast]
+** xref:normalizer.adoc[Normalizer]
+** xref:onFallback-eip.adoc[On Fallback]
+** xref:pipeline-eip.adoc[Pipeline]
+** xref:point-to-point-channel.adoc[Point to Point Channel]
+** xref:pollEnrich-eip.adoc[Poll Enrich]
+** xref:polling-consumer.adoc[Polling Consumer]
+** xref:process-eip.adoc[Process]
+** xref:process-manager.adoc[Process Manager]
+** xref:publish-subscribe-channel.adoc[Publish Subscribe Channel]
+** xref:random-eip.adoc[Random]
+** xref:recipientList-eip.adoc[Recipient List]
+** xref:removeHeader-eip.adoc[Remove Header]
+** xref:removeHeaders-eip.adoc[Remove Headers]
+** xref:removeProperties-eip.adoc[Remove Properties]
+** xref:removeProperty-eip.adoc[Remove Property]
+** xref:requestReply-eip.adoc[Request Reply]
+** xref:resequence-eip.adoc[Resequence]
+** xref:resilience4jConfiguration-eip.adoc[Resilience4j Configuration]
+** xref:resilience4j-eip.adoc[Resilience4j EIP]
+** xref:resume-strategies.adoc[Resume Strategies]
+** xref:return-address.adoc[Return Address]
+** xref:rollback-eip.adoc[Rollback]
+** xref:roundRobin-eip.adoc[Round Robin]
+** xref:routingSlip-eip.adoc[Routing Slip]
+** xref:saga-eip.adoc[Saga]
+** xref:sample-eip.adoc[Sample]
+** xref:scatter-gather.adoc[Scatter Gather]
+** xref:script-eip.adoc[Script]
+** xref:selective-consumer.adoc[Selective Consumer]
+** xref:service-activator.adoc[Service Activator]
+** xref:serviceCall-eip.adoc[Service Call]
+** xref:setBody-eip.adoc[Set Body]
+** xref:setHeader-eip.adoc[Set Header]
+** xref:setHeaders-eip.adoc[Set Headers]
+** xref:setProperty-eip.adoc[Set Property]
+** xref:sort-eip.adoc[Sort]
+** xref:split-eip.adoc[Split]
+** xref:step-eip.adoc[Step]
+** xref:sticky-eip.adoc[Sticky]
+** xref:stop-eip.adoc[Stop]
+** xref:stream-config-eip.adoc[Stream-config]
+** xref:threads-eip.adoc[Threads]
+** xref:throttle-eip.adoc[Throttle]
+** xref:to-eip.adoc[To]
+** xref:toD-eip.adoc[To D]
+** xref:topic-eip.adoc[Topic]
+** xref:transactional-client.adoc[Transactional Client]
+** xref:transform-eip.adoc[Transform]
+** xref:unmarshal-eip.adoc[Unmarshal EIP]
+** xref:validate-eip.adoc[Validate]
+** xref:weighted-eip.adoc[Weighted]
+** xref:wireTap-eip.adoc[Wire Tap]
diff --git a/docs/gulpfile.js b/docs/gulpfile.js
index ab52192b005..b1c95e2e1b2 100644
--- a/docs/gulpfile.js
+++ b/docs/gulpfile.js
@@ -188,11 +188,9 @@ const sources = {
     },
   },
   eips: {
-  asciidoc: {
-      source: '../components/{*,*/*}/src/main/docs/*-eip.adoc',
+    asciidoc: {
       destination: 
'../core/camel-core-engine/src/main/docs/modules/eips/pages',
-      keep: ['*.adoc'],
-      isEip: true,
+      filter: (path) => !path.endsWith('enterprise-integration-patterns.adoc')
     },
     json: {
       source: [
@@ -310,7 +308,15 @@ const tasks = Array.from(sourcesMap).flatMap(([type, 
definition]) => {
 
   // generates sorted & grouped nav.adoc file from a set of .adoc
   // files at the destination
-  const createNav = (destination, isEip) => {
+  const createNav = (destination, filter) => {
+    const filterFn = through2.obj((file, enc, done) => {
+      if (filter && !filter(file.path)) {
+        done() // skip
+      } else {
+        done(null, file) // process
+      }
+    })
+
     return gulp.src(`${type}-nav.adoc.template`)
       .pipe(insertGeneratedNotice())
       .pipe(
@@ -318,7 +324,9 @@ const tasks = Array.from(sourcesMap).flatMap(([type, 
definition]) => {
           gulp.src([
             `${destination}/**/*.adoc`,
             `!${destination}/index.adoc`,
-          ]).pipe(sort(compare)),
+          ])
+          .pipe(filterFn)
+          .pipe(sort(compare)),
           {
             removeTags: true,
             transform: (filename, file) => {
@@ -326,8 +334,6 @@ const tasks = Array.from(sourcesMap).flatMap(([type, 
definition]) => {
               const title = titleFrom(file)
               if (groupFrom(file) !== null) {
                 return `*** xref:${filepath}[${title}]`
-              } else if (isEip) {
-                return `** xref:eips:${filepath}[${title}]`
               }
               return `** xref:${filepath}[${title}]`
             },
@@ -408,12 +414,12 @@ const tasks = Array.from(sourcesMap).flatMap(([type, 
definition]) => {
   // accumulates all tasks performed per _kind_.
   const allTasks = []
 
-  if (asciidoc) {
+  if (asciidoc && asciidoc.source) {
     allTasks.push(
       gulp.series(
         named(`clean:asciidoc:${type}`, clean, asciidoc.destination, 
asciidoc.keep),
         named(`symlink:asciidoc:${type}`, createSymlinks, asciidoc.source, 
asciidoc.destination),
-        named(`nav:asciidoc:${type}`, createNav, asciidoc.destination, 
asciidoc.isEip)
+        named(`nav:asciidoc:${type}`, createNav, asciidoc.destination)
       )
     )
   }
@@ -437,11 +443,19 @@ const tasks = Array.from(sourcesMap).flatMap(([type, 
definition]) => {
   }
 
   if (json) {
-    allTasks.push(
-      gulp.series(
-        named(`clean:json:${type}`, clean, json.destination, json.keep),
-        named(`symlink:json:${type}`, createSymlinks, json.source, 
json.destination, json.filter)
+    let tasks = [
+      named(`clean:json:${type}`, clean, json.destination, json.keep),
+      named(`symlink:json:${type}`, createSymlinks, json.source, 
json.destination, json.filter)
+    ]
+
+    if (asciidoc && !asciidoc.source) {
+      tasks.push(
+        named(`nav:asciidoc:${type}`, createNav, asciidoc.destination, 
asciidoc.filter)
       )
+    }
+
+    allTasks.push(
+      gulp.series(tasks)
     )
   }
 

Reply via email to