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

Generate bom using java-platform plugin #1796

Merged
merged 1 commit into from
Jun 29, 2023

Conversation

sghill
Copy link
Contributor

@sghill sghill commented Jun 26, 2023

What was changed

Added a temporal-bom subproject that publishes a bom using Gradle's java-platform plugin.

Most of the script plugins (dependencyManagement.gradle, java.gradle, etc) are built around the assumption each module is a java module. I excluded this project by name for this change.

Why?

BOMs are useful for keeping versions aligned, especially when they are brought in only as transitive dependencies.

Example without a bom:

runtimeClasspath
+--- org.example:some-library:1.0.0
|    +--- io.temporal:temporal-serviceclient:1.15 (misaligned)
\--- io.temporal:temporal-sdk:1.20

Other examples of java libraries producing similar boms: junit-bom, okhttp-bom

Checklist

How was this tested:

I ran ./gradlew :temporal-bom:generatePomFileForMavenJavaPublication and viewed the generated pom was expected.

Any docs updates needed?

Possibly an example of usage:

dependencies {
    implementation platform('io.temporal:temporal-bom:1.21.0-SNAPSHOT')
    implementation 'io.temporal:temporal-sdk' // no version necessary
    implementation 'io.temporal:temporal-remote-data-encoder'
    testImplementation 'io.temporal:temporal-testing'
}

@sghill sghill requested a review from a team as a code owner June 26, 2023 22:14
@CLAassistant
Copy link

CLAassistant commented Jun 26, 2023

CLA assistant check
All committers have signed the CLA.

@cretz
Copy link
Member

cretz commented Jun 27, 2023

@Quinn-With-Two-Ns and @mjameswh - this was suggested via internal Slack thread and seems reasonable. May be worth a little due diligence to make sure it looks right and will publish properly.

Copy link
Contributor

@Quinn-With-Two-Ns Quinn-With-Two-Ns left a comment

Choose a reason for hiding this comment

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

LGTM CI is failing because you branch is missing tags

@sghill
Copy link
Contributor Author

sghill commented Jun 28, 2023

Thanks for the review @Quinn-With-Two-Ns! I rebased, pushed the tags to my branch, and it's green now.

@Quinn-With-Two-Ns Quinn-With-Two-Ns merged commit 9a45715 into temporalio:master Jun 29, 2023
3 checks passed
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