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) ) }