davsclaus opened a new pull request, #26575:
URL: https://github.com/apache/camel/pull/26575

   `camel run` resolves the class of a bean or a property to a Maven dependency 
through `camel-main-known-dependencies.properties` and downloads it on demand. 
The file mapped a handful of classes one by one (the Postgres `Driver` and 
`PGSimpleDataSource`, the Artemis connection factory, `HikariDataSource`), so a 
bean of any other class in the same jar, or of any other library, failed at 
startup unless the dependency was declared by hand.
   
   `KnownDependenciesResolver.findGav` matches the class name and then each 
enclosing package, so one line per library is enough. This PR replaces the 
per-class lines by their package and adds the libraries camel-dependencies 
already manages a version for, each at its own package and never a shared 
parent such as `org.apache.commons`:
   
   - JDBC drivers, datasources and pools: Postgres, MySQL, MariaDB, SQL Server, 
Oracle, H2, HikariCP, c3p0, dbcp2
   - messaging clients: Artemis, classic ActiveMQ 6, Qpid JMS, pooled-jms, 
Kafka, Jedis, MongoDB
   - data: Jackson databind plus the xml, yaml and csv dataformats, Gson, 
SnakeYAML, commons-csv, univocity, commons-lang3, commons-io, Guava, jsoup
   - templates, HTTP, caching: FreeMarker, Velocity, HttpClient 5, Caffeine, 
Hazelcast, Infinispan core and Hot Rod, Ehcache
   - AWS SDK v2 service artifacts: S3, SQS, SNS, DynamoDB, Kinesis, Lambda, 
Secrets Manager
   - Micrometer, the OpenTelemetry API, Groovy
   
   65 entries become 105. The Artemis package sits under the classic ActiveMQ 
one; the resolver walks up from the class, so the deeper package wins for its 
own classes. A new test loads the shipped file and pins that along with a dozen 
other resolutions. Every `${...-version}` placeholder is checked against the 
properties of camel-dependencies.
   
   The validator in camel-jbang reads the same file (#26574), so each entry 
here also stops a false "class not found" in `camel validate` and the MCP write 
tool. Generating the list from the managed dependencies at build time, as the 
Jira also suggests, is left for a follow-up.
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   
   https://claude.ai/code/session_01Bp3538HRBPMQkb5ta9xRaj


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to