I don't see the issue with having a hard dependency in an optional module.
The reactive bindings have a hard dependency on the Reactive Streams API,
for example. It's a bigger commitment to have an *API* dependency than an
implementation dependency, since that implies that it would be a breaking
change to migrate to some other JSON library, but in practice Jackson is
currently the only sensible choice in the Java ecosystem.

I can't help but notice that httpcomponents-jackson builds with Gradle. I
assume you'll put in a Maven build, but I think keeping the Gradle build
would be a good idea. I've been working on improving httpcomponents build
times and I'm starting to get frustrated with Maven's limitations; I'd like
the option of using Gradle for local development. It's *much* faster, it
has strong IDE integration, it produces useful HTML test reports, etc.
There's also an especially powerful feature called composite builds that
makes it really easy to build separate projects together, and in my
experience this ends up being the killer feature that wins over a lot of
Gradle skeptics.

We'd continue using Maven for CI and release builds, of course, but I think
a Gradle build would be worth maintaining just for local development.

On Sat, Dec 20, 2025 at 12:23 PM Oleg Kalnichevski <[email protected]> wrote:

> Folks
>
> We ended up with a number of modules in core and client with a single
> developer and more are in the pipeline.
>
> I have been maintaining an event-driven, asynchronous JSON message
> processor for HttpComponents 5.x outside of HttpComponents largely for
> two reasons: being a single maintainer and its having a hard dependency
> on an external library:
>
> https://github.com/ok2c/httpcomponents-jackson
>
> The module covers a functionality gap between the classic and the async
> i/o with regards to efficient processing of JSON messages.
>
> As the reasons for keeping the module outside HttpComponents seem no
> longer applicable I would be easier for me to maintain that module
> here. The module is small, has a single dependency on Jackson JSON
> bindings and is quite stable by now.
>
> If there are any objection please do let me know.
>
> Oleg
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

Reply via email to