Skip to content

OAK-12093: Rationalize dependency management#2729

Draft
bhabegger wants to merge 1 commit intoapache:trunkfrom
bhabegger:rationalize-dependencies
Draft

OAK-12093: Rationalize dependency management#2729
bhabegger wants to merge 1 commit intoapache:trunkfrom
bhabegger:rationalize-dependencies

Conversation

@bhabegger
Copy link
Contributor

@bhabegger bhabegger commented Feb 9, 2026

This PR proposes to rationalize the dependencies in OAK. Some artifacts are downloaded in duplicates of different versions and even some times more.

To reduce these downloads, this PR removes explicit versions in sub-modules (unless strictly required, e.g. lucene for itself or lucene for elastic). All dependency versioning is centralized in the parent pom.

Number of downloads before : 999
Number of downloads after : 953

<guava.version>33.5.0-jre</guava.version>
<gson.version>2.11.0</gson.version>

<commons.compress.version>1.28.0</commons.compress.version>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we need this here? I don't see why we would to introduce variables.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So, here, I guess the convention is to have variables only when they have multiple uses ? Correct ?

Copy link
Contributor

@reschke reschke left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some of these are good, but IMHO do not need variables.

Some of them are critical, when they affect embedded transitive dependencies.

This needs to be broken down into more separate changes.

<scope>test</scope>
</dependency>

<!-- Guava and related dependencies -->
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nope, we are removing Guava.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the removal of guava merged or soon to be ? If so I'll rebase and skip this then ;)

@bhabegger
Copy link
Contributor Author

Some of these are good, but IMHO do not need variables.

Some of them are critical, when they affect embedded transitive dependencies.

This needs to be broken down into more separate changes.

Any in particular you see as critical that should be taken care of separately ?

@bhabegger bhabegger changed the title Rationalize dependency management OAK-12093: Rationalize dependency management Feb 10, 2026
@bhabegger bhabegger force-pushed the rationalize-dependencies branch from 79f9a5c to a13d46a Compare February 13, 2026 07:12
Comment on lines +1512 to +1526
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>elasticsearch</artifactId>
<version>${testcontainers.version}</version>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>mongodb</artifactId>
<version>${testcontainers.version}</version>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers</artifactId>
<version>${testcontainers.version}</version>
</dependency>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think these should be in the parent pom but rather in the specific modules.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants