Skip to content

Commit 14bb57e

Browse files
authored
refactor: extract api-lib to avoid extensions depending on api-core (#4819)
1 parent f95d959 commit 14bb57e

File tree

50 files changed

+229
-160
lines changed

Some content is hidden

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

50 files changed

+229
-160
lines changed
+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/*
2+
* Copyright (c) 2025 Cofinity-X
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+
* Cofinity-X - initial API and implementation
12+
*
13+
*/
14+
15+
plugins {
16+
`java-library`
17+
}
18+
19+
dependencies {
20+
api(project(":spi:common:core-spi"))
21+
22+
implementation(project(":core:common:lib:validator-lib"))
23+
implementation(libs.swagger.annotations.jakarta)
24+
25+
testImplementation(project(":core:common:junit"))
26+
testImplementation(project(":core:common:lib:json-ld-lib"))
27+
testImplementation(project(":core:common:lib:query-lib"))
28+
testImplementation(project(":core:common:lib:transform-lib"))
29+
}
30+
31+

dist/bom/controlplane-base-bom/build.gradle.kts

+8-8
Original file line numberDiff line numberDiff line change
@@ -23,27 +23,27 @@ dependencies {
2323
// core dependencies
2424
api(project(":core:common:boot"))
2525
api(project(":core:common:connector-core"))
26+
api(project(":core:common:edr-store-core"))
2627
api(project(":core:common:token-core"))
2728
api(project(":core:control-plane:control-plane-core"))
28-
api(project(":core:common:edr-store-core"))
29-
api(project(":data-protocols:dsp"))
3029
api(project(":core:data-plane-selector:data-plane-selector-core"))
31-
30+
api(project(":data-protocols:dsp"))
3231

3332
// extension dependencies
3433
api(project(":extensions:common:configuration:configuration-filesystem"))
3534
api(project(":extensions:common:auth:auth-tokenbased"))
3635
api(project(":extensions:common:auth:auth-configuration"))
3736
api(project(":extensions:common:auth:auth-delegated"))
37+
api(project(":extensions:common:api:api-core"))
38+
api(project(":extensions:common:api:api-observability"))
39+
api(project(":extensions:common:api:control-api-configuration"))
40+
api(project(":extensions:common:api:version-api"))
41+
api(project(":extensions:common:http"))
3842
api(project(":extensions:control-plane:api:management-api"))
3943
api(project(":extensions:control-plane:transfer:transfer-data-plane-signaling"))
4044
api(project(":extensions:data-plane-selector:data-plane-selector-api"))
4145
api(project(":extensions:data-plane-selector:data-plane-selector-control-api"))
4246
api(project(":extensions:data-plane:data-plane-signaling:data-plane-signaling-client"))
43-
api(project(":extensions:common:api:api-observability"))
44-
api(project(":extensions:common:api:control-api-configuration"))
45-
api(project(":extensions:common:api:version-api"))
46-
api(project(":extensions:common:http"))
4747
api(project(":extensions:control-plane:callback:callback-event-dispatcher"))
4848
api(project(":extensions:control-plane:callback:callback-http-dispatcher"))
4949
api(project(":extensions:control-plane:edr:edr-store-receiver"))
@@ -54,4 +54,4 @@ dependencies {
5454

5555
edcBuild {
5656

57-
}
57+
}

dist/bom/dataplane-base-bom/build.gradle.kts

+4-3
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,12 @@ dependencies {
2626
api(project(":core:common:token-core"))
2727
api(project(":core:data-plane:data-plane-core"))
2828

29-
3029
// extension dependencies
30+
api(project(":extensions:common:api:api-core"))
31+
api(project(":extensions:common:api:api-observability"))
3132
api(project(":extensions:common:api:control-api-configuration"))
3233
api(project(":extensions:common:configuration:configuration-filesystem"))
34+
api(project(":extensions:common:http"))
3335
api(project(":extensions:common:json-ld"))
3436
api(project(":extensions:control-plane:api:control-plane-api-client"))
3537
api(project(":extensions:data-plane:data-plane-self-registration"))
@@ -39,6 +41,5 @@ dependencies {
3941
api(project(":extensions:data-plane:data-plane-signaling:data-plane-signaling-api"))
4042
api(project(":extensions:data-plane:data-plane-iam"))
4143
api(project(":extensions:data-plane-selector:data-plane-selector-client"))
42-
api(project(":extensions:common:api:api-observability"))
43-
api(project(":extensions:common:http"))
44+
4445
}

dist/bom/sts-feature-bom/build.gradle.kts

+2-2
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ dependencies {
2626
api(project(":core:common:connector-core"))
2727
api(project(":core:common:token-core"))
2828

29-
3029
// extension dependencies
30+
api(project(":extensions:common:api:api-core"))
3131
api(project(":extensions:common:http"))
3232
api(project(":extensions:common:json-ld"))
3333
api(project(":extensions:common:api:api-observability"))
@@ -38,4 +38,4 @@ dependencies {
3838
api(project(":extensions:common:iam:identity-trust:identity-trust-sts:identity-trust-sts-accounts-api"))
3939
api(project(":extensions:common:iam:identity-trust:identity-trust-sts:identity-trust-sts-core"))
4040
api(project(":extensions:common:iam:identity-trust:identity-trust-sts:identity-trust-sts-embedded"))
41-
}
41+
}

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

+1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ dependencies {
2222
api(project(":spi:common:web-spi"))
2323
api(project(":spi:common:json-ld-spi"))
2424

25+
implementation(project(":core:common:lib:api-lib"))
2526
implementation(project(":core:common:lib:transform-lib"))
2627
implementation(project(":core:common:lib:util-lib"))
2728
implementation(project(":core:common:lib:validator-lib"))

extensions/common/api/control-api-configuration/build.gradle.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ plugins {
1818
}
1919

2020
dependencies {
21+
api(project(":spi:common:auth-spi"))
2122
api(project(":spi:common:web-spi"))
2223
api(project(":spi:control-plane:transfer-spi"))
23-
implementation(project(":extensions:common:api:api-core"))
2424
implementation(project(":extensions:common:http:lib:jersey-providers-lib"))
2525

2626
testImplementation(project(":core:common:junit"))

extensions/common/api/management-api-configuration/build.gradle.kts

+3-3
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,15 @@ plugins {
1818
}
1919

2020
dependencies {
21+
api(project(":spi:common:auth-spi"))
2122
api(project(":spi:common:json-ld-spi"))
2223
api(project(":spi:common:web-spi"))
2324
api(project(":spi:control-plane:contract-spi"))
2425

25-
implementation(project(":extensions:common:api:lib:management-api-lib"))
26-
implementation(project(":extensions:common:http:lib:jersey-providers-lib"))
27-
implementation(project(":extensions:common:api:api-core"))
2826
implementation(project(":core:common:lib:transform-lib"))
2927
implementation(project(":core:control-plane:control-plane-transform"))
28+
implementation(project(":extensions:common:api:lib:management-api-lib"))
29+
implementation(project(":extensions:common:http:lib:jersey-providers-lib"))
3030

3131
testImplementation(project(":core:common:junit"))
3232
testImplementation(project(":core:common:lib:json-ld-lib"))

extensions/common/api/version-api/build.gradle.kts

+3-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@ plugins {
1919
}
2020

2121
dependencies {
22-
implementation(project(":extensions:common:api:api-core"))
22+
api(project(":spi:common:boot-spi"))
23+
api(project(":spi:common:json-ld-spi"))
24+
api(project(":spi:common:web-spi"))
2325

2426
implementation(libs.jakarta.rsApi)
2527

extensions/control-plane/api/control-plane-api-client/build.gradle.kts

+1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ dependencies {
2929
testImplementation(project(":core:data-plane:data-plane-core"))
3030
testImplementation(project(":core:data-plane-selector:data-plane-selector-core"))
3131
testImplementation(project(":extensions:control-plane:api:control-plane-api"))
32+
testImplementation(project(":extensions:common:api:api-core"))
3233
testImplementation(project(":extensions:common:api:control-api-configuration"))
3334
testImplementation(project(":extensions:common:auth:auth-tokenbased"))
3435
testImplementation(project(":extensions:common:http"))

extensions/control-plane/api/management-api/asset-api/build.gradle.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ dependencies {
2222
api(project(":spi:common:validator-spi"))
2323
api(project(":spi:control-plane:control-plane-spi"))
2424

25+
implementation(project(":core:common:lib:api-lib"))
2526
implementation(project(":core:common:lib:validator-lib"))
26-
implementation(project(":extensions:common:api:api-core"))
2727
implementation(project(":extensions:common:api:lib:management-api-lib"))
2828

2929
implementation(libs.jakarta.rsApi)

extensions/control-plane/api/management-api/catalog-api/build.gradle.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ plugins {
2020
dependencies {
2121
api(project(":spi:control-plane:control-plane-spi"))
2222

23+
implementation(project(":core:common:lib:api-lib"))
2324
implementation(project(":core:common:lib:validator-lib"))
24-
implementation(project(":extensions:common:api:api-core"))
2525
implementation(project(":extensions:common:api:lib:management-api-lib"))
2626

2727
implementation(libs.jakarta.rsApi)

extensions/control-plane/api/management-api/contract-agreement-api/build.gradle.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ plugins {
2222
dependencies {
2323
api(project(":spi:control-plane:control-plane-spi"))
2424

25-
implementation(project(":extensions:common:api:api-core"))
25+
implementation(project(":core:common:lib:api-lib"))
2626
implementation(project(":extensions:common:api:lib:management-api-lib"))
2727

2828
implementation(libs.jakarta.rsApi)

extensions/control-plane/api/management-api/contract-definition-api/build.gradle.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ dependencies {
2121
api(project(":spi:control-plane:control-plane-spi"))
2222
api(project(":spi:common:transaction-spi"))
2323

24-
implementation(project(":extensions:common:api:api-core"))
2524
implementation(project(":extensions:common:api:lib:management-api-lib"))
25+
implementation(project(":core:common:lib:api-lib"))
2626
implementation(project(":core:common:lib:validator-lib"))
2727

2828
implementation(libs.jakarta.rsApi)

extensions/control-plane/api/management-api/contract-negotiation-api/build.gradle.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ dependencies {
1919
api(project(":spi:control-plane:control-plane-spi"))
2020
api(project(":spi:common:transaction-spi"))
2121

22-
implementation(project(":extensions:common:api:api-core"))
2322
implementation(project(":extensions:common:api:lib:management-api-lib"))
23+
implementation(project(":core:common:lib:api-lib"))
2424
implementation(project(":core:common:lib:validator-lib"))
2525

2626
implementation(libs.jakarta.rsApi)

extensions/control-plane/api/management-api/edr-cache-api/build.gradle.kts

+2-1
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,9 @@ plugins {
2121
dependencies {
2222
api(project(":spi:common:edr-store-spi"))
2323
api(project(":spi:common:validator-spi"))
24+
api(project(":spi:common:web-spi"))
2425
api(project(":spi:control-plane:control-plane-spi"))
25-
implementation(project(":extensions:common:api:api-core"))
26+
implementation(project(":core:common:lib:api-lib"))
2627
implementation(project(":core:common:lib:validator-lib"))
2728

2829
implementation(libs.jakarta.rsApi)

extensions/control-plane/api/management-api/policy-definition-api/build.gradle.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ dependencies {
2525
api(project(":spi:common:transaction-spi"))
2626
api(project(":spi:common:policy-model"))
2727

28+
implementation(project(":core:common:lib:api-lib"))
2829
implementation(project(":core:common:lib:util-lib"))
2930
implementation(project(":core:common:lib:validator-lib"))
30-
implementation(project(":extensions:common:api:api-core"))
3131
implementation(project(":extensions:common:api:lib:management-api-lib"))
3232

3333
implementation(libs.jakarta.rsApi)

extensions/control-plane/api/management-api/protocol-version-api/build.gradle.kts

-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ dependencies {
2020
api(project(":spi:control-plane:control-plane-spi"))
2121

2222
implementation(project(":core:common:lib:validator-lib"))
23-
implementation(project(":extensions:common:api:api-core"))
2423
implementation(project(":extensions:common:api:lib:management-api-lib"))
2524

2625
implementation(libs.jakarta.rsApi)

extensions/control-plane/api/management-api/secrets-api/build.gradle.kts

+3-2
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,11 @@ plugins {
2020

2121
dependencies {
2222
api(project(":spi:common:validator-spi"))
23+
api(project(":spi:common:web-spi"))
2324
api(project(":spi:control-plane:control-plane-spi"))
24-
implementation(project(":extensions:common:api:api-core"))
25-
implementation(project(":core:common:lib:validator-lib"))
25+
implementation(project(":core:common:lib:api-lib"))
2626
implementation(project(":core:common:lib:transform-lib"))
27+
implementation(project(":core:common:lib:validator-lib"))
2728

2829
implementation(libs.jakarta.rsApi)
2930

extensions/control-plane/api/management-api/transfer-process-api/build.gradle.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ dependencies {
2121
api(project(":spi:control-plane:transfer-spi"))
2222
api(project(":spi:control-plane:control-plane-spi"))
2323

24+
implementation(project(":core:common:lib:api-lib"))
2425
implementation(project(":core:common:lib:util-lib"))
2526
implementation(project(":core:common:lib:validator-lib"))
26-
implementation(project(":extensions:common:api:api-core"))
2727
implementation(project(":extensions:common:api:lib:management-api-lib"))
2828

2929
implementation(libs.jakarta.rsApi)

extensions/control-plane/provision/provision-http/build.gradle.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ dependencies {
2222
api(project(":spi:control-plane:control-plane-spi"))
2323
api(project(":spi:common:http-spi"))
2424
api(project(":spi:common:web-spi"))
25-
implementation(project(":extensions:common:api:api-core"))
2625
implementation(project(":extensions:common:validator:validator-data-address-http-data"))
2726

2827
implementation(libs.jakarta.rsApi)
@@ -31,6 +30,7 @@ dependencies {
3130
testImplementation(project(":core:control-plane:control-plane-core"))
3231
testImplementation(project(":core:common:junit"))
3332
testImplementation(project(":core:data-plane-selector:data-plane-selector-core"))
33+
testImplementation(project(":extensions:common:api:api-core"))
3434
testImplementation(project(":extensions:common:api:management-api-configuration"))
3535
testImplementation(project(":extensions:common:http"))
3636
testImplementation(project(":extensions:common:json-ld"))

extensions/data-plane-selector/data-plane-selector-api/build.gradle.kts

+3-1
Original file line numberDiff line numberDiff line change
@@ -19,20 +19,22 @@ plugins {
1919

2020
dependencies {
2121
api(project(":spi:common:core-spi"))
22+
api(project(":spi:common:web-spi"))
2223
api(project(":spi:data-plane-selector:data-plane-selector-spi"))
2324
implementation(project(":spi:common:transaction-spi"))
25+
implementation(project(":core:common:lib:api-lib"))
2426
implementation(project(":core:common:lib:transform-lib"))
2527
implementation(project(":core:common:lib:util-lib"))
2628
implementation(project(":core:common:lib:validator-lib"))
2729
implementation(project(":extensions:common:json-ld"))
28-
implementation(project(":extensions:common:api:api-core")) //for the exception mapper
2930

3031
implementation(libs.jakarta.rsApi)
3132

3233
testImplementation(project(":core:common:lib:json-ld-lib"))
3334
testImplementation(project(":core:common:connector-core"))
3435
testImplementation(project(":core:common:junit"))
3536
testImplementation(project(":core:data-plane-selector:data-plane-selector-core"))
37+
testImplementation(project(":extensions:common:api:api-core"))
3638
testImplementation(project(":extensions:common:api:management-api-configuration"))
3739
testImplementation(project(":extensions:common:http"))
3840
testImplementation(project(":extensions:data-plane:data-plane-signaling:data-plane-signaling-client"))

extensions/data-plane-selector/data-plane-selector-client/src/test/java/org/eclipse/edc/connector/dataplane/selector/RemoteDataPlaneSelectorServiceTest.java

+16-14
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import org.eclipse.edc.junit.extensions.RuntimePerMethodExtension;
2323
import org.eclipse.edc.spi.result.ServiceFailure;
2424
import org.eclipse.edc.spi.result.ServiceResult;
25+
import org.eclipse.edc.spi.system.configuration.ConfigFactory;
2526
import org.eclipse.edc.spi.types.domain.DataAddress;
2627
import org.eclipse.edc.validator.spi.JsonObjectValidatorRegistry;
2728
import org.eclipse.edc.validator.spi.ValidationResult;
@@ -51,32 +52,33 @@ class RemoteDataPlaneSelectorServiceTest {
5152
private final JsonObjectValidatorRegistry validator = mock();
5253

5354
@RegisterExtension
54-
public final RuntimeExtension client = new RuntimePerMethodExtension(new EmbeddedRuntime(
55-
"client",
56-
Map.of(
55+
public final RuntimeExtension client = new RuntimePerMethodExtension(new EmbeddedRuntime("client",
56+
":core:common:connector-core",
57+
":extensions:common:http")
58+
.configurationProvider(() -> ConfigFactory.fromMap(Map.of(
5759
"web.http.port", String.valueOf(getFreePort()),
5860
"edc.dpf.selector.url", "http://localhost:%d/control/v1/dataplanes".formatted(port),
5961
"edc.core.retry.retries.max", "0"
60-
),
61-
":core:common:connector-core",
62-
":extensions:common:http"
63-
));
62+
)))
63+
);
6464

6565
@RegisterExtension
6666
public final RuntimeExtension server = new RuntimePerMethodExtension(new EmbeddedRuntime(
6767
"server",
68-
Map.of(
68+
":extensions:data-plane-selector:data-plane-selector-control-api",
69+
":extensions:common:api:control-api-configuration",
70+
":extensions:common:api:api-core",
71+
":core:common:connector-core",
72+
":extensions:common:http")
73+
.configurationProvider(() -> ConfigFactory.fromMap(Map.of(
6974
"web.http.port", String.valueOf(getFreePort()),
7075
"edc.dpf.selector.url", "http://not-used-but-mandatory",
7176
"web.http.control.port", port + "",
7277
"web.http.control.path", "/control"
73-
),
74-
":extensions:data-plane-selector:data-plane-selector-control-api",
75-
":extensions:common:api:control-api-configuration",
76-
":core:common:connector-core",
77-
":extensions:common:http"))
78+
)))
7879
.registerServiceMock(DataPlaneSelectorService.class, serverService)
79-
.registerServiceMock(JsonObjectValidatorRegistry.class, validator);
80+
.registerServiceMock(JsonObjectValidatorRegistry.class, validator)
81+
);
8082

8183
@Test
8284
void addInstance() {

extensions/data-plane-selector/data-plane-selector-control-api/build.gradle.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ dependencies {
2222
api(project(":spi:common:web-spi"))
2323
api(project(":spi:data-plane-selector:data-plane-selector-spi"))
2424

25+
implementation(project(":core:common:lib:api-lib"))
2526
implementation(project(":core:common:lib:transform-lib"))
2627
implementation(project(":core:common:lib:validator-lib"))
27-
implementation(project(":extensions:common:api:api-core"))
2828
implementation(libs.jakarta.rsApi)
2929

3030
testImplementation(project(":core:common:junit"))

0 commit comments

Comments
 (0)