Skip to content

Commit af341f7

Browse files
build: switch to use bom (#75)
* build: switch to use bom * chore: add history for autobuild * ci: push version to bom on publish * chore: update
1 parent ce4f3be commit af341f7

File tree

20 files changed

+508
-122
lines changed

20 files changed

+508
-122
lines changed

.github/workflows/codeql-analysis.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ jobs:
2727
steps:
2828
- name: Checkout repository
2929
uses: actions/checkout@v4
30+
with:
31+
fetch-depth: 0
3032

3133
# Initializes the CodeQL tools for scanning.
3234
- name: Initialize CodeQL

.github/workflows/publish.yml

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ on:
44
release:
55
types:
66
- created
7-
workflow_dispatch:
87

98
jobs:
109
publish-artifacts:
@@ -24,5 +23,28 @@ jobs:
2423
ORG_GRADLE_PROJECT_maven_repo_url: ${{ secrets.HAR_REPO_URL }}
2524
ORG_GRADLE_PROJECT_maven_user: ${{ secrets.HAR_PUBLISH_USER }}
2625
ORG_GRADLE_PROJECT_maven_password: ${{ secrets.HAR_PUBLISH_TOKEN }}
26+
post-publish-artifacts:
27+
runs-on: ubuntu-24.04
28+
needs: [ publish-artifacts ]
29+
steps:
30+
- name: Get Token from Github App
31+
uses: tibdex/github-app-token@v2
32+
id: generate-token
33+
with:
34+
app_id: ${{ secrets.GH_CI_APP_ID }}
35+
private_key: ${{ secrets.GH_CI_APP_PRIVATE_KEY }}
36+
repositories: >-
37+
["hypertrace-bom"]
38+
- name: Auto upgrade BOM
39+
uses: peter-evans/repository-dispatch@v3
40+
with:
41+
token: ${{ steps.generate-token.outputs.token }}
42+
repository: hypertrace/hypertrace-bom
43+
event-type: upgrade-version
44+
client-payload: |
45+
{
46+
"repository": "${{ github.repository }}",
47+
"version": "${{ github.ref }}"
48+
}
2749
2850

.github/workflows/update-locks.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: Update Locks
2+
on:
3+
workflow_dispatch:
4+
schedule:
5+
- cron: '18 22 * * 1'
6+
jobs:
7+
update-versions:
8+
runs-on: ubuntu-24.04
9+
steps:
10+
- name: Check out code
11+
uses: actions/checkout@v4
12+
with:
13+
fetch-depth: 0
14+
- name: Calculate simple repository name
15+
id: repo-basename
16+
shell: bash
17+
run: |
18+
echo "value=`basename ${{ github.repository }}`" >> $GITHUB_OUTPUT
19+
- name: Get Token from Github App
20+
uses: tibdex/github-app-token@v2
21+
id: generate-token
22+
with:
23+
app_id: ${{ secrets.GH_CI_APP_ID }}
24+
private_key: ${{ secrets.GH_CI_APP_PRIVATE_KEY }}
25+
repositories: >-
26+
[${{ toJson(steps.repo-basename.outputs.value) }}]
27+
- name: Update locks if needed
28+
uses: hypertrace/github-actions/raise-lock-pr@main
29+
with:
30+
token: ${{ steps.generate-token.outputs.token }}

build.gradle.kts

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,16 @@ import org.hypertrace.gradle.publishing.HypertracePublishExtension
22
import org.hypertrace.gradle.publishing.License
33

44
plugins {
5-
id("org.hypertrace.repository-plugin") version "0.5.0"
6-
id("org.hypertrace.ci-utils-plugin") version "0.4.0"
7-
id("org.hypertrace.publish-plugin") version "1.1.1" apply false
8-
id("org.hypertrace.jacoco-report-plugin") version "0.3.0" apply false
9-
id("org.hypertrace.code-style-plugin") version "2.1.0" apply false
10-
id("org.owasp.dependencycheck") version "12.1.0"
5+
alias(commonLibs.plugins.hypertrace.repository)
6+
alias(commonLibs.plugins.hypertrace.ciutils)
7+
alias(commonLibs.plugins.hypertrace.codestyle) apply false
8+
alias(commonLibs.plugins.hypertrace.publish) apply false
9+
alias(commonLibs.plugins.owasp.dependencycheck)
1110
}
1211

1312
subprojects {
1413
group = "org.hypertrace.core.grpcutils"
15-
pluginManager.withPlugin("org.hypertrace.publish-plugin") {
14+
pluginManager.withPlugin(rootProject.commonLibs.plugins.hypertrace.publish.get().pluginId) {
1615
configure<HypertracePublishExtension> {
1716
license.set(License.APACHE_2_0)
1817
}
@@ -25,7 +24,7 @@ subprojects {
2524
}
2625
}
2726

28-
apply(plugin = "org.hypertrace.code-style-plugin")
27+
apply(plugin = rootProject.commonLibs.plugins.hypertrace.codestyle.get().pluginId)
2928
}
3029

3130
dependencyCheck {

gradle/libs.versions.toml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
[versions]
2+
[libraries]
3+
resilience4j-circuitbreaker = { module = "io.github.resilience4j:resilience4j-circuitbreaker", version = "1.7.1" }
4+
auth0-jwt = { module = "com.auth0:java-jwt", version = "4.4.0" }
5+
auth0-jwks-rsa = { module = "com.auth0:jwks-rsa", version = "0.22.0" }

grpc-circuitbreaker-utils/build.gradle.kts

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,26 @@
11
plugins {
22
`java-library`
33
jacoco
4-
id("org.hypertrace.publish-plugin")
5-
id("org.hypertrace.jacoco-report-plugin")
4+
alias(commonLibs.plugins.hypertrace.publish)
5+
alias(commonLibs.plugins.hypertrace.jacoco)
66
}
77

88
dependencies {
9+
api(commonLibs.grpc.api)
10+
api(projects.grpcContextUtils)
911

10-
api(platform("io.grpc:grpc-bom:1.68.3"))
11-
api("io.grpc:grpc-api")
12-
api(project(":grpc-context-utils"))
12+
implementation(commonLibs.slf4j2.api)
13+
implementation(localLibs.resilience4j.circuitbreaker)
14+
implementation(commonLibs.typesafe.config)
15+
implementation(commonLibs.guava)
16+
implementation(commonLibs.jakarta.inject.api)
1317

14-
implementation("org.slf4j:slf4j-api:1.7.36")
15-
implementation("io.github.resilience4j:resilience4j-circuitbreaker:1.7.1")
16-
implementation("com.typesafe:config:1.4.2")
17-
implementation("com.google.guava:guava:32.0.1-jre")
18-
implementation("jakarta.inject:jakarta.inject-api:2.0.1")
18+
annotationProcessor(commonLibs.lombok)
19+
compileOnly(commonLibs.lombok)
1920

20-
annotationProcessor("org.projectlombok:lombok:1.18.24")
21-
compileOnly("org.projectlombok:lombok:1.18.24")
22-
23-
testImplementation("org.junit.jupiter:junit-jupiter:5.8.2")
24-
testImplementation("org.mockito:mockito-core:5.8.0")
25-
testImplementation("org.mockito:mockito-junit-jupiter:5.8.0")
21+
testImplementation(commonLibs.junit.jupiter)
22+
testImplementation(commonLibs.mockito.core)
23+
testImplementation(commonLibs.mockito.junit)
2624
}
2725

2826
tasks.test {
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# This is a Gradle generated file for dependency locking.
2+
# Manual edits can break the build and are not advised.
3+
# This file is expected to be part of source control.
4+
com.auth0:java-jwt:4.4.0=runtimeClasspath,testRuntimeClasspath
5+
com.auth0:jwks-rsa:0.22.0=runtimeClasspath,testRuntimeClasspath
6+
com.fasterxml.jackson.core:jackson-annotations:2.16.1=runtimeClasspath,testRuntimeClasspath
7+
com.fasterxml.jackson.core:jackson-core:2.16.1=runtimeClasspath,testRuntimeClasspath
8+
com.fasterxml.jackson.core:jackson-databind:2.16.1=runtimeClasspath,testRuntimeClasspath
9+
com.fasterxml.jackson:jackson-bom:2.16.1=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
10+
com.google.android:annotations:4.1.1.4=runtimeClasspath,testRuntimeClasspath
11+
com.google.code.findbugs:jsr305:3.0.2=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
12+
com.google.code.gson:gson:2.13.1=runtimeClasspath,testRuntimeClasspath
13+
com.google.errorprone:error_prone_annotations:2.28.0=compileClasspath,testCompileClasspath
14+
com.google.errorprone:error_prone_annotations:2.38.0=runtimeClasspath,testRuntimeClasspath
15+
com.google.guava:failureaccess:1.0.1=compileClasspath,testCompileClasspath
16+
com.google.guava:failureaccess:1.0.2=runtimeClasspath,testRuntimeClasspath
17+
com.google.guava:guava-parent:32.1.2-jre=compileClasspath,testCompileClasspath
18+
com.google.guava:guava:32.1.2-jre=compileClasspath,testCompileClasspath
19+
com.google.guava:guava:33.2.1-android=runtimeClasspath,testRuntimeClasspath
20+
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
21+
com.google.j2objc:j2objc-annotations:2.8=compileClasspath,testCompileClasspath
22+
com.typesafe:config:1.4.2=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
23+
io.github.resilience4j:resilience4j-circuitbreaker:1.7.1=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
24+
io.github.resilience4j:resilience4j-core:1.7.1=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
25+
io.grpc:grpc-api:1.68.3=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
26+
io.grpc:grpc-bom:1.68.3=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
27+
io.grpc:grpc-context:1.68.3=runtimeClasspath,testRuntimeClasspath
28+
io.grpc:grpc-core:1.68.3=runtimeClasspath,testRuntimeClasspath
29+
io.netty:netty-bom:4.1.118.Final=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
30+
io.perfmark:perfmark-api:0.27.0=runtimeClasspath,testRuntimeClasspath
31+
io.vavr:vavr-match:0.10.2=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
32+
io.vavr:vavr:0.10.2=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
33+
jakarta.inject:jakarta.inject-api:2.0.1=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
34+
net.bytebuddy:byte-buddy-agent:1.14.10=testCompileClasspath,testRuntimeClasspath
35+
net.bytebuddy:byte-buddy:1.14.10=testCompileClasspath,testRuntimeClasspath
36+
org.apiguardian:apiguardian-api:1.1.2=testCompileClasspath
37+
org.checkerframework:checker-qual:3.33.0=compileClasspath,testCompileClasspath
38+
org.checkerframework:checker-qual:3.42.0=runtimeClasspath,testRuntimeClasspath
39+
org.codehaus.mojo:animal-sniffer-annotations:1.24=runtimeClasspath,testRuntimeClasspath
40+
org.eclipse.jetty:jetty-bom:11.0.24=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
41+
org.hypertrace.bom:hypertrace-bom:0.3.52=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
42+
org.hypertrace.core.kafkastreams.framework:kafka-bom:0.6.0=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
43+
org.junit.jupiter:junit-jupiter-api:5.10.0=testCompileClasspath
44+
org.junit.jupiter:junit-jupiter-api:5.10.1=testRuntimeClasspath
45+
org.junit.jupiter:junit-jupiter-engine:5.10.1=testRuntimeClasspath
46+
org.junit.jupiter:junit-jupiter-params:5.10.0=testCompileClasspath
47+
org.junit.jupiter:junit-jupiter-params:5.10.1=testRuntimeClasspath
48+
org.junit.jupiter:junit-jupiter:5.10.0=testCompileClasspath
49+
org.junit.jupiter:junit-jupiter:5.10.1=testRuntimeClasspath
50+
org.junit.platform:junit-platform-commons:1.10.0=testCompileClasspath
51+
org.junit.platform:junit-platform-commons:1.10.1=testRuntimeClasspath
52+
org.junit.platform:junit-platform-engine:1.10.1=testRuntimeClasspath
53+
org.junit:junit-bom:5.10.0=testCompileClasspath
54+
org.junit:junit-bom:5.10.1=testRuntimeClasspath
55+
org.mockito:mockito-core:5.8.0=testCompileClasspath,testRuntimeClasspath
56+
org.mockito:mockito-junit-jupiter:5.8.0=testCompileClasspath,testRuntimeClasspath
57+
org.objenesis:objenesis:3.3=testRuntimeClasspath
58+
org.opentest4j:opentest4j:1.3.0=testCompileClasspath,testRuntimeClasspath
59+
org.projectlombok:lombok:1.18.30=annotationProcessor,compileClasspath
60+
org.slf4j:slf4j-api:2.0.7=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
61+
empty=

grpc-client-rx-utils/build.gradle.kts

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,19 @@
11
plugins {
22
`java-library`
33
jacoco
4-
id("org.hypertrace.publish-plugin")
5-
id("org.hypertrace.jacoco-report-plugin")
4+
alias(commonLibs.plugins.hypertrace.publish)
5+
alias(commonLibs.plugins.hypertrace.jacoco)
66
}
77

88
dependencies {
9-
api(platform("io.grpc:grpc-bom:1.68.3"))
10-
api("io.reactivex.rxjava3:rxjava:3.1.4")
11-
api("io.grpc:grpc-stub")
12-
api(project(":grpc-context-utils"))
13-
constraints {
14-
api("com.google.protobuf:protobuf-java:3.25.5") {
15-
because("https://nvd.nist.gov/vuln/detail/CVE-2024-7254")
16-
}
17-
}
18-
implementation("io.grpc:grpc-context")
9+
api(commonLibs.rxjava3)
10+
api(commonLibs.grpc.stub)
11+
api(projects.grpcContextUtils)
12+
implementation(commonLibs.grpc.context)
1913

20-
testImplementation("org.junit.jupiter:junit-jupiter:5.8.2")
21-
testImplementation("org.mockito:mockito-core:5.8.0")
22-
testImplementation("org.mockito:mockito-junit-jupiter:5.8.0")
14+
testImplementation(commonLibs.junit.jupiter)
15+
testImplementation(commonLibs.mockito.core)
16+
testImplementation(commonLibs.mockito.junit)
2317
}
2418

2519
tasks.test {

grpc-client-rx-utils/gradle.lockfile

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# This is a Gradle generated file for dependency locking.
2+
# Manual edits can break the build and are not advised.
3+
# This file is expected to be part of source control.
4+
com.auth0:java-jwt:4.4.0=runtimeClasspath,testRuntimeClasspath
5+
com.auth0:jwks-rsa:0.22.0=runtimeClasspath,testRuntimeClasspath
6+
com.fasterxml.jackson.core:jackson-annotations:2.16.1=runtimeClasspath,testRuntimeClasspath
7+
com.fasterxml.jackson.core:jackson-core:2.16.1=runtimeClasspath,testRuntimeClasspath
8+
com.fasterxml.jackson.core:jackson-databind:2.16.1=runtimeClasspath,testRuntimeClasspath
9+
com.fasterxml.jackson:jackson-bom:2.16.1=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
10+
com.google.android:annotations:4.1.1.4=runtimeClasspath,testRuntimeClasspath
11+
com.google.code.findbugs:jsr305:3.0.2=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
12+
com.google.code.gson:gson:2.13.1=runtimeClasspath,testRuntimeClasspath
13+
com.google.errorprone:error_prone_annotations:2.28.0=compileClasspath,testCompileClasspath
14+
com.google.errorprone:error_prone_annotations:2.38.0=runtimeClasspath,testRuntimeClasspath
15+
com.google.guava:failureaccess:1.0.2=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
16+
com.google.guava:guava:33.2.1-android=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
17+
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
18+
com.google.j2objc:j2objc-annotations:3.0.0=compileClasspath,testCompileClasspath
19+
io.grpc:grpc-api:1.68.3=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
20+
io.grpc:grpc-bom:1.68.3=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
21+
io.grpc:grpc-context:1.68.3=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
22+
io.grpc:grpc-core:1.68.3=runtimeClasspath,testRuntimeClasspath
23+
io.grpc:grpc-stub:1.68.3=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
24+
io.netty:netty-bom:4.1.118.Final=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
25+
io.perfmark:perfmark-api:0.27.0=runtimeClasspath,testRuntimeClasspath
26+
io.reactivex.rxjava3:rxjava:3.1.7=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
27+
net.bytebuddy:byte-buddy-agent:1.14.10=testCompileClasspath,testRuntimeClasspath
28+
net.bytebuddy:byte-buddy:1.14.10=testCompileClasspath,testRuntimeClasspath
29+
org.apiguardian:apiguardian-api:1.1.2=testCompileClasspath
30+
org.checkerframework:checker-qual:3.42.0=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
31+
org.codehaus.mojo:animal-sniffer-annotations:1.24=runtimeClasspath,testRuntimeClasspath
32+
org.eclipse.jetty:jetty-bom:11.0.24=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
33+
org.hypertrace.bom:hypertrace-bom:0.3.52=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
34+
org.hypertrace.core.kafkastreams.framework:kafka-bom:0.6.0=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
35+
org.junit.jupiter:junit-jupiter-api:5.10.0=testCompileClasspath
36+
org.junit.jupiter:junit-jupiter-api:5.10.1=testRuntimeClasspath
37+
org.junit.jupiter:junit-jupiter-engine:5.10.1=testRuntimeClasspath
38+
org.junit.jupiter:junit-jupiter-params:5.10.0=testCompileClasspath
39+
org.junit.jupiter:junit-jupiter-params:5.10.1=testRuntimeClasspath
40+
org.junit.jupiter:junit-jupiter:5.10.0=testCompileClasspath
41+
org.junit.jupiter:junit-jupiter:5.10.1=testRuntimeClasspath
42+
org.junit.platform:junit-platform-commons:1.10.0=testCompileClasspath
43+
org.junit.platform:junit-platform-commons:1.10.1=testRuntimeClasspath
44+
org.junit.platform:junit-platform-engine:1.10.1=testRuntimeClasspath
45+
org.junit:junit-bom:5.10.0=testCompileClasspath
46+
org.junit:junit-bom:5.10.1=testRuntimeClasspath
47+
org.mockito:mockito-core:5.8.0=testCompileClasspath,testRuntimeClasspath
48+
org.mockito:mockito-junit-jupiter:5.8.0=testCompileClasspath,testRuntimeClasspath
49+
org.objenesis:objenesis:3.3=testRuntimeClasspath
50+
org.opentest4j:opentest4j:1.3.0=testCompileClasspath,testRuntimeClasspath
51+
org.reactivestreams:reactive-streams:1.0.4=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
52+
org.slf4j:slf4j-api:2.0.7=runtimeClasspath,testRuntimeClasspath
53+
empty=annotationProcessor

grpc-client-utils/build.gradle.kts

Lines changed: 13 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,26 @@
11
plugins {
22
`java-library`
33
jacoco
4-
id("org.hypertrace.publish-plugin")
5-
id("org.hypertrace.jacoco-report-plugin")
4+
alias(commonLibs.plugins.hypertrace.publish)
5+
alias(commonLibs.plugins.hypertrace.jacoco)
66
}
77

88
dependencies {
99

10-
api(platform("io.grpc:grpc-bom:1.68.3"))
11-
api("io.grpc:grpc-context")
12-
api("io.grpc:grpc-api")
13-
api("io.grpc:grpc-inprocess")
14-
api(platform("io.netty:netty-bom:4.1.118.Final"))
15-
constraints {
16-
api("com.google.protobuf:protobuf-java:3.25.5") {
17-
because("https://nvd.nist.gov/vuln/detail/CVE-2024-7254")
18-
}
19-
}
10+
api(commonLibs.grpc.context)
11+
api(commonLibs.grpc.api)
12+
api(commonLibs.grpc.inprocess)
2013

21-
implementation(project(":grpc-context-utils"))
22-
implementation("org.slf4j:slf4j-api:1.7.36")
23-
implementation("io.grpc:grpc-core")
14+
implementation(projects.grpcContextUtils)
15+
implementation(commonLibs.slf4j2.api)
16+
implementation(commonLibs.grpc.core)
2417

25-
annotationProcessor("org.projectlombok:lombok:1.18.24")
26-
compileOnly("org.projectlombok:lombok:1.18.24")
18+
annotationProcessor(commonLibs.lombok)
19+
compileOnly(commonLibs.lombok)
2720

28-
testImplementation("org.junit.jupiter:junit-jupiter:5.8.2")
29-
testImplementation("org.mockito:mockito-core:5.8.0")
30-
testRuntimeOnly("io.grpc:grpc-netty")
21+
testImplementation(commonLibs.junit.jupiter)
22+
testImplementation(commonLibs.mockito.core)
23+
testRuntimeOnly(commonLibs.grpc.netty)
3124
}
3225

3326
tasks.test {

0 commit comments

Comments
 (0)