Skip to content

Commit dc3cef5

Browse files
refactor: consolidate lib modules into four domain-cohesive libraries (#5844)
Implements the decision record 2026-06-18-lib-module-consolidation, the companion to the SPI module consolidation: the ~42 fine-grained *-lib modules are merged into four coarse, domain-cohesive implementation libraries and the layout is flattened. - jsonld-lib (json + json-ld + transform + validator) - core-lib (generic, non-connector library code: query, crypto-common, keys, token, encryption, auth-{authentication,authorization}-oauth2, verifiable-credentials, decentralized-claims(+sts-remote), jersey-providers, boot, http, nats, util, sql, api, management-api) - control-plane-lib (connector-specific: policy-engine, policy-evaluator, store, control-plane-policies, catalog-util, control-plane-transfer-provision, state-machine) - dsp-lib (collapses the 13 data-protocols/dsp/dsp-lib modules — the {catalog,negotiation,transfer-process} x {http-api,transform, validation} matrix, dsp-version-transform-lib, and three empty meta modules — into a single library) jws2020-lib is left standalone, as it is constrained by a dependency on :extensions:common:json-ld; it can be folded into core-lib in a later iteration. All ~150 consumer build files, the BOMs and settings.gradle.kts are rewritten to the new module paths. A latent dead dependency in control-plane-spi (an unused implementation dependency on the former util-lib, now part of core-lib) is removed; it had no usages and would otherwise invert the spi<-lib layering into a cycle. The resulting libraries form an acyclic graph layered above the SPI modules: jsonld-lib -> spi; core-lib -> jsonld-lib + spi; control-plane-lib -> core-lib + spi; dsp-lib -> jsonld-lib + spi. Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
1 parent baab7fd commit dc3cef5

661 files changed

Lines changed: 376 additions & 1520 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

core/catalog-crawler/catalog-crawler-core/build.gradle.kts

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,18 +21,16 @@ dependencies {
2121
api(project(":spi:core-spi"))
2222
api(project(":spi:control-plane-spi"))
2323
api(project(":data-protocols:dsp:dsp-2025:dsp-spi-2025"))
24-
implementation(project(":core:common:lib:catalog-util-lib"))
25-
implementation(project(":core:common:lib:json-ld-lib"))
26-
implementation(project(":core:common:lib:query-lib"))
27-
implementation(project(":core:common:lib:store-lib"))
28-
implementation(project(":core:common:lib:util-lib"))
24+
implementation(project(":core:control-plane:lib:control-plane-lib"))
25+
implementation(project(":core:common:lib:jsonld-lib"))
26+
implementation(project(":core:common:lib:core-lib"))
2927

30-
testImplementation(testFixtures(project(":core:common:lib:json-ld-lib")))
28+
testImplementation(testFixtures(project(":core:common:lib:jsonld-lib")))
3129
testImplementation(libs.awaitility)
32-
testImplementation(project(":data-protocols:dsp:dsp-lib:dsp-catalog-lib:dsp-catalog-transform-lib"))
30+
testImplementation(project(":data-protocols:dsp:dsp-lib"))
3331
testImplementation(project(":data-protocols:dsp:dsp-2025:dsp-catalog-2025:dsp-catalog-transform-2025"))
3432
testImplementation(project(":core:common:junit"))
35-
testImplementation(project(":core:common:lib:transform-lib"))
33+
testImplementation(project(":core:common:lib:jsonld-lib"))
3634
testImplementation(project(":core:control-plane:control-plane-transform"))
3735
testImplementation(testFixtures(project(":spi:control-plane-spi")))
3836
}

core/common/boot/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ dependencies {
2121
api(project(":spi:core-spi"))
2222
api(project(":spi:control-plane-spi"))
2323

24-
implementation(project(":core:common:lib:boot-lib"))
24+
implementation(project(":core:common:lib:core-lib"))
2525

2626
implementation(libs.opentelemetry.api)
2727

core/common/cel-core/build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,12 @@ dependencies {
2020
api(project(":spi:control-plane-spi"))
2121
api(project(":spi:core-spi"))
2222

23-
implementation(project(":core:common:lib:store-lib"))
23+
implementation(project(":core:control-plane:lib:control-plane-lib"))
2424
implementation(libs.cel)
2525

2626
testImplementation(project(":core:common:junit"))
2727
testImplementation(testFixtures(project(":spi:control-plane-spi")))
28-
testImplementation(project(":core:common:lib:query-lib"))
28+
testImplementation(project(":core:common:lib:core-lib"))
2929

3030
}
3131

core/common/connector-core/build.gradle.kts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,8 @@ plugins {
2020
dependencies {
2121
api(project(":spi:control-plane-spi"))
2222

23-
implementation(project(":core:common:lib:http-lib"))
24-
implementation(project(":core:common:lib:keys-lib"))
25-
implementation(project(":core:common:lib:policy-engine-lib"))
23+
implementation(project(":core:common:lib:core-lib"))
24+
implementation(project(":core:control-plane:lib:control-plane-lib"))
2625

2726
implementation(libs.bouncyCastle.bcpkixJdk18on)
2827
implementation(libs.nimbus.jwt)

core/common/edr-store-core/build.gradle.kts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,10 @@ dependencies {
2121
api(project(":spi:control-plane-spi"))
2222

2323
implementation(project(":spi:core-spi"))
24-
implementation(project(":core:common:lib:store-lib"))
24+
implementation(project(":core:control-plane:lib:control-plane-lib"))
2525

2626
testImplementation(project(":core:common:junit"))
27-
testImplementation(project(":core:common:lib:boot-lib"))
27+
testImplementation(project(":core:common:lib:core-lib"))
2828

29-
testImplementation(project(":core:common:lib:query-lib"))
3029
testImplementation(testFixtures(project(":spi:control-plane-spi")))
3130
}

core/common/junit/build.gradle.kts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,16 +23,15 @@ dependencies {
2323

2424
api(project(":spi:core-spi"))
2525
api(project(":core:common:boot"))
26-
api(project(":core:common:lib:http-lib"))
27-
api(project(":core:common:lib:json-lib"))
28-
api(project(":core:common:lib:util-lib"))
26+
api(project(":core:common:lib:core-lib"))
27+
api(project(":core:common:lib:jsonld-lib"))
2928

3029
implementation(libs.okhttp)
3130
implementation(libs.mockito.core)
3231
implementation(libs.junit.jupiter.api)
3332
implementation(libs.testcontainers.junit)
3433

35-
testImplementation(project(":core:common:lib:boot-lib"))
34+
testImplementation(project(":core:common:lib:core-lib"))
3635
}
3736

3837

core/common/lib/api-lib/build.gradle.kts

Lines changed: 0 additions & 31 deletions
This file was deleted.

core/common/lib/boot-lib/build.gradle.kts

Lines changed: 0 additions & 28 deletions
This file was deleted.

core/common/lib/catalog-util-lib/build.gradle.kts

Lines changed: 0 additions & 24 deletions
This file was deleted.
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
/*
2+
* Copyright (c) 2024 Metaform Systems, Inc.
3+
*
4+
* This program and the accompanying materials are made available under the
5+
* terms of the Apache License, Version 2.0 which is available at
6+
* https://www.apache.org/licenses/LICENSE-2.0
7+
*
8+
* SPDX-License-Identifier: Apache-2.0
9+
*
10+
* Contributors:
11+
* Metaform Systems, Inc. - initial API and implementation
12+
*
13+
*/
14+
15+
plugins {
16+
`java-library`
17+
`java-test-fixtures`
18+
`maven-publish`
19+
}
20+
21+
dependencies {
22+
api(project(":spi:core-spi"))
23+
api(project(":spi:control-plane-spi"))
24+
api(project(":spi:decentralized-claims-spi"))
25+
api(libs.nimbus.jwt) // nimbus classes are exposed on the API surface of CryptoConverter and DefaultJwsSignerProvider
26+
api(libs.bouncyCastle.bcpkixJdk18on)
27+
28+
implementation(project(":core:common:lib:jsonld-lib"))
29+
// Java does not natively implement elliptic curve multiplication, so we need to get bouncy
30+
implementation(libs.bouncyCastle.bcprovJdk18on)
31+
// used for the Ed25519 Verifier in conjunction with OctetKeyPairs (OKP)
32+
implementation(libs.tink)
33+
implementation(libs.jakarta.rsApi)
34+
implementation(libs.jakarta.annotation)
35+
implementation(libs.jsonschema)
36+
implementation(libs.okhttp)
37+
implementation(libs.dnsOverHttps)
38+
implementation(libs.nats.client)
39+
implementation(libs.swagger.annotations.jakarta)
40+
41+
testImplementation(project(":core:common:junit"))
42+
testImplementation(testFixtures(project(":core:common:junit")))
43+
testImplementation(project(":core:common:lib:jsonld-lib"))
44+
testImplementation(testFixtures(project(":core:common:lib:jsonld-lib")))
45+
testImplementation(testFixtures(project(":spi:core-spi")))
46+
testImplementation(testFixtures(project(":spi:decentralized-claims-spi")))
47+
testImplementation(project(":extensions:common:json-ld"))
48+
testImplementation(testFixtures(project(":extensions:common:http:jersey-core")))
49+
testImplementation(testFixtures(project(":extensions:common:sql:sql-test-fixtures")))
50+
testImplementation(libs.awaitility)
51+
testImplementation(libs.wiremock)
52+
testImplementation(libs.restAssured)
53+
testImplementation(libs.junit.pioneer)
54+
55+
testRuntimeOnly(libs.jersey.common) // needs the RuntimeDelegate
56+
57+
testFixturesImplementation(libs.wiremock) {
58+
exclude("com.networknt", "json-schema-validator")
59+
}
60+
testFixturesImplementation(libs.jakarta.json.api)
61+
testFixturesImplementation(libs.nimbus.jwt)
62+
testFixturesImplementation(libs.nats.client)
63+
testFixturesImplementation(libs.testcontainers.junit)
64+
}

0 commit comments

Comments
 (0)