Skip to content

Conversation

@labkey-matthewb
Copy link
Contributor

Rationale

set global dependency version

Related Pull Requests

Changes

@labkey-matthewb labkey-matthewb marked this pull request as ready for review January 14, 2026 20:11
@labkey-jeckels
Copy link
Contributor

Looks like we need to resolve some conflicting dependency versions.

org.antlr:ST4 has 2 versions as follows:
15:11:53  4.0.8 [:server:modules:platform:query]
15:11:53  4.3.4 [:server:modules:platform:api]
15:11:53  org.antlr:antlr-runtime has 2 versions as follows:
15:11:53  3.5.2 [:server:modules:platform:query]
15:11:53  3.5.3 [:server:modules:platform:api]
15:11:53  com.google.api:api-common has 2 versions as follows:
15:11:53  2.14.1 [:server:modules:DiscvrLabKeyModules:SequenceAnalysis]
15:11:53  2.47.0 [:server:modules:platform:api, :server:modules:platform:query]
15:11:53  com.google.auth:google-auth-library-oauth2-http has 2 versions as follows:
15:11:53  1.33.0 [:server:modules:platform:api, :server:modules:platform:query]
15:11:53  1.19.0 [:server:modules:DiscvrLabKeyModules:SequenceAnalysis, :server:modules:wnprc-modules:WNPRC_EHR]
15:11:53  com.google.genai:google-genai has 2 versions as follows:
15:11:53  1.28.0 [:server:modules:platform:api]
15:11:53  1.15.0 [:server:modules:platform:query]
15:11:53  com.google.auth:google-auth-library-credentials has 2 versions as follows:
15:11:53 

springBootVersion=3.5.8
# This usually matches the Spring Framework version dictated by springBootVersion
springVersion=6.2.15
springAiVersion=1.1.2
Copy link
Contributor

@labkey-jeckels labkey-jeckels Jan 19, 2026

Choose a reason for hiding this comment

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

Do we need this at the root? Looks like it's only used in the API module. Do you expect other modules will need it before long?

Regardless, we need to resolve the handful of dependency version conflicts before this can be merged.

Copy link
Contributor

@labkey-jeckels labkey-jeckels left a comment

Choose a reason for hiding this comment

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

Need to resolve dependency conflicts

@labkey-matthewb
Copy link
Contributor Author

Need to resolve dependency conflicts

I put springAIVersion here just to put it with its spring friends. I'm open to doing something else.

I forced force antlrST4Version=4.3.4 (in platform). Seems to work, but I'm not sure how we maintain and review these exceptions.

@labkey-jeckels
Copy link
Contributor

Need to resolve dependency conflicts

I put springAIVersion here just to put it with its spring friends. I'm open to doing something else.

I forced force antlrST4Version=4.3.4 (in platform). Seems to work, but I'm not sure how we maintain and review these exceptions.

I believe we primarily rely on the comments in the line that forces the version. Thanks for adding one.

@labkey-susanh any preference on where to set the Spring AI version? I thought it would live in the one module that uses it, but I don't see a server/modules/platform/api/gradle.properties so I'm probably wrong.

@labkey-jeckels
Copy link
Contributor

@labkey-matthewb that cleared one of the four conflicts. We probably need forces for one or more of the others too.

@labkey-susanh
Copy link
Contributor

Need to resolve dependency conflicts

I put springAIVersion here just to put it with its spring friends. I'm open to doing something else.
I forced force antlrST4Version=4.3.4 (in platform). Seems to work, but I'm not sure how we maintain and review these exceptions.

I believe we primarily rely on the comments in the line that forces the version. Thanks for adding one.

@labkey-susanh any preference on where to set the Spring AI version? I thought it would live in the one module that uses it, but I don't see a server/modules/platform/api/gradle.properties so I'm probably wrong.

Often if there's just one usage, we won't capture it in a gradle.properties file but inline in the build.gradle file. We aren't 100% consistent with these one-offs. The main thing we want is to use a property when there is more than one usage to maintain consistency. If the Spring AI version will need to be updated along with its other spring buddies, keeping them together makes sense. We also maintain notes on current versions and latest versions and the like in the "Upgrade Dependencies" document. This includes notes on which build.gradle file needs updating for various dependencies.

@labkey-jeckels
Copy link
Contributor

Need to resolve dependency conflicts

I put springAIVersion here just to put it with its spring friends. I'm open to doing something else.
I forced force antlrST4Version=4.3.4 (in platform). Seems to work, but I'm not sure how we maintain and review these exceptions.

I believe we primarily rely on the comments in the line that forces the version. Thanks for adding one.
@labkey-susanh any preference on where to set the Spring AI version? I thought it would live in the one module that uses it, but I don't see a server/modules/platform/api/gradle.properties so I'm probably wrong.

Often if there's just one usage, we won't capture it in a gradle.properties file but inline in the build.gradle file. We aren't 100% consistent with these one-offs. The main thing we want is to use a property when there is more than one usage to maintain consistency. If the Spring AI version will need to be updated along with its other spring buddies, keeping them together makes sense. We also maintain notes on current versions and latest versions and the like in the "Upgrade Dependencies" document. This includes notes on which build.gradle file needs updating for various dependencies.

@labkey-matthewb here's the link to that "Upgrade Dependencies" doc: https://docs.google.com/document/d/1JPZ8al_M6eQh813Q8y3ALhRNgTieveaKDXv5iFUbq7A/edit?tab=t.0

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.

4 participants