-
Notifications
You must be signed in to change notification settings - Fork 166
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
Reorganize the rdf4j-util module: split into separate modules for easier dependency mgmt #2710
Labels
🔧 internal task
a project workflow / setup task not directly impacting end users
M1
Fixed in milestone 1
Milestone
Comments
abrokenjester
added
💬 needs discussion
🔧 internal task
a project workflow / setup task not directly impacting end users
labels
Dec 10, 2020
abrokenjester
added a commit
that referenced
this issue
May 27, 2021
abrokenjester
added a commit
that referenced
this issue
May 31, 2021
abrokenjester
added a commit
that referenced
this issue
Jun 12, 2021
abrokenjester
added a commit
that referenced
this issue
Jul 24, 2021
abrokenjester
added a commit
that referenced
this issue
Jul 24, 2021
abrokenjester
added a commit
that referenced
this issue
Jul 24, 2021
5 tasks
abrokenjester
added a commit
that referenced
this issue
Jul 25, 2021
abrokenjester
added a commit
that referenced
this issue
Jul 25, 2021
abrokenjester
added a commit
that referenced
this issue
Jul 25, 2021
abrokenjester
added a commit
that referenced
this issue
Jul 25, 2021
abrokenjester
added a commit
that referenced
this issue
Jul 25, 2021
abrokenjester
added a commit
that referenced
this issue
Jul 25, 2021
abrokenjester
added a commit
that referenced
this issue
Jul 25, 2021
abrokenjester
added a commit
that referenced
this issue
Jul 25, 2021
abrokenjester
added a commit
that referenced
this issue
Jul 25, 2021
abrokenjester
added a commit
that referenced
this issue
Jul 25, 2021
abrokenjester
added a commit
that referenced
this issue
Jul 25, 2021
abrokenjester
added a commit
that referenced
this issue
Jul 25, 2021
abrokenjester
added a commit
that referenced
this issue
Jul 25, 2021
abrokenjester
added a commit
that referenced
this issue
Jul 25, 2021
abrokenjester
added a commit
that referenced
this issue
Jul 25, 2021
abrokenjester
added a commit
that referenced
this issue
Jul 25, 2021
abrokenjester
added a commit
that referenced
this issue
Jul 25, 2021
abrokenjester
added a commit
that referenced
this issue
Jul 25, 2021
abrokenjester
added a commit
that referenced
this issue
Jul 25, 2021
abrokenjester
added a commit
that referenced
this issue
Jul 25, 2021
abrokenjester
added a commit
that referenced
this issue
Jul 27, 2021
GH-2710 module structure reorganization
hmottestad
added a commit
that referenced
this issue
Dec 22, 2021
Signed-off-by: Håvard Ottestad <hmottestad@gmail.com>
5 tasks
hmottestad
added a commit
that referenced
this issue
Dec 22, 2021
…-references GH-2710 remove references to old missing util modules
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
🔧 internal task
a project workflow / setup task not directly impacting end users
M1
Fixed in milestone 1
The
@Experimental
and@InternalUseOnly
annotations are currently part of rdf4j-model-api. They were moved there (from rdf4j-util) as part of an effort to make rdf4j-model-api as lightweight as possible (and not have to include all the iterator and utility classes from rdf4j-util).This has introduced a problem in the dependency hierarchy, in particular for rdf4j-util: it now has to depend on rdf4j-model-api, just to be able to refer to those two annotation classes. Note that even if we removed their actual use from rdf4j-util code, we'd still get api comparison errors, because those two classes no longer appear (making it binary incompatible).
We could move them back and make rdf4j-model-api depend on rdf4j-util again, but that increases its footprint again.
A better fix is to reorganize the rdf4j-util module, splitting it into separate "commons utilities" modules. That way the annotation classes can be moved back into a (leaner) commons module that rdf4j-model-api can then depend on again.
Possible new Maven structure (
oer
=org.eclipse.rdf4j
):rdf4j-commons
(POM only, contains submodules for various 'commons' functionality)rdf4j-commons-utilities
-> annotations and other classes (for which no more specific module can be found) for use throughout the rdf4j codebase. Intended to be as small as possible to decrease footprint.rdf4j-commons-iterators
-> everything inoer.common.iterator
,oer.common.iteration
andoer.util.iterators
rdf4j-commons-transaction
-> everything inoer.common.transaction
(at some point we'll migratateIsolationLevel
there as well)rdf4j-commons-io
-> everything inoer.common.io
andoer.common.net
rdf4j-commons-xml
-> everything inoer.common.xml
rdf4j-commons-text
-> everything inoer.common.text
Note that rdf4j-util would be removed. Effectively we get six additional modules, all relatively small. Downside is more modules to juggle, but possible upside is that it gives us more control when wanting to share functionality across the code base (especially when sharing code across both client and server). It also gives us a better handle on what code in that "catch-all" bucket is out of date and no longer used, and sets us up nicely for the goal of making sure each package is only in a single module.
The text was updated successfully, but these errors were encountered: