Skip to content

Conditionally enable OpenRewrite per module via marker files#23060

Draft
gnodet wants to merge 1 commit into
apache:mainfrom
gnodet:elderly-mackerel
Draft

Conditionally enable OpenRewrite per module via marker files#23060
gnodet wants to merge 1 commit into
apache:mainfrom
gnodet:elderly-mackerel

Conversation

@gnodet
Copy link
Copy Markdown
Contributor

@gnodet gnodet commented May 7, 2026

Follow-up to #23041 which disabled OpenRewrite entirely because it quadrupled CI build times.

This re-enables OpenRewrite using Maven's file-activated profiles, scoped to only the modules that have changed Java files. Most builds skip OpenRewrite entirely, and when it does run, it only processes the affected modules.

How it works

  1. regen.sh detects which modules have modified .java files (via git diff HEAD~1 HEAD --name-only)
  2. Creates a .rewrite-enabled marker file in each affected module
  3. The rewrite profile in parent/pom.xml uses <activation><file><exists>.rewrite-enabled</exists></file></activation> — Maven evaluates this per-module, so OpenRewrite only runs where the marker exists
  4. No -Prewrite flag needed — everything is automatic

This approach is recipe-agnostic: adding new OpenRewrite recipes to the profile requires no changes to the detection logic.

For shallow clones in CI, --deepen=1 fetches just the parent commit. For PRs, HEAD~1 is the base branch tip (first parent of the merge commit). For main builds, it's the previous squash-merged commit.

Benchmark results (from earlier test PRs)

PR OpenRewrite Build time (JDK 21)
#23068 (no FQCNs) skipped ~22 min
#23069 (with FQCNs) triggered ~30 min

~8 minutes saved (~36% faster) on builds that don't introduce FQCNs.
With the per-module approach, even builds that trigger OpenRewrite will be faster since it only processes changed modules instead of all ~500.

Test plan

  • Tested module detection locally against real commits
  • Correctly identifies affected modules (e.g. components/camel-telemetry)
  • No modules detected for non-Java changes (dep bumps)
  • Handles shallow clones (--deepen=1)
  • .rewrite-enabled added to .gitignore
  • Verify CI passes with this change

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 7, 2026

🌟 Thank you for your contribution to the Apache Camel project! 🌟
🤖 CI automation will test this PR automatically.

🐫 Apache Camel Committers, please review the following items:

  • First-time contributors require MANUAL approval for the GitHub Actions to run
  • You can use the command /component-test (camel-)component-name1 (camel-)component-name2.. to request a test from the test bot although they are normally detected and executed by CI.
  • You can label PRs using skip-tests and test-dependents to fine-tune the checks executed by this PR.
  • Build and test logs are available in the summary page. Only Apache Camel committers have access to the summary.

⚠️ Be careful when sharing logs. Review their contents before sharing them publicly.

@gnodet gnodet marked this pull request as draft May 7, 2026 14:14
@gnodet gnodet force-pushed the elderly-mackerel branch from 624ac55 to 6d55874 Compare May 7, 2026 14:15
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 7, 2026

🧪 CI tested the following changed modules:

  • etc
  • parent

POM dependency changes: targeted tests included

Changed properties: exists

Changed managed plugins: com.mycila:license-maven-plugin

Modules affected by dependency changes (669)
  • :apache-camel
  • :archetypes
  • :bom-generator
  • :bom-generator-maven-plugin
  • :bundles-pom
  • :camel
  • :camel-activemq
  • :camel-activemq6
  • :camel-ai-parent
  • :camel-allcomponents
  • :camel-amqp
  • :camel-api
  • :camel-api-component-maven-plugin
  • :camel-arangodb
  • :camel-archetype-api-component
  • :camel-archetype-component
  • :camel-archetype-dataformat
  • :camel-archetype-java
  • :camel-archetype-main
  • :camel-archetype-spring
  • :camel-as2
  • :camel-as2-api
  • :camel-as2-parent
  • :camel-asn1
  • :camel-asterisk
  • :camel-atmosphere-websocket
  • :camel-atom
  • :camel-attachments
  • :camel-avro
  • :camel-avro-rpc
  • :camel-avro-rpc-jetty
  • :camel-avro-rpc-parent
  • :camel-avro-rpc-spi
  • :camel-aws-bedrock
  • :camel-aws-cloudtrail
  • :camel-aws-common
  • :camel-aws-config
  • :camel-aws-parameter-store
  • :camel-aws-parent
  • :camel-aws-secrets-manager
  • :camel-aws-security-hub
  • :camel-aws2-athena
  • :camel-aws2-comprehend
  • :camel-aws2-cw
  • :camel-aws2-ddb
  • :camel-aws2-ec2
  • :camel-aws2-ecs
  • :camel-aws2-eks
  • :camel-aws2-eventbridge
  • :camel-aws2-iam
  • :camel-aws2-kinesis
  • :camel-aws2-kms
  • :camel-aws2-lambda
  • :camel-aws2-mq
  • :camel-aws2-msk
  • :camel-aws2-polly
  • :camel-aws2-redshift
  • :camel-aws2-rekognition
  • :camel-aws2-s3
  • :camel-aws2-s3-vectors
  • :camel-aws2-ses
  • :camel-aws2-sns
  • :camel-aws2-sqs
  • :camel-aws2-step-functions
  • :camel-aws2-sts
  • :camel-aws2-textract
  • :camel-aws2-timestream
  • :camel-aws2-transcribe
  • :camel-aws2-translate
  • :camel-azure-common
  • :camel-azure-cosmosdb
  • :camel-azure-eventgrid
  • :camel-azure-eventhubs
  • :camel-azure-files
  • :camel-azure-functions
  • :camel-azure-key-vault
  • :camel-azure-parent
  • :camel-azure-schema-registry
  • :camel-azure-servicebus
  • :camel-azure-storage-blob
  • :camel-azure-storage-datalake
  • :camel-azure-storage-queue
  • :camel-barcode
  • :camel-base
  • :camel-base-engine
  • :camel-base64
  • :camel-bean
  • :camel-bean-validator
  • :camel-beanio
  • :camel-bindy
  • :camel-bom
  • :camel-bonita
  • :camel-box
  • :camel-box-api
  • :camel-box-parent
  • :camel-braintree
  • :camel-browse
  • :camel-buildtools
  • :camel-caffeine
  • :camel-camunda
  • :camel-cassandraql
  • :camel-catalog
  • :camel-catalog-common
  • :camel-catalog-console
  • :camel-catalog-lucene
  • :camel-catalog-maven
  • :camel-catalog-suggest
  • :camel-cbor
  • :camel-chatscript
  • :camel-chunk
  • :camel-cli-connector
  • :camel-cli-debug
  • :camel-clickup
  • :camel-cloudevents
  • :camel-cluster
  • :camel-cm-sms
  • :camel-coap
  • :camel-cometd
  • :camel-component-maven-plugin
  • :camel-componentdsl
  • :camel-console
  • :camel-consul
  • :camel-controlbus
  • :camel-core
  • :camel-core-all
  • :camel-core-catalog
  • :camel-core-engine
  • :camel-core-languages
  • :camel-core-model
  • :camel-core-processor
  • :camel-core-reifier
  • :camel-core-xml
  • :camel-couchbase
  • :camel-couchdb
  • :camel-cron
  • :camel-crypto
  • :camel-crypto-pgp
  • :camel-csimple-joor
  • :camel-csimple-maven-plugin
  • :camel-csv
  • :camel-cxf-common
  • :camel-cxf-parent
  • :camel-cxf-rest
  • :camel-cxf-soap
  • :camel-cxf-spring-common
  • :camel-cxf-spring-rest
  • :camel-cxf-spring-soap
  • :camel-cxf-spring-transport
  • :camel-cxf-transport
  • :camel-cyberark-vault
  • :camel-dapr
  • :camel-dataformat
  • :camel-dataset
  • :camel-datasonnet
  • :camel-debezium-common
  • :camel-debezium-common-parent
  • :camel-debezium-db2
  • :camel-debezium-maven-plugin
  • :camel-debezium-mongodb
  • :camel-debezium-mysql
  • :camel-debezium-oracle
  • :camel-debezium-parent
  • :camel-debezium-postgres
  • :camel-debezium-sqlserver
  • :camel-debug
  • :camel-dependencies
  • :camel-dfdl
  • :camel-dhis2
  • :camel-dhis2-api
  • :camel-dhis2-parent
  • :camel-diagram
  • :camel-digitalocean
  • :camel-direct
  • :camel-disruptor
  • :camel-djl
  • :camel-dns
  • :camel-docker
  • :camel-docling
  • :camel-drill
  • :camel-dropbox
  • :camel-dsl-modeline
  • :camel-dsl-support
  • :camel-dynamic-router
  • :camel-ehcache
  • :camel-eip-documentation-enricher-maven-plugin
  • :camel-elasticsearch
  • :camel-elasticsearch-rest-client
  • :camel-endpointdsl
  • :camel-endpointdsl-support
  • :camel-enforcer-rules
  • :camel-etc
  • :camel-event
  • :camel-exec
  • :camel-fastjson
  • :camel-fhir
  • :camel-fhir-api
  • :camel-fhir-parent
  • :camel-file
  • :camel-file-watch
  • :camel-flatpack
  • :camel-flink
  • :camel-flowable
  • :camel-fop
  • :camel-fory
  • :camel-freemarker
  • :camel-ftp
  • :camel-ftp-common
  • :camel-geocoder
  • :camel-git
  • :camel-github
  • :camel-github2
  • :camel-google-bigquery
  • :camel-google-calendar
  • :camel-google-common
  • :camel-google-drive
  • :camel-google-firestore
  • :camel-google-functions
  • :camel-google-mail
  • :camel-google-parent
  • :camel-google-pubsub
  • :camel-google-secret-manager
  • :camel-google-sheets
  • :camel-google-speech-to-text
  • :camel-google-storage
  • :camel-google-text-to-speech
  • :camel-google-vertexai
  • :camel-google-vision
  • :camel-graphql
  • :camel-grok
  • :camel-groovy
  • :camel-grpc
  • :camel-gson
  • :camel-hashicorp-vault
  • :camel-hazelcast
  • :camel-headersmap
  • :camel-health
  • :camel-hl7
  • :camel-http
  • :camel-http-base
  • :camel-http-common
  • :camel-huawei-parent
  • :camel-huaweicloud-common
  • :camel-huaweicloud-dms
  • :camel-huaweicloud-frs
  • :camel-huaweicloud-functiongraph
  • :camel-huaweicloud-iam
  • :camel-huaweicloud-imagerecognition
  • :camel-huaweicloud-obs
  • :camel-huaweicloud-smn
  • :camel-huggingface
  • :camel-ibm-cos
  • :camel-ibm-parent
  • :camel-ibm-secrets-manager
  • :camel-ibm-watson-discovery
  • :camel-ibm-watson-language
  • :camel-ibm-watson-speech-to-text
  • :camel-ibm-watson-text-to-speech
  • :camel-ibm-watsonx-ai
  • :camel-ibm-watsonx-data
  • :camel-ical
  • :camel-iec60870
  • :camel-iggy
  • :camel-ignite
  • :camel-infinispan
  • :camel-infinispan-common
  • :camel-infinispan-embedded
  • :camel-infinispan-parent
  • :camel-influxdb
  • :camel-influxdb2
  • :camel-irc
  • :camel-ironmq
  • :camel-iso8583
  • :camel-itest
  • :camel-jackson
  • :camel-jackson-avro
  • :camel-jackson-protobuf
  • :camel-jackson3
  • :camel-jackson3-avro
  • :camel-jackson3-protobuf
  • :camel-jackson3xml
  • :camel-jacksonxml
  • :camel-jandex
  • :camel-jasypt
  • :camel-java-joor-dsl
  • :camel-javascript
  • :camel-jaxb
  • :camel-jbang-console
  • :camel-jbang-core
  • :camel-jbang-it
  • :camel-jbang-main
  • :camel-jbang-mcp
  • :camel-jbang-parent
  • :camel-jbang-plugin-edit
  • :camel-jbang-plugin-generate
  • :camel-jbang-plugin-kubernetes
  • :camel-jbang-plugin-route-parser
  • :camel-jbang-plugin-test
  • :camel-jbang-plugin-tui
  • :camel-jbang-plugin-validate
  • :camel-jcache
  • :camel-jcr
  • :camel-jdbc
  • :camel-jetty
  • :camel-jetty-common
  • :camel-jfr
  • :camel-jgroups
  • :camel-jgroups-raft
  • :camel-jira
  • :camel-jms
  • :camel-jmx
  • :camel-jolt
  • :camel-jooq
  • :camel-joor
  • :camel-jpa
  • :camel-jq
  • :camel-jsch
  • :camel-jslt
  • :camel-json-patch
  • :camel-json-validator
  • :camel-jsonapi
  • :camel-jsonata
  • :camel-jsonb
  • :camel-jsonpath
  • :camel-jsoup
  • :camel-jt400
  • :camel-jta
  • :camel-jte
  • :camel-kafka
  • :camel-kamelet
  • :camel-kamelet-main
  • :camel-kamelet-main-support
  • :camel-keycloak
  • :camel-knative
  • :camel-knative-api
  • :camel-knative-http
  • :camel-knative-parent
  • :camel-kserve
  • :camel-kubernetes
  • :camel-kudu
  • :camel-langchain4j-agent
  • :camel-langchain4j-agent-api
  • :camel-langchain4j-chat
  • :camel-langchain4j-core
  • :camel-langchain4j-embeddings
  • :camel-langchain4j-embeddingstore
  • :camel-langchain4j-embeddingstore-api
  • :camel-langchain4j-tokenizer
  • :camel-langchain4j-tools
  • :camel-langchain4j-web-search
  • :camel-language
  • :camel-launcher
  • :camel-launcher-container
  • :camel-ldap
  • :camel-ldif
  • :camel-leveldb
  • :camel-log
  • :camel-lra
  • :camel-lucene
  • :camel-lumberjack
  • :camel-lzf
  • :camel-mail
  • :camel-mail-microsoft-oauth
  • :camel-main
  • :camel-management
  • :camel-management-api
  • :camel-mapstruct
  • :camel-master
  • :camel-maven-plugin
  • :camel-mdc
  • :camel-metrics
  • :camel-micrometer
  • :camel-micrometer-observability
  • :camel-micrometer-prometheus
  • :camel-microprofile-config
  • :camel-microprofile-fault-tolerance
  • :camel-microprofile-health
  • :camel-microprofile-parent
  • :camel-milo
  • :camel-milvus
  • :camel-mina
  • :camel-mina-sftp
  • :camel-minio
  • :camel-mllp
  • :camel-mock
  • :camel-mongodb
  • :camel-mongodb-gridfs
  • :camel-mustache
  • :camel-mvel
  • :camel-mybatis
  • :camel-nats
  • :camel-neo4j
  • :camel-netty
  • :camel-netty-http
  • :camel-oaipmh
  • :camel-oauth
  • :camel-observability-services
  • :camel-observation
  • :camel-ocsf
  • :camel-ognl
  • :camel-olingo2
  • :camel-olingo2-api
  • :camel-olingo2-parent
  • :camel-olingo4
  • :camel-olingo4-api
  • :camel-olingo4-parent
  • :camel-once
  • :camel-openai
  • :camel-openapi-java
  • :camel-openapi-rest-dsl-generator
  • :camel-openapi-validator
  • :camel-opensearch
  • :camel-openstack
  • :camel-opentelemetry
  • :camel-opentelemetry-metrics
  • :camel-opentelemetry2
  • :camel-optaplanner
  • :camel-package-maven-plugin
  • :camel-paho
  • :camel-paho-mqtt5
  • :camel-parent
  • :camel-parquet-avro
  • :camel-pdf
  • :camel-pg-replication-slot
  • :camel-pgevent
  • :camel-pgvector
  • :camel-pinecone
  • :camel-platform-http
  • :camel-platform-http-jolokia
  • :camel-platform-http-main
  • :camel-platform-http-vertx
  • :camel-plc4x
  • :camel-pqc
  • :camel-printer
  • :camel-protobuf
  • :camel-pubnub
  • :camel-pulsar
  • :camel-python
  • :camel-qdrant
  • :camel-quartz
  • :camel-quickfix
  • :camel-reactive-executor-tomcat
  • :camel-reactive-executor-vertx
  • :camel-reactive-streams
  • :camel-reactor
  • :camel-redis
  • :camel-ref
  • :camel-repackager-maven-plugin
  • :camel-report-maven-plugin
  • :camel-resilience4j
  • :camel-resilience4j-micrometer
  • :camel-resourceresolver-github
  • :camel-rest
  • :camel-rest-openapi
  • :camel-restdsl-openapi-plugin
  • :camel-robotframework
  • :camel-rocketmq
  • :camel-route-parser
  • :camel-rss
  • :camel-rxjava
  • :camel-saga
  • :camel-salesforce
  • :camel-salesforce-codegen
  • :camel-salesforce-maven-plugin
  • :camel-salesforce-parent
  • :camel-sap-netweaver
  • :camel-saxon
  • :camel-scheduler
  • :camel-schematron
  • :camel-seda
  • :camel-servicenow
  • :camel-servicenow-maven-plugin
  • :camel-servicenow-parent
  • :camel-servlet
  • :camel-shiro
  • :camel-sjms
  • :camel-sjms2
  • :camel-slack
  • :camel-smb
  • :camel-smooks
  • :camel-smpp
  • :camel-snakeyaml
  • :camel-snmp
  • :camel-soap
  • :camel-solr
  • :camel-splunk
  • :camel-splunk-hec
  • :camel-spring
  • :camel-spring-ai-chat
  • :camel-spring-ai-embeddings
  • :camel-spring-ai-image
  • :camel-spring-ai-parent
  • :camel-spring-ai-tools
  • :camel-spring-ai-vector-store
  • :camel-spring-batch
  • :camel-spring-cloud-config
  • :camel-spring-jdbc
  • :camel-spring-ldap
  • :camel-spring-main
  • :camel-spring-parent
  • :camel-spring-rabbitmq
  • :camel-spring-redis
  • :camel-spring-security
  • :camel-spring-ws
  • :camel-spring-xml
  • :camel-sql
  • :camel-ssh
  • :camel-stax
  • :camel-stitch
  • :camel-stream
  • :camel-streamcaching-test
  • :camel-stringtemplate
  • :camel-stripe
  • :camel-stub
  • :camel-support
  • :camel-swift
  • :camel-syslog
  • :camel-tahu
  • :camel-tarfile
  • :camel-telegram
  • :camel-telemetry
  • :camel-telemetry-dev
  • :camel-tensorflow-serving
  • :camel-test-infra-all
  • :camel-test-infra-arangodb
  • :camel-test-infra-artemis
  • :camel-test-infra-aws-common
  • :camel-test-infra-aws-v2
  • :camel-test-infra-azure-common
  • :camel-test-infra-azure-storage-blob
  • :camel-test-infra-azure-storage-datalake
  • :camel-test-infra-azure-storage-queue
  • :camel-test-infra-cassandra
  • :camel-test-infra-chatscript
  • :camel-test-infra-cli
  • :camel-test-infra-common
  • :camel-test-infra-consul
  • :camel-test-infra-core
  • :camel-test-infra-couchbase
  • :camel-test-infra-couchdb
  • :camel-test-infra-dispatch-router
  • :camel-test-infra-docling
  • :camel-test-infra-elasticsearch
  • :camel-test-infra-fhir
  • :camel-test-infra-ftp
  • :camel-test-infra-google-pubsub
  • :camel-test-infra-hashicorp-vault
  • :camel-test-infra-hazelcast
  • :camel-test-infra-hivemq
  • :camel-test-infra-ibmmq
  • :camel-test-infra-iggy
  • :camel-test-infra-ignite
  • :camel-test-infra-infinispan
  • :camel-test-infra-jdbc
  • :camel-test-infra-jetty
  • :camel-test-infra-kafka
  • :camel-test-infra-keycloak
  • :camel-test-infra-mcp-everything
  • :camel-test-infra-messaging-common
  • :camel-test-infra-microprofile-lra
  • :camel-test-infra-milvus
  • :camel-test-infra-minio
  • :camel-test-infra-mongodb
  • :camel-test-infra-mosquitto
  • :camel-test-infra-nats
  • :camel-test-infra-neo4j
  • :camel-test-infra-ollama
  • :camel-test-infra-openai-mock
  • :camel-test-infra-openldap
  • :camel-test-infra-opensearch
  • :camel-test-infra-parent
  • :camel-test-infra-pinecone
  • :camel-test-infra-postgres
  • :camel-test-infra-pulsar
  • :camel-test-infra-qdrant
  • :camel-test-infra-rabbitmq
  • :camel-test-infra-redis
  • :camel-test-infra-rocketmq
  • :camel-test-infra-smb
  • :camel-test-infra-solr
  • :camel-test-infra-tensorflow-serving
  • :camel-test-infra-triton
  • :camel-test-infra-weaviate
  • :camel-test-infra-xmpp
  • :camel-test-infra-zookeeper
  • :camel-test-junit5
  • :camel-test-junit6
  • :camel-test-main-junit5
  • :camel-test-main-junit6
  • :camel-test-parent
  • :camel-test-spring-junit5
  • :camel-test-spring-junit6
  • :camel-threadpoolfactory-vertx
  • :camel-thrift
  • :camel-thymeleaf
  • :camel-tika
  • :camel-timer
  • :camel-tooling-maven
  • :camel-tooling-model
  • :camel-tooling-util
  • :camel-tracing
  • :camel-twilio
  • :camel-twitter
  • :camel-undertow
  • :camel-undertow-spring-security
  • :camel-univocity-parsers
  • :camel-util
  • :camel-util-json
  • :camel-validator
  • :camel-validator-test-resources
  • :camel-velocity
  • :camel-vertx
  • :camel-vertx-common
  • :camel-vertx-http
  • :camel-vertx-parent
  • :camel-vertx-websocket
  • :camel-wal
  • :camel-wasm
  • :camel-weather
  • :camel-weaviate
  • :camel-web3j
  • :camel-webhook
  • :camel-whatsapp
  • :camel-wordpress
  • :camel-workday
  • :camel-xchange
  • :camel-xj
  • :camel-xml-io
  • :camel-xml-io-dsl
  • :camel-xml-io-util
  • :camel-xml-jaxb
  • :camel-xml-jaxb-dsl
  • :camel-xml-jaxb-dsl-test
  • :camel-xml-jaxb-dsl-test-definition
  • :camel-xml-jaxb-dsl-test-spring
  • :camel-xml-jaxp
  • :camel-xml-jaxp-util
  • :camel-xmlsecurity
  • :camel-xmpp
  • :camel-xpath
  • :camel-xslt
  • :camel-xslt-saxon
  • :camel-yaml-dsl
  • :camel-yaml-dsl-common
  • :camel-yaml-dsl-deserializers
  • :camel-yaml-dsl-maven-plugin
  • :camel-yaml-dsl-parent
  • :camel-yaml-dsl-validator
  • :camel-yaml-dsl-validator-maven-plugin
  • :camel-yaml-io
  • :camel-zeebe
  • :camel-zendesk
  • :camel-zip-deflater
  • :camel-zipfile
  • :camel-zookeeper
  • :camel-zookeeper-master
  • :catalog
  • :components
  • :core
  • :coverage
  • :docs
  • :dsl
  • :dummy-component
  • :maven-plugins
  • :spi-annotations
  • :sync-properties-maven-plugin
  • :test-infra
  • :tests
  • :tooling
  • :tooling-parent

🔬 Detected via Maveniverse Scalpel effective POM comparison

All tested modules (671 modules)
  • Camel :: AI :: ChatScript
  • Camel :: AI :: Deep Java Library
  • Camel :: AI :: Docling
  • Camel :: AI :: Hugging Face
  • Camel :: AI :: KServe
  • Camel :: AI :: LangChain4j :: Agent
  • Camel :: AI :: LangChain4j :: Agent :: API
  • Camel :: AI :: LangChain4j :: Chat
  • Camel :: AI :: LangChain4j :: Core
  • Camel :: AI :: LangChain4j :: Embedding
  • Camel :: AI :: LangChain4j :: Embedding Store :: API
  • Camel :: AI :: LangChain4j :: Embedding Store :: API SUCCESS
  • Camel :: AI :: LangChain4j :: EmbeddingStore
  • Camel :: AI :: LangChain4j :: Tokenizer
  • Camel :: AI :: LangChain4j :: Tools
  • Camel :: AI :: LangChain4j :: Web Search
  • Camel :: AI :: Milvus
  • Camel :: AI :: Neo4j
  • Camel :: AI :: OpenAI
  • Camel :: AI :: PGVector
  • Camel :: AI :: Parent
  • Camel :: AI :: Pinecone
  • Camel :: AI :: Qdrant
  • Camel :: AI :: TensorFlow Serving
  • Camel :: AI :: Weaviate
  • Camel :: AMQP
  • Camel :: API
  • Camel :: AS2 :: API
  • Camel :: AS2 :: Component
  • Camel :: AS2 :: Parent
  • Camel :: ASN.1
  • Camel :: AWS :: Common
  • Camel :: AWS :: Parent
  • Camel :: AWS Cloutrail
  • Camel :: AWS Config
  • Camel :: AWS Redshift Data
  • Camel :: AWS Rekognition
  • Camel :: AWS Security Hub
  • Camel :: AWS Step Functions
  • Camel :: AWS Timestream
  • Camel :: AWS2 :: Transcribe
  • Camel :: AWS2 Athena
  • Camel :: AWS2 Bedrock
  • Camel :: AWS2 CW
  • Camel :: AWS2 Comprehend
  • Camel :: AWS2 DDB
  • Camel :: AWS2 EC2
  • Camel :: AWS2 ECS
  • Camel :: AWS2 EKS
  • Camel :: AWS2 Eventbridge
  • Camel :: AWS2 IAM
  • Camel :: AWS2 KMS
  • Camel :: AWS2 Kinesis
  • Camel :: AWS2 Lambda
  • Camel :: AWS2 MQ
  • Camel :: AWS2 MSK
  • Camel :: AWS2 Parameter Store
  • Camel :: AWS2 Polly
  • Camel :: AWS2 S3
  • Camel :: AWS2 S3 Vectors
  • Camel :: AWS2 SES
  • Camel :: AWS2 SNS
  • Camel :: AWS2 SQS
  • Camel :: AWS2 STS
  • Camel :: AWS2 Secrets Manager
  • Camel :: AWS2 Textract
  • Camel :: AWS2 Translate
  • Camel :: ActiveMQ 5.x
  • Camel :: ActiveMQ 6.x
  • Camel :: All Components Sync point
  • Camel :: All Core Sync point
  • Camel :: ArangoDB
  • Camel :: Archetypes
  • Camel :: Archetypes :: API Component
  • Camel :: Archetypes :: Component
  • Camel :: Archetypes :: Data Format
  • Camel :: Archetypes :: Java Router
  • Camel :: Archetypes :: Main
  • Camel :: Archetypes :: Spring XML Based Router (deprecated)
  • Camel :: Archetypes :: Spring XML Based Router (deprecated) SUCCESS
  • Camel :: Assembly
  • Camel :: Asterisk
  • Camel :: Atmosphere WebSocket Servlet
  • Camel :: Atom
  • Camel :: Attachments
  • Camel :: Avro
  • Camel :: Avro RPC
  • Camel :: Avro RPC :: Jetty
  • Camel :: Avro RPC :: Parent
  • Camel :: Avro RPC :: Spi
  • Camel :: Azure :: Common
  • Camel :: Azure :: CosmosDB
  • Camel :: Azure :: Event Grid
  • Camel :: Azure :: Event Hubs
  • Camel :: Azure :: Files
  • Camel :: Azure :: Functions
  • Camel :: Azure :: Key Vault
  • Camel :: Azure :: Parent
  • Camel :: Azure :: Schema Registry
  • Camel :: Azure :: ServiceBus
  • Camel :: Azure :: Storage Blob
  • Camel :: Azure :: Storage Datalake
  • Camel :: Azure :: Storage Queue
  • Camel :: BOM
  • Camel :: BOM :: Generator
  • Camel :: Barcode
  • Camel :: Base
  • Camel :: Base Engine
  • Camel :: Base64
  • Camel :: Bean
  • Camel :: Bean validator
  • Camel :: BeanIO
  • Camel :: Bindy
  • Camel :: Bonita
  • Camel :: Box :: API
  • Camel :: Box :: Component
  • Camel :: Box :: Parent
  • Camel :: Braintree
  • Camel :: Browse
  • Camel :: Buildtools
  • Camel :: CBOR
  • Camel :: CM SMS
  • Camel :: CSV
  • Camel :: CXF :: Common
  • Camel :: CXF :: Common :: Spring
  • Camel :: CXF :: Parent
  • Camel :: CXF :: REST
  • Camel :: CXF :: REST :: Spring
  • Camel :: CXF :: SOAP
  • Camel :: CXF :: SOAP :: Spring
  • Camel :: CXF :: Transport
  • Camel :: CXF :: Transport :: Spring
  • Camel :: Caffeine
  • Camel :: Camunda
  • Camel :: Cassandra CQL
  • Camel :: Catalog
  • Camel :: Catalog :: CSimple Maven Plugin (deprecated)
  • Camel :: Catalog :: CSimple Maven Plugin (deprecated) SUCCESS
  • Camel :: Catalog :: Camel Catalog
  • Camel :: Catalog :: Camel Report Maven Plugin
  • Camel :: Catalog :: Camel Route Parser
  • Camel :: Catalog :: Common
  • Camel :: Catalog :: Console
  • Camel :: Catalog :: Dummy Component
  • Camel :: Catalog :: Lucene (deprecated)
  • Camel :: Catalog :: Maven
  • Camel :: Catalog :: Suggest
  • Camel :: Chunk
  • Camel :: ClickUp
  • Camel :: CloudEvents
  • Camel :: Cluster
  • Camel :: CoAP
  • Camel :: Cometd
  • Camel :: Common Telemetry
  • Camel :: Common Tracing (deprecated)
  • Camel :: Component DSL
  • Camel :: Components
  • Camel :: Console
  • Camel :: Consul
  • Camel :: Controlbus
  • Camel :: Core
  • Camel :: Core Catalog
  • Camel :: Core Engine
  • Camel :: Core Languages
  • Camel :: Core Model
  • Camel :: Core Modules
  • Camel :: Core Processor
  • Camel :: Core Reifier
  • Camel :: Core XML
  • Camel :: CouchDB
  • Camel :: Couchbase
  • Camel :: Coverage
  • Camel :: Cron
  • Camel :: Crypto
  • Camel :: Crypto PGP
  • Camel :: CyberArk Vault
  • Camel :: DFDL
  • Camel :: DHIS2
  • Camel :: DHIS2 :: Parent
  • Camel :: DHIS2 API
  • Camel :: DNS
  • Camel :: DSL :: CLI Connector
  • Camel :: DSL :: CLI Debug
  • Camel :: DSL :: Modeline
  • Camel :: DSL :: Parent
  • Camel :: DSL :: Support
  • Camel :: Dapr
  • Camel :: DataSet
  • Camel :: DataSonnet
  • Camel :: Dataformat
  • Camel :: Debezium :: Common
  • Camel :: Debezium :: Common :: Parent
  • Camel :: Debezium :: DB2
  • Camel :: Debezium :: Maven Plugin
  • Camel :: Debezium :: MongoDB
  • Camel :: Debezium :: MySQL
  • Camel :: Debezium :: Oracle
  • Camel :: Debezium :: Parent
  • Camel :: Debezium :: PostgreSQL
  • Camel :: Debezium :: SQL Server
  • Camel :: Debugging
  • Camel :: Dependencies
  • Camel :: Diagram
  • Camel :: DigitalOcean (deprecated)
  • Camel :: Direct
  • Camel :: Disruptor
  • Camel :: Docker
  • Camel :: Docs
  • Camel :: Drill
  • Camel :: Dropbox
  • Camel :: Dynamic Router
  • Camel :: Ehcache
  • Camel :: ElasticSearch Java API Client
  • Camel :: ElasticSearch Rest Client
  • Camel :: Endpoint DSL
  • Camel :: Endpoint DSL :: Support
  • Camel :: Enforcer rules
  • Camel :: Etc
  • Camel :: Event
  • Camel :: Exec
  • Camel :: FHIR
  • Camel :: FHIR :: API
  • Camel :: FHIR :: Parent
  • Camel :: FOP
  • Camel :: FTP
  • Camel :: FTP Common
  • Camel :: Fastjson
  • Camel :: File
  • Camel :: File Watch
  • Camel :: FlatPack
  • Camel :: Flink
  • Camel :: Flowable
  • Camel :: Fory
  • Camel :: Freemarker
  • Camel :: Geocoder
  • Camel :: Git
  • Camel :: GitHub
  • Camel :: GitHub2
  • Camel :: Google :: BigQuery
  • Camel :: Google :: Calendar
  • Camel :: Google :: Common
  • Camel :: Google :: Drive
  • Camel :: Google :: Firestore
  • Camel :: Google :: Functions
  • Camel :: Google :: Mail
  • Camel :: Google :: Parent
  • Camel :: Google :: PubSub
  • Camel :: Google :: Secret Manager
  • Camel :: Google :: Sheets
  • Camel :: Google :: Speech To Text
  • Camel :: Google :: Storage
  • Camel :: Google :: Text To Speech
  • Camel :: Google :: Vertex AI
  • Camel :: Google :: Vision
  • Camel :: GraphQL
  • Camel :: Grok
  • Camel :: Groovy
  • Camel :: Gson
  • Camel :: HL7
  • Camel :: HTTP
  • Camel :: HTTP :: Base
  • Camel :: HTTP :: Common
  • Camel :: Hashicorp :: Key Vault
  • Camel :: HazelCast
  • Camel :: Headers Map
  • Camel :: Health
  • Camel :: Huawei Cloud :: Common
  • Camel :: Huawei Cloud :: DMS
  • Camel :: Huawei Cloud :: FaceRecognition
  • Camel :: Huawei Cloud :: FunctionGraph
  • Camel :: Huawei Cloud :: IAM
  • Camel :: Huawei Cloud :: ImageRecognition
  • Camel :: Huawei Cloud :: OBS
  • Camel :: Huawei Cloud :: Parent
  • Camel :: Huawei Cloud :: SimpleNotification
  • Camel :: IBM :: Cloud Object Storage
  • Camel :: IBM :: Parent
  • Camel :: IBM :: Secrets Manager
  • Camel :: IBM :: Watson Discovery
  • Camel :: IBM :: Watson Language
  • Camel :: IBM :: Watson Speech to Text
  • Camel :: IBM :: Watson Text to Speech
  • Camel :: IBM :: watsonx.ai
  • Camel :: IBM :: watsonx.data
  • Camel :: IEC 60870
  • Camel :: IRC (deprecated)
  • Camel :: ISO-8583
  • Camel :: Iggy
  • Camel :: Ignite
  • Camel :: Infinispan :: Common
  • Camel :: Infinispan :: Embedded
  • Camel :: Infinispan :: Parent
  • Camel :: Infinispan :: Remote
  • Camel :: InfluxDB
  • Camel :: InfluxDB2
  • Camel :: Integration Tests
  • Camel :: Integration Tests :: Stream Caching Tests
  • Camel :: Integration Tests :: Test Bundles
  • Camel :: Integration Tests :: Validator Resources
  • Camel :: IronMQ
  • Camel :: JAXB
  • Camel :: JBang :: Console
  • Camel :: JBang :: Core
  • Camel :: JBang :: Integration tests
  • Camel :: JBang :: MCP
  • Camel :: JBang :: Main
  • Camel :: JBang :: Parent
  • Camel :: JBang :: Plugin :: Edit
  • Camel :: JBang :: Plugin :: Generate
  • Camel :: JBang :: Plugin :: Kubernetes
  • Camel :: JBang :: Plugin :: Route Parser
  • Camel :: JBang :: Plugin :: TUI
  • Camel :: JBang :: Plugin :: Testing
  • Camel :: JBang :: Plugin :: Validate
  • Camel :: JCR
  • Camel :: JCache
  • Camel :: JDBC
  • Camel :: JGroups
  • Camel :: JGroups Raft
  • Camel :: JIRA
  • Camel :: JMS
  • Camel :: JMX
  • Camel :: JOOQ
  • Camel :: JPA
  • Camel :: JQ
  • Camel :: JSON validator
  • Camel :: JSON-B
  • Camel :: JSONATA
  • Camel :: JSon Path
  • Camel :: JSonApi
  • Camel :: JSoup
  • Camel :: JTA
  • Camel :: Jackson
  • Camel :: Jackson 3
  • Camel :: Jackson 3 Avro
  • Camel :: Jackson 3 Protobuf
  • Camel :: Jackson 3 XML
  • Camel :: Jackson Avro
  • Camel :: Jackson Protobuf
  • Camel :: Jackson XML
  • Camel :: Jandex
  • Camel :: Jasypt
  • Camel :: Java DSL with jOOR
  • Camel :: Java Flight Recorder
  • Camel :: Java Template Engine
  • Camel :: Java Toolbox for IBM i
  • Camel :: JavaScript
  • Camel :: Jetty
  • Camel :: Jetty :: Common
  • Camel :: Jolt
  • Camel :: Jsch
  • Camel :: Jslt
  • Camel :: JsonPatch (deprecated)
  • Camel :: Kafka
  • Camel :: Kamelet
  • Camel :: Kamelet Main
  • Camel :: Kamelet Main :: Support
  • Camel :: Keycloak
  • Camel :: Knative :: Parent
  • Camel :: Knative API
  • Camel :: Knative Component
  • Camel :: Knative HTTP
  • Camel :: Kubernetes
  • Camel :: Kudu
  • Camel :: LDAP
  • Camel :: LDIF
  • Camel :: LZF
  • Camel :: Language
  • Camel :: Launcher
  • Camel :: Launcher :: Container
  • Camel :: LevelDB (deprecated)
  • Camel :: Log
  • Camel :: Long-Running-Action
  • Camel :: Lucene
  • Camel :: Lumberjack
  • Camel :: MDC
  • Camel :: MINA
  • Camel :: MINA SFTP
  • Camel :: MLLP
  • Camel :: MVEL
  • Camel :: Mail
  • Camel :: Mail :: Microsoft OAuth
  • Camel :: Main
  • Camel :: Management
  • Camel :: Management API
  • Camel :: Mapstruct
  • Camel :: Master
  • Camel :: Maven Plugins
  • Camel :: Maven Plugins :: BOM Generator
  • Camel :: Maven Plugins :: Camel API Component Plugin
  • Camel :: Maven Plugins :: Camel API Component Plugin SUCCESS
  • Camel :: Maven Plugins :: Camel Maven Component
  • Camel :: Maven Plugins :: Camel Maven Package
  • Camel :: Maven Plugins :: Camel Maven Plugin
  • Camel :: Maven Plugins :: OpenApi REST DSL Generator
  • Camel :: Maven Plugins :: OpenApi REST DSL Generator SUCCESS
  • Camel :: Maven Plugins :: Repackager
  • Camel :: Maven Plugins :: Sync Properties
  • Camel :: Maven Plugins :: XML DSL Doc Enricher
  • Camel :: Metrics
  • Camel :: MicroProfile :: Config
  • Camel :: MicroProfile :: Fault Tolerance
  • Camel :: MicroProfile :: Health
  • Camel :: MicroProfile :: Parent
  • Camel :: Micrometer
  • Camel :: Micrometer :: Observability 2
  • Camel :: Micrometer :: Observation (deprecated)
  • Camel :: Micrometer :: Prometheus
  • Camel :: Milo
  • Camel :: MinIO
  • Camel :: Mock
  • Camel :: MongoDB
  • Camel :: MongoDB GridFS
  • Camel :: Mustache
  • Camel :: MyBatis
  • Camel :: Nats
  • Camel :: Netty
  • Camel :: Netty HTTP
  • Camel :: OAIPMH
  • Camel :: OAuth
  • Camel :: OCSF
  • Camel :: OGNL (deprecated)
  • Camel :: Observability Services
  • Camel :: Olingo2 (Deprecated) :: API
  • Camel :: Olingo2 (Deprecated) :: Component
  • Camel :: Olingo2 (Deprecated) :: Parent
  • Camel :: Olingo4 (Deprecated) :: API
  • Camel :: Olingo4 (Deprecated) :: Component
  • Camel :: Olingo4 (Deprecated) :: Parent
  • Camel :: Once
  • Camel :: OpenAPI :: Validator
  • Camel :: OpenApi Java
  • Camel :: OpenSearch Java API Client
  • Camel :: OpenStack
  • Camel :: OpenTelemetry (deprecated)
  • Camel :: Opentelemetry 2
  • Camel :: Opentelemetry Metrics
  • Camel :: OptaPlanner
  • Camel :: PDF
  • Camel :: PLC4X
  • Camel :: PQC
  • Camel :: Paho
  • Camel :: Paho MQTT 5
  • Camel :: Parent
  • Camel :: Parquet Avro
  • Camel :: PgEvent
  • Camel :: PgReplicationSlot
  • Camel :: Platform HTTP
  • Camel :: Platform HTTP :: Jolokia
  • Camel :: Platform HTTP :: Main
  • Camel :: Platform HTTP :: Vert.x
  • Camel :: Printer
  • Camel :: Protobuf
  • Camel :: PubNub
  • Camel :: Pulsar
  • Camel :: Python
  • Camel :: Quartz
  • Camel :: QuickFIX/J
  • Camel :: REST
  • Camel :: REST OpenApi
  • Camel :: RSS
  • Camel :: Reactive Executor :: Tomcat
  • Camel :: Reactive Executor :: Vert.x
  • Camel :: Reactive Streams
  • Camel :: Reactor
  • Camel :: Redis
  • Camel :: Ref
  • Camel :: Resilience4j
  • Camel :: Resilience4j :: Micrometer
  • Camel :: ResourceResolver GitHub
  • Camel :: RobotFramework
  • Camel :: RocketMQ
  • Camel :: RxJava
  • Camel :: SAP NetWeaver
  • Camel :: SMB
  • Camel :: SMPP
  • Camel :: SNMP
  • Camel :: SOAP
  • Camel :: SPI Annotations
  • Camel :: SQL
  • Camel :: SSH
  • Camel :: SWIFT
  • Camel :: Saga
  • Camel :: Salesforce
  • Camel :: Salesforce :: CodeGen
  • Camel :: Salesforce :: Maven Plugin
  • Camel :: Salesforce :: Parent
  • Camel :: Saxon
  • Camel :: Scheduler
  • Camel :: Schematron
  • Camel :: Seda
  • Camel :: ServiceNow :: Component
  • Camel :: ServiceNow :: Maven Plugin
  • Camel :: ServiceNow :: Parent
  • Camel :: Servlet
  • Camel :: Shiro
  • Camel :: Simple JMS
  • Camel :: Simple JMS2
  • Camel :: Slack
  • Camel :: Smooks :: Parent
  • Camel :: SnakeYAML
  • Camel :: Solr
  • Camel :: Splunk (deprecated)
  • Camel :: Splunk HEC
  • Camel :: Spring
  • Camel :: Spring :: Parent
  • Camel :: Spring AI :: Chat
  • Camel :: Spring AI :: Embeddings
  • Camel :: Spring AI :: Image
  • Camel :: Spring AI :: Parent
  • Camel :: Spring AI :: Tools
  • Camel :: Spring AI :: Vector Store
  • Camel :: Spring Batch
  • Camel :: Spring Cloud Config
  • Camel :: Spring JDBC
  • Camel :: Spring LDAP
  • Camel :: Spring Main
  • Camel :: Spring RabbitMQ
  • Camel :: Spring Redis
  • Camel :: Spring Security
  • Camel :: Spring Web Services
  • Camel :: Spring XML
  • Camel :: StAX
  • Camel :: Stitch
  • Camel :: Stream
  • Camel :: StringTemplate
  • Camel :: Stripe
  • Camel :: Stub
  • Camel :: Support
  • Camel :: Syslog
  • Camel :: Tahu
  • Camel :: Tar File
  • Camel :: Telegram
  • Camel :: Telemetry :: Dev
  • Camel :: Test :: JUnit5
  • Camel :: Test :: JUnit6
  • Camel :: Test :: Main :: JUnit5
  • Camel :: Test :: Main :: JUnit6
  • Camel :: Test :: Parent
  • Camel :: Test :: Spring :: JUnit5
  • Camel :: Test Infra
  • Camel :: Test Infra :: AWS Common
  • Camel :: Test Infra :: AWS SDK v2
  • Camel :: Test Infra :: All test services
  • Camel :: Test Infra :: ArangoDB
  • Camel :: Test Infra :: Artemis
  • Camel :: Test Infra :: Azure Common
  • Camel :: Test Infra :: Azure Storage Blob
  • Camel :: Test Infra :: Azure Storage Datalake
  • Camel :: Test Infra :: Azure Storage Queue
  • Camel :: Test Infra :: Cassandra
  • Camel :: Test Infra :: ChatScript
  • Camel :: Test Infra :: Cli (Camel JBang)
  • Camel :: Test Infra :: Common
  • Camel :: Test Infra :: Consul
  • Camel :: Test Infra :: Core
  • Camel :: Test Infra :: CouchDb
  • Camel :: Test Infra :: Couchbase
  • Camel :: Test Infra :: Dispatch Router
  • Camel :: Test Infra :: Docling
  • Camel :: Test Infra :: Elasticsearch
  • Camel :: Test Infra :: FHIR
  • Camel :: Test Infra :: Ftp
  • Camel :: Test Infra :: Google Pub/Sub
  • Camel :: Test Infra :: Hashicorp Vault
  • Camel :: Test Infra :: Hazelcast
  • Camel :: Test Infra :: HiveMQ
  • Camel :: Test Infra :: IBM MQ
  • Camel :: Test Infra :: Iggy
  • Camel :: Test Infra :: Ignite
  • Camel :: Test Infra :: Infinispan
  • Camel :: Test Infra :: JDBC
  • Camel :: Test Infra :: Jetty
  • Camel :: Test Infra :: Kafka
  • Camel :: Test Infra :: Keycloak
  • Camel :: Test Infra :: MCP Everything
  • Camel :: Test Infra :: Messaging Common
  • Camel :: Test Infra :: Microprofile LRA
  • Camel :: Test Infra :: Milvus
  • Camel :: Test Infra :: Minio
  • Camel :: Test Infra :: MongoDB
  • Camel :: Test Infra :: Mosquitto
  • Camel :: Test Infra :: Nats
  • Camel :: Test Infra :: Neo4j
  • Camel :: Test Infra :: Ollama
  • Camel :: Test Infra :: OpenAI Mock
  • Camel :: Test Infra :: Openladp
  • Camel :: Test Infra :: Parent
  • Camel :: Test Infra :: Pinecone
  • Camel :: Test Infra :: Postgres
  • Camel :: Test Infra :: Pulsar
  • Camel :: Test Infra :: RabbitMQ
  • Camel :: Test Infra :: Redis
  • Camel :: Test Infra :: RocketMQ
  • Camel :: Test Infra :: Server Message Block
  • Camel :: Test Infra :: Solr
  • Camel :: Test Infra :: TensorFlow Serving
  • Camel :: Test Infra :: Triton Inference Server
  • Camel :: Test Infra :: Weaviate
  • Camel :: Test Infra :: Xmpp
  • Camel :: Test Infra :: ZooKeeper
  • Camel :: Test Infra :: opensearch
  • Camel :: Test Infra :: qdrant
  • Camel :: Thread Pool Factory :: Vert.x
  • Camel :: Thrift
  • Camel :: Thymeleaf
  • Camel :: Tika
  • Camel :: Timer
  • Camel :: Tooling
  • Camel :: Tooling :: Maven
  • Camel :: Tooling :: Model
  • Camel :: Tooling :: OpenApi REST DSL Generator
  • Camel :: Tooling :: Util
  • Camel :: Tooling Parent
  • Camel :: Twilio
  • Camel :: Twitter
  • Camel :: Undertow
  • Camel :: Undertow Spring Security
  • Camel :: UniVocity Parsers
  • Camel :: Util
  • Camel :: Util :: JSon
  • Camel :: Validator
  • Camel :: Velocity
  • Camel :: Vert.x :: Common
  • Camel :: Vert.x :: HTTP
  • Camel :: Vert.x :: Parent
  • Camel :: Vert.x :: WebSocket
  • Camel :: Vertx
  • Camel :: WAL
  • Camel :: Wasm
  • Camel :: Weather
  • Camel :: Web3j
  • Camel :: Webhook
  • Camel :: Whatsapp
  • Camel :: Wordpress
  • Camel :: Workday
  • Camel :: XChange
  • Camel :: XJ
  • Camel :: XML DSL Jaxb :: Test :: Definition
  • Camel :: XML DSL Jaxb :: Test :: Spring
  • Camel :: XML DSL Jaxb :: Tests
  • Camel :: XML DSL with camel-xml-io
  • Camel :: XML DSL with camel-xml-jaxb
  • Camel :: XML IO
  • Camel :: XML IO Util
  • Camel :: XML JAXB
  • Camel :: XML JAXP
  • Camel :: XML JAXP Util
  • Camel :: XML Security
  • Camel :: XMPP
  • Camel :: XPath
  • Camel :: XSLT
  • Camel :: XSLT Saxon
  • Camel :: YAML DSL
  • Camel :: YAML DSL :: Common
  • Camel :: YAML DSL :: Deserializers
  • Camel :: YAML DSL :: Maven Plugins
  • Camel :: YAML DSL :: Parent
  • Camel :: YAML DSL :: Validator
  • Camel :: YAML DSL :: Validator Maven Plugin
  • Camel :: YAML IO
  • Camel :: Zeebe (deprecated)
  • Camel :: Zendesk
  • Camel :: Zip Deflater
  • Camel :: Zip File
  • Camel :: Zookeeper
  • Camel :: Zookeeper Master
  • Camel :: csimple jOOR (deprecated)
  • Camel :: gRPC
  • Camel :: iCal
  • Camel :: jOOR

⚙️ View full build and test results

@gnodet
Copy link
Copy Markdown
Contributor Author

gnodet commented May 7, 2026

Claude Code on behalf of Guillaume Nodet

Benchmark results

Tested with two companion PRs to measure the impact:

PR OpenRewrite Build time (JDK 21)
#23068 (no FQCNs) skipped ~22 min
#23069 (with FQCNs) triggered ~30 min

~8 minutes saved (~36% faster) on builds that don't introduce FQCNs, which is the common case (dependency bumps, doc changes, clean code).

When FQCNs are detected, OpenRewrite runs as before — no regression in correctness.

@gnodet gnodet marked this pull request as ready for review May 7, 2026 21:02
@gnodet gnodet requested review from apupier and oscerd May 7, 2026 21:02
@gnodet gnodet marked this pull request as draft May 11, 2026 11:08
@gnodet gnodet force-pushed the elderly-mackerel branch from 46d399c to 8629333 Compare May 11, 2026 11:08
@gnodet gnodet changed the title Conditionally enable OpenRewrite FQCN shortening in CI Conditionally enable OpenRewrite per module via marker files May 11, 2026
@gnodet gnodet force-pushed the elderly-mackerel branch 2 times, most recently from a3a8e12 to 4eda1ce Compare May 12, 2026 06:10
@gnodet
Copy link
Copy Markdown
Contributor Author

gnodet commented May 12, 2026

Claude Code on behalf of Guillaume Nodet

Benchmark results (marker file approach)

Tested with two companion PRs to validate the per-module marker file approach:

PR Changes OpenRewrite Regen time (JDK 21)
#23122 (no Java changes) README only not triggered (no markers) ~24 min
#23123 (Java in camel-api) 1 module triggered for core/camel-api only ~25.5 min

With the per-module approach, OpenRewrite on a single module adds only ~1.5 min (vs ~8 min when running on all modules with the old -Prewrite flag).

Both PRs: regen succeeded, no uncommitted changes from marker files, license plugin handled correctly. Test step failures in #23122/#23123 are unrelated (flaky camel-ftp port binding — FileToFtpsWithCustomTrustStorePropertiesIT fails to bind to hardcoded port 43901).

Main PR #23060 passed all CI checks (JDK 17, 21, 25).

Instead of always running OpenRewrite on all modules (which adds ~8 min
to every build), use Maven file-activated profiles to run it only on
modules with changed Java files.

Before the build, regen.sh creates .rewrite-enabled marker files in
modules that have modified Java files. The rewrite profile in parent/pom.xml
activates when this file exists, so OpenRewrite runs only where needed.

This approach is recipe-agnostic — adding new OpenRewrite recipes to
the profile requires no changes to the detection logic.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@gnodet gnodet force-pushed the elderly-mackerel branch from 4eda1ce to 6fc824b Compare May 12, 2026 12:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant