Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create an external dependency on jOOλ, jOOR, jOOU #3184

Open
3 tasks
lukaseder opened this issue Apr 14, 2014 · 3 comments
Open
3 tasks

Create an external dependency on jOOλ, jOOR, jOOU #3184

lukaseder opened this issue Apr 14, 2014 · 3 comments

Comments

@lukaseder
Copy link
Member

lukaseder commented Apr 14, 2014

Our current strategy to remain dependency-free might not continue to work for long. One example where this strategy was criticised is jOOU, which can perfectly well live as a standalone API, which is re-referenced from jOOQ.

While other dependencies (CSV, JSON stuff) aren't really exported, jOOλ, jOOR, jOOU has a chance of being on jOOQ users' classpaths twice.

Thus, in a new minor release, we should re-think our external dependency strategy:

@ooxi
Copy link
Contributor

ooxi commented Jul 31, 2016

At least for dependencies you provide yourself (jOOU / jOOR) I would love to not having them both in the classpath - one bundled one standalone.

For other dependencies like an CSV / JSON implementation I agree with the repackaging.

@lukaseder lukaseder changed the title Create an external dependency on jOOU Create an external dependency on jOOλ, jOOR, jOOU Apr 27, 2021
@lukaseder lukaseder added this to To do in 3.15 Other improvements via automation Apr 27, 2021
@lukaseder
Copy link
Member Author

Let's re-iterate this again for jOOQ 3.15, as we could profit from adding an external dependency on jOOλ for #11804. This doesn't have to be an incompatible change in jOOQ. We could move the incompatiblity to the other libraries:

  • jOOR is at version 0.9.14 and packages in org.joor, module org.jooq.joor. We don't even own the package domain, so perhaps it's not a bad idea to repackage it as org.jooq.reflect(incompatible) ororg.jooq.tools.reflect` (compatible, but a bit lame)
  • jOOU is at version 0.9.4 and packages in org.joou, module org.jooq.joou. We don't own the package domain either, so same story. Currently in org.jooq.types` (compatible)
  • jOOλ is at version 0.9.14 and packages in org.jooq.lambda, module org.jooq.jool

There could be two strategies to build things in the future:

  • Keep these libraries independent of jOOQ as they are now, except for a module and package rename, and a single version upgrade to document the incompatibility
  • Merge these libraries into the jOOQ build and let them share the jOOQ version number, next release being 3.15.0. This would be a strong endorsement of the whole set of libraries forming a unit.

To be defined.

@lukaseder
Copy link
Member Author

I don't want to rush adding these dependencies. It may eventually be a good idea, but just because we have Function[N] now in jOOQ doesn't justify adding all of jOOλ.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants