Skip to content

Commit

Permalink
refactor: extract api-lib to avoid extensions depending on api-core
Browse files Browse the repository at this point in the history
  • Loading branch information
ndr-brt committed Feb 12, 2025
1 parent eee070b commit 80e2f88
Show file tree
Hide file tree
Showing 40 changed files with 102 additions and 87 deletions.
31 changes: 31 additions & 0 deletions core/common/lib/api-lib/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
/*
* Copyright (c) 2025 Cofinity-X
*
* This program and the accompanying materials are made available under the
* terms of the Apache License, Version 2.0 which is available at
* https://www.apache.org/licenses/LICENSE-2.0
*
* SPDX-License-Identifier: Apache-2.0
*
* Contributors:
* Cofinity-X - initial API and implementation
*
*/

plugins {
`java-library`
}

dependencies {
api(project(":spi:common:core-spi"))

implementation(project(":core:common:lib:validator-lib"))
implementation(libs.swagger.annotations.jakarta)

testImplementation(project(":core:common:junit"))
testImplementation(project(":core:common:lib:json-ld-lib"))
testImplementation(project(":core:common:lib:query-lib"))
testImplementation(project(":core:common:lib:transform-lib"))
}


16 changes: 8 additions & 8 deletions dist/bom/controlplane-base-bom/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -23,27 +23,27 @@ dependencies {
// core dependencies
api(project(":core:common:boot"))
api(project(":core:common:connector-core"))
api(project(":core:common:edr-store-core"))
api(project(":core:common:token-core"))
api(project(":core:control-plane:control-plane-core"))
api(project(":core:common:edr-store-core"))
api(project(":data-protocols:dsp"))
api(project(":core:data-plane-selector:data-plane-selector-core"))

api(project(":data-protocols:dsp"))

// extension dependencies
api(project(":extensions:common:configuration:configuration-filesystem"))
api(project(":extensions:common:auth:auth-tokenbased"))
api(project(":extensions:common:auth:auth-configuration"))
api(project(":extensions:common:auth:auth-delegated"))
api(project(":extensions:common:api:api-core"))
api(project(":extensions:common:api:api-observability"))
api(project(":extensions:common:api:control-api-configuration"))
api(project(":extensions:common:api:version-api"))
api(project(":extensions:common:http"))
api(project(":extensions:control-plane:api:management-api"))
api(project(":extensions:control-plane:transfer:transfer-data-plane-signaling"))
api(project(":extensions:data-plane-selector:data-plane-selector-api"))
api(project(":extensions:data-plane-selector:data-plane-selector-control-api"))
api(project(":extensions:data-plane:data-plane-signaling:data-plane-signaling-client"))
api(project(":extensions:common:api:api-observability"))
api(project(":extensions:common:api:control-api-configuration"))
api(project(":extensions:common:api:version-api"))
api(project(":extensions:common:http"))
api(project(":extensions:control-plane:callback:callback-event-dispatcher"))
api(project(":extensions:control-plane:callback:callback-http-dispatcher"))
api(project(":extensions:control-plane:edr:edr-store-receiver"))
Expand All @@ -54,4 +54,4 @@ dependencies {

edcBuild {

}
}
7 changes: 4 additions & 3 deletions dist/bom/dataplane-base-bom/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,12 @@ dependencies {
api(project(":core:common:token-core"))
api(project(":core:data-plane:data-plane-core"))


// extension dependencies
api(project(":extensions:common:api:api-core"))
api(project(":extensions:common:api:api-observability"))
api(project(":extensions:common:api:control-api-configuration"))
api(project(":extensions:common:configuration:configuration-filesystem"))
api(project(":extensions:common:http"))
api(project(":extensions:common:json-ld"))
api(project(":extensions:control-plane:api:control-plane-api-client"))
api(project(":extensions:data-plane:data-plane-self-registration"))
Expand All @@ -39,6 +41,5 @@ dependencies {
api(project(":extensions:data-plane:data-plane-signaling:data-plane-signaling-api"))
api(project(":extensions:data-plane:data-plane-iam"))
api(project(":extensions:data-plane-selector:data-plane-selector-client"))
api(project(":extensions:common:api:api-observability"))
api(project(":extensions:common:http"))

}
4 changes: 2 additions & 2 deletions dist/bom/sts-feature-bom/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ dependencies {
api(project(":core:common:connector-core"))
api(project(":core:common:token-core"))


// extension dependencies
api(project(":extensions:common:api:api-core"))
api(project(":extensions:common:http"))
api(project(":extensions:common:json-ld"))
api(project(":extensions:common:api:api-observability"))
Expand All @@ -38,4 +38,4 @@ dependencies {
api(project(":extensions:common:iam:identity-trust:identity-trust-sts:identity-trust-sts-accounts-api"))
api(project(":extensions:common:iam:identity-trust:identity-trust-sts:identity-trust-sts-core"))
api(project(":extensions:common:iam:identity-trust:identity-trust-sts:identity-trust-sts-embedded"))
}
}
1 change: 1 addition & 0 deletions extensions/common/api/api-core/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ dependencies {
api(project(":spi:common:web-spi"))
api(project(":spi:common:json-ld-spi"))

implementation(project(":core:common:lib:api-lib"))
implementation(project(":core:common:lib:transform-lib"))
implementation(project(":core:common:lib:util-lib"))
implementation(project(":core:common:lib:validator-lib"))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@ plugins {
}

dependencies {
api(project(":spi:common:auth-spi"))
api(project(":spi:common:web-spi"))
api(project(":spi:control-plane:transfer-spi"))
implementation(project(":extensions:common:api:api-core"))
implementation(project(":extensions:common:http:lib:jersey-providers-lib"))

testImplementation(project(":core:common:junit"))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,15 @@ plugins {
}

dependencies {
api(project(":spi:common:auth-spi"))
api(project(":spi:common:json-ld-spi"))
api(project(":spi:common:web-spi"))
api(project(":spi:control-plane:contract-spi"))

implementation(project(":extensions:common:api:lib:management-api-lib"))
implementation(project(":extensions:common:http:lib:jersey-providers-lib"))
implementation(project(":extensions:common:api:api-core"))
implementation(project(":core:common:lib:transform-lib"))
implementation(project(":core:control-plane:control-plane-transform"))
implementation(project(":extensions:common:api:lib:management-api-lib"))
implementation(project(":extensions:common:http:lib:jersey-providers-lib"))

testImplementation(project(":core:common:junit"))
testImplementation(project(":core:common:lib:json-ld-lib"))
Expand Down
4 changes: 3 additions & 1 deletion extensions/common/api/version-api/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,9 @@ plugins {
}

dependencies {
implementation(project(":extensions:common:api:api-core"))
api(project(":spi:common:boot-spi"))
api(project(":spi:common:json-ld-spi"))
api(project(":spi:common:web-spi"))

implementation(libs.jakarta.rsApi)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ dependencies {
api(project(":spi:common:validator-spi"))
api(project(":spi:control-plane:control-plane-spi"))

implementation(project(":core:common:lib:api-lib"))
implementation(project(":core:common:lib:validator-lib"))
implementation(project(":extensions:common:api:api-core"))
implementation(project(":extensions:common:api:lib:management-api-lib"))

implementation(libs.jakarta.rsApi)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ plugins {
dependencies {
api(project(":spi:control-plane:control-plane-spi"))

implementation(project(":core:common:lib:api-lib"))
implementation(project(":core:common:lib:validator-lib"))
implementation(project(":extensions:common:api:api-core"))
implementation(project(":extensions:common:api:lib:management-api-lib"))

implementation(libs.jakarta.rsApi)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ plugins {
dependencies {
api(project(":spi:control-plane:control-plane-spi"))

implementation(project(":extensions:common:api:api-core"))
implementation(project(":core:common:lib:api-lib"))
implementation(project(":extensions:common:api:lib:management-api-lib"))

implementation(libs.jakarta.rsApi)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ dependencies {
api(project(":spi:control-plane:control-plane-spi"))
api(project(":spi:common:transaction-spi"))

implementation(project(":extensions:common:api:api-core"))
implementation(project(":extensions:common:api:lib:management-api-lib"))
implementation(project(":core:common:lib:api-lib"))
implementation(project(":core:common:lib:validator-lib"))

implementation(libs.jakarta.rsApi)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ dependencies {
api(project(":spi:control-plane:control-plane-spi"))
api(project(":spi:common:transaction-spi"))

implementation(project(":extensions:common:api:api-core"))
implementation(project(":extensions:common:api:lib:management-api-lib"))
implementation(project(":core:common:lib:api-lib"))
implementation(project(":core:common:lib:validator-lib"))

implementation(libs.jakarta.rsApi)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,9 @@ plugins {
dependencies {
api(project(":spi:common:edr-store-spi"))
api(project(":spi:common:validator-spi"))
api(project(":spi:common:web-spi"))
api(project(":spi:control-plane:control-plane-spi"))
implementation(project(":extensions:common:api:api-core"))
implementation(project(":core:common:lib:api-lib"))
implementation(project(":core:common:lib:validator-lib"))

implementation(libs.jakarta.rsApi)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@ dependencies {
api(project(":spi:common:transaction-spi"))
api(project(":spi:common:policy-model"))

implementation(project(":core:common:lib:api-lib"))
implementation(project(":core:common:lib:util-lib"))
implementation(project(":core:common:lib:validator-lib"))
implementation(project(":extensions:common:api:api-core"))
implementation(project(":extensions:common:api:lib:management-api-lib"))

implementation(libs.jakarta.rsApi)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ dependencies {
api(project(":spi:control-plane:control-plane-spi"))

implementation(project(":core:common:lib:validator-lib"))
implementation(project(":extensions:common:api:api-core"))
implementation(project(":extensions:common:api:lib:management-api-lib"))

implementation(libs.jakarta.rsApi)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,11 @@ plugins {

dependencies {
api(project(":spi:common:validator-spi"))
api(project(":spi:common:web-spi"))
api(project(":spi:control-plane:control-plane-spi"))
implementation(project(":extensions:common:api:api-core"))
implementation(project(":core:common:lib:validator-lib"))
implementation(project(":core:common:lib:api-lib"))
implementation(project(":core:common:lib:transform-lib"))
implementation(project(":core:common:lib:validator-lib"))

implementation(libs.jakarta.rsApi)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ dependencies {
api(project(":spi:control-plane:transfer-spi"))
api(project(":spi:control-plane:control-plane-spi"))

implementation(project(":core:common:lib:api-lib"))
implementation(project(":core:common:lib:util-lib"))
implementation(project(":core:common:lib:validator-lib"))
implementation(project(":extensions:common:api:api-core"))
implementation(project(":extensions:common:api:lib:management-api-lib"))

implementation(libs.jakarta.rsApi)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ dependencies {
api(project(":spi:control-plane:control-plane-spi"))
api(project(":spi:common:http-spi"))
api(project(":spi:common:web-spi"))
implementation(project(":extensions:common:api:api-core"))
implementation(project(":extensions:common:validator:validator-data-address-http-data"))

implementation(libs.jakarta.rsApi)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,20 +19,22 @@ plugins {

dependencies {
api(project(":spi:common:core-spi"))
api(project(":spi:common:web-spi"))
api(project(":spi:data-plane-selector:data-plane-selector-spi"))
implementation(project(":spi:common:transaction-spi"))
implementation(project(":core:common:lib:api-lib"))
implementation(project(":core:common:lib:transform-lib"))
implementation(project(":core:common:lib:util-lib"))
implementation(project(":core:common:lib:validator-lib"))
implementation(project(":extensions:common:json-ld"))
implementation(project(":extensions:common:api:api-core")) //for the exception mapper

implementation(libs.jakarta.rsApi)

testImplementation(project(":core:common:lib:json-ld-lib"))
testImplementation(project(":core:common:connector-core"))
testImplementation(project(":core:common:junit"))
testImplementation(project(":core:data-plane-selector:data-plane-selector-core"))
testImplementation(project(":extensions:common:api:api-core"))
testImplementation(project(":extensions:common:api:management-api-configuration"))
testImplementation(project(":extensions:common:http"))
testImplementation(project(":extensions:data-plane:data-plane-signaling:data-plane-signaling-client"))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
import org.eclipse.edc.junit.extensions.RuntimePerMethodExtension;
import org.eclipse.edc.spi.result.ServiceFailure;
import org.eclipse.edc.spi.result.ServiceResult;
import org.eclipse.edc.spi.system.configuration.ConfigFactory;
import org.eclipse.edc.spi.types.domain.DataAddress;
import org.eclipse.edc.validator.spi.JsonObjectValidatorRegistry;
import org.eclipse.edc.validator.spi.ValidationResult;
Expand Down Expand Up @@ -51,32 +52,33 @@ class RemoteDataPlaneSelectorServiceTest {
private final JsonObjectValidatorRegistry validator = mock();

@RegisterExtension
public final RuntimeExtension client = new RuntimePerMethodExtension(new EmbeddedRuntime(
"client",
Map.of(
public final RuntimeExtension client = new RuntimePerMethodExtension(new EmbeddedRuntime("client",
":core:common:connector-core",
":extensions:common:http")
.configurationProvider(() -> ConfigFactory.fromMap(Map.of(
"web.http.port", String.valueOf(getFreePort()),
"edc.dpf.selector.url", "http://localhost:%d/control/v1/dataplanes".formatted(port),
"edc.core.retry.retries.max", "0"
),
":core:common:connector-core",
":extensions:common:http"
));
)))
);

@RegisterExtension
public final RuntimeExtension server = new RuntimePerMethodExtension(new EmbeddedRuntime(
"server",
Map.of(
":extensions:data-plane-selector:data-plane-selector-control-api",
":extensions:common:api:control-api-configuration",
":extensions:common:api:api-core",
":core:common:connector-core",
":extensions:common:http")
.configurationProvider(() -> ConfigFactory.fromMap(Map.of(
"web.http.port", String.valueOf(getFreePort()),
"edc.dpf.selector.url", "http://not-used-but-mandatory",
"web.http.control.port", port + "",
"web.http.control.path", "/control"
),
":extensions:data-plane-selector:data-plane-selector-control-api",
":extensions:common:api:control-api-configuration",
":core:common:connector-core",
":extensions:common:http"))
)))
.registerServiceMock(DataPlaneSelectorService.class, serverService)
.registerServiceMock(JsonObjectValidatorRegistry.class, validator);
.registerServiceMock(JsonObjectValidatorRegistry.class, validator)
);

@Test
void addInstance() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ dependencies {
api(project(":spi:common:web-spi"))
api(project(":spi:data-plane-selector:data-plane-selector-spi"))

implementation(project(":core:common:lib:api-lib"))
implementation(project(":core:common:lib:transform-lib"))
implementation(project(":core:common:lib:validator-lib"))
implementation(project(":extensions:common:api:api-core"))
implementation(libs.jakarta.rsApi)

testImplementation(project(":core:common:junit"))
Expand Down
Loading

0 comments on commit 80e2f88

Please sign in to comment.