Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ dependencies {
runtimeOnly(libs.edc.bom.dataplane.base)

implementation(libs.edc.iam.mock)
implementation(libs.edc.data.plane.public.api)
implementation(libs.edc.data.plane.spi)
implementation(libs.opentelemetry.exporter.otlp)
runtimeOnly(libs.edc.monitor.jdk.logger)
}
Expand All @@ -36,7 +36,7 @@ application {
mainClass.set("org.eclipse.edc.boot.system.runtime.BaseRuntime")
}

tasks.withType<com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar> {
tasks.shadowJar {
mergeServiceFiles()
archiveFileName.set("connector.jar")
duplicatesStrategy = DuplicatesStrategy.INCLUDE
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
/*
* Copyright (c) 2026 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
*
*/

package org.eclipse.edc.sample.runtime;

import org.eclipse.edc.connector.dataplane.spi.Endpoint;
import org.eclipse.edc.connector.dataplane.spi.iam.PublicEndpointGeneratorService;
import org.eclipse.edc.runtime.metamodel.annotation.Inject;
import org.eclipse.edc.spi.system.ServiceExtension;
import org.eclipse.edc.spi.system.ServiceExtensionContext;

public class DummyEndpointGeneratorFunctionExtension implements ServiceExtension {

@Inject
private PublicEndpointGeneratorService publicEndpointGeneratorService;

@Override
public void initialize(ServiceExtensionContext context) {
publicEndpointGeneratorService.addGeneratorFunction("HttpData", e -> Endpoint.url("http://localhost/dummy"));
}
}
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
org.eclipse.edc.sample.runtime.DummyEndpointGeneratorFunctionExtension
org.eclipse.edc.sample.runtime.SeedVaultExtension
2 changes: 1 addition & 1 deletion advanced/advanced-02-custom-runtime/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ application {
var distTar = tasks.getByName("distTar")
var distZip = tasks.getByName("distZip")

tasks.withType<com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar> {
tasks.shadowJar {
mergeServiceFiles()
archiveFileName.set("custom-runtime.jar")
dependsOn(distTar, distZip)
Expand Down
2 changes: 1 addition & 1 deletion basic/basic-01-basic-connector/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ application {
mainClass.set("org.eclipse.edc.boot.system.runtime.BaseRuntime")
}

tasks.withType<com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar> {
tasks.shadowJar {
mergeServiceFiles()
archiveFileName.set("basic-connector.jar")
duplicatesStrategy = DuplicatesStrategy.INCLUDE
Expand Down
2 changes: 1 addition & 1 deletion basic/basic-02-health-endpoint/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ application {
mainClass.set("org.eclipse.edc.boot.system.runtime.BaseRuntime")
}

tasks.withType<com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar> {
tasks.shadowJar {
mergeServiceFiles()
archiveFileName.set("connector-health.jar")
duplicatesStrategy = DuplicatesStrategy.INCLUDE
Expand Down
2 changes: 1 addition & 1 deletion basic/basic-03-configuration/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ application {
mainClass.set("org.eclipse.edc.boot.system.runtime.BaseRuntime")
}

tasks.withType<com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar> {
tasks.shadowJar {
mergeServiceFiles()
archiveFileName.set("filesystem-config-connector.jar")
duplicatesStrategy = DuplicatesStrategy.INCLUDE
Expand Down
4 changes: 1 addition & 3 deletions federated-catalog/fc-00-basic/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,7 @@ essential for FC, without any additional functionality.
```shell
...
dependencies {
implementation(libs.edc.fc.spi.crawler)
runtimeOnly(libs.fc.core)
runtimeOnly(libs.fc.ext.api)
runtimeOnly(libs.edc.federatedcatalog.base.bom)
}
...
```
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ public class CatalogNodeDirectory implements TargetNodeDirectory {
public List<TargetNode> getAll() {
var participantNode = new TargetNode("https://w3id.org/edc/v0.0.1/ns/",
"provider",
"http://localhost:19194/protocol", List.of("dataspace-protocol-http"));
"http://localhost:19194/protocol/2025-1", List.of("dataspace-protocol-http:2025-1"));

return List.of(participantNode);
}
Expand Down
17 changes: 5 additions & 12 deletions federated-catalog/fc-01-embedded/fc-connector/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -19,18 +19,11 @@ plugins {
}

dependencies {
runtimeOnly(project(":federated-catalog:fc-00-basic:federated-catalog-base"))
runtimeOnly(project(":federated-catalog:fc-00-basic:fixed-node-resolver"))
implementation(project(":federated-catalog:fc-00-basic:federated-catalog-base"))
implementation(project(":federated-catalog:fc-00-basic:fixed-node-resolver"))

implementation(libs.edc.runtime.core)
implementation(libs.edc.connector.core)
implementation(libs.edc.control.plane.core)
implementation(libs.edc.configuration.filesystem)
implementation(libs.edc.management.api)
implementation(libs.edc.dsp)
implementation(libs.edc.iam.mock)
implementation(libs.edc.http)
implementation(libs.edc.edr.store.core)
runtimeOnly(libs.edc.bom.controlplane.base)
runtimeOnly(libs.edc.iam.mock)

}

Expand All @@ -41,7 +34,7 @@ application {
var distTar = tasks.getByName("distTar")
var distZip = tasks.getByName("distZip")

tasks.withType<com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar> {
tasks.shadowJar {
mergeServiceFiles()
archiveFileName.set("fc-connector.jar")
dependsOn(distTar, distZip)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,6 @@ dependencies {
runtimeOnly(project(":federated-catalog:fc-00-basic:federated-catalog-base"))
runtimeOnly(project(":federated-catalog:fc-00-basic:fixed-node-resolver"))

implementation(libs.edc.runtime.core)
implementation(libs.edc.connector.core)
runtimeOnly(libs.edc.boot)
runtimeOnly(libs.edc.control.plane.core)
implementation(libs.edc.configuration.filesystem)
runtimeOnly(libs.edc.token.core)
implementation(libs.edc.http)
runtimeOnly(libs.edc.dsp)
implementation(libs.edc.iam.mock)

}
Expand All @@ -41,7 +33,7 @@ application {
var distTar = tasks.getByName("distTar")
var distZip = tasks.getByName("distZip")

tasks.withType<com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar> {
tasks.shadowJar {
mergeServiceFiles()
archiveFileName.set("standalone-fc.jar")
dependsOn(distTar, distZip)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
edc.participant.id=consumer

web.http.port=39191
web.http.path=/api
web.http.version.port=49191
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ dependencies {
implementation(libs.edc.configuration.filesystem)
implementation(libs.edc.management.api)
implementation(libs.edc.dsp)
implementation(libs.edc.participant.context.single.core)
implementation(libs.edc.iam.mock)
implementation(libs.edc.http)
implementation(libs.edc.edr.store.core)
Expand All @@ -41,7 +42,7 @@ application {
var distTar = tasks.getByName("distTar")
var distZip = tasks.getByName("distZip")

tasks.withType<com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar> {
tasks.shadowJar {
mergeServiceFiles()
archiveFileName.set("fc-connector-with-node-resolver.jar")
dependsOn(distTar, distZip)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ dependencies {
runtimeOnly(libs.edc.token.core)
implementation(libs.edc.http)
runtimeOnly(libs.edc.dsp)
runtimeOnly(libs.edc.participant.context.single.core)
implementation(libs.edc.iam.mock)

}
Expand All @@ -42,7 +43,7 @@ application {
var distTar = tasks.getByName("distTar")
var distZip = tasks.getByName("distZip")

tasks.withType<com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar> {
tasks.shadowJar {
mergeServiceFiles()
archiveFileName.set("standalone-fc-with-node-resolver.jar")
dependsOn(distTar, distZip)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
{
"name": "https://w3id.org/edc/v0.0.1/ns/",
"id": "provider",
"url": "http://localhost:19194/protocol",
"supportedProtocols": ["dataspace-protocol-http"]
"url": "http://localhost:19194/protocol/2025-1",
"supportedProtocols": ["dataspace-protocol-http:2025-1"]
}
]
]
4 changes: 2 additions & 2 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ format.version = "1.1"

[versions]
awaitility = "4.2.2"
edc = "0.14.1"
edc = "0.15.1"
okhttp-mockwebserver = "5.3.2"
restAssured = "6.0.0"
rsApi = "4.0.0"
Expand All @@ -23,7 +23,6 @@ edc-control-plane-core = { module = "org.eclipse.edc:control-plane-core", versio
edc-control-plane-spi = { module = "org.eclipse.edc:control-plane-spi", version.ref = "edc" }
edc-data-plane-signaling-api = { module = "org.eclipse.edc:data-plane-signaling-api", version.ref = "edc" }
edc-data-plane-signaling-client = { module = "org.eclipse.edc:data-plane-signaling-client", version.ref = "edc" }
edc-data-plane-public-api = { module = "org.eclipse.edc:data-plane-public-api-v2", version.ref = "edc" }
edc-data-plane-aws-s3 = { module = "org.eclipse.edc.aws:data-plane-aws-s3", version.ref = "edc" }
edc-data-plane-azure-storage = { module = "org.eclipse.edc.azure:data-plane-azure-storage", version.ref = "edc" }
edc-data-plane-core = { module = "org.eclipse.edc:data-plane-core", version.ref = "edc" }
Expand All @@ -46,6 +45,7 @@ edc-json-ld-lib = { module = "org.eclipse.edc:json-ld-lib", version.ref = "edc"
edc-json-ld-spi = { module = "org.eclipse.edc:json-ld-spi", version.ref = "edc" }
edc-junit = { module = "org.eclipse.edc:junit", version.ref = "edc" }
edc-management-api = { module = "org.eclipse.edc:management-api", version.ref = "edc" }
edc-participant-context-single-core = { module = "org.eclipse.edc:participant-context-single-core", version.ref = "edc" }
edc-management-api-test-fixtures = { module = "org.eclipse.edc:management-api-test-fixtures", version.ref = "edc" }
edc-monitor-jdk-logger = { module = "org.eclipse.edc:monitor-jdk-logger", version.ref = "edc" }
edc-runtime-core = { module = "org.eclipse.edc:runtime-core", version.ref = "edc" }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ dependencies {
implementation(libs.edc.configuration.filesystem)
implementation(libs.edc.management.api)
implementation(libs.edc.dsp)
implementation(libs.edc.participant.context.single.core)
implementation(libs.edc.iam.mock)
implementation(libs.edc.http)
}
Expand All @@ -34,7 +35,7 @@ application {
mainClass.set("org.eclipse.edc.boot.system.runtime.BaseRuntime")
}

tasks.withType<com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar> {
tasks.shadowJar {
mergeServiceFiles()
archiveFileName.set("consumer.jar")
duplicatesStrategy = DuplicatesStrategy.INCLUDE
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ dependencies {
implementation(libs.edc.configuration.filesystem)
implementation(libs.edc.management.api)
implementation(libs.edc.dsp)
implementation(libs.edc.participant.context.single.core)
implementation(libs.edc.iam.mock)
implementation(libs.edc.http)

Expand All @@ -37,7 +38,7 @@ application {
mainClass.set("org.eclipse.edc.boot.system.runtime.BaseRuntime")
}

tasks.withType<com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar> {
tasks.shadowJar {
mergeServiceFiles()
archiveFileName.set("provider.jar")
duplicatesStrategy = DuplicatesStrategy.INCLUDE
Expand Down
10 changes: 4 additions & 6 deletions system-tests/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,12 @@ dependencies {
testCompileOnly(project(":basic:basic-03-configuration"))

testCompileOnly(project(":transfer:transfer-00-prerequisites:connector"))
testCompileOnly(project(":transfer:transfer-03-consumer-pull:provider-proxy-data-plane"))
testCompileOnly(project(":transfer:transfer-04-event-consumer:consumer-with-listener"))
testCompileOnly(project(":transfer:transfer-04-event-consumer:listener"))
testCompileOnly(project(":transfer:transfer-05-file-transfer-cloud:cloud-transfer-consumer"))
testCompileOnly(project(":transfer:transfer-05-file-transfer-cloud:cloud-transfer-provider"))
testCompileOnly(project(":transfer:transfer-05-file-transfer-cloud:transfer-file-cloud"))
testCompileOnly(project(":transfer:transfer-06-kafka-broker:kafka-runtime"))

testCompileOnly(project(":advanced:advanced-01-open-telemetry:open-telemetry-runtime"))
Expand All @@ -52,12 +56,6 @@ dependencies {
testCompileOnly(project(":policy:policy-01-policy-enforcement:policy-enforcement-consumer"))
testCompileOnly(project(":policy:policy-01-policy-enforcement:policy-functions"))

testCompileOnly(project(":transfer:transfer-05-file-transfer-cloud:cloud-transfer-provider"))
testCompileOnly(project(":transfer:transfer-05-file-transfer-cloud:cloud-transfer-consumer"))
testCompileOnly(project(":transfer:transfer-05-file-transfer-cloud:transfer-file-cloud"))

testCompileOnly(project(":transfer:transfer-03-consumer-pull:provider-proxy-data-plane"))

testCompileOnly(project(":federated-catalog:fc-00-basic:fixed-node-resolver"))
testCompileOnly(project(":federated-catalog:fc-01-embedded:fc-connector"))
testCompileOnly(project(":federated-catalog:fc-02-standalone:standalone-fc"))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,8 @@ public class Advanced01openTelemetryTest {

@Container
public ComposeContainer environment = new ComposeContainer(getFileFromRelativePath(DOCKER_COMPOSE_YAML))
.withLocalCompose(true)
.withLogConsumer("consumer", l -> System.out.print("[consumer] " + l.getUtf8String()))
.withLogConsumer("provider", l -> System.out.print("[provider] " + l.getUtf8String()))
.waitingFor("provider", Wait.forLogMessage(".*Runtime.*ready.*", 1));

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@

import com.github.dockerjava.zerodep.shaded.org.apache.hc.core5.http.HttpStatus;
import io.restassured.http.ContentType;
import io.restassured.path.json.JsonPath;
import org.eclipse.edc.junit.extensions.EmbeddedRuntime;
import org.eclipse.edc.junit.extensions.RuntimeExtension;
import org.eclipse.edc.junit.extensions.RuntimePerClassExtension;
Expand All @@ -24,6 +25,7 @@
import java.util.Map;

import static io.restassured.RestAssured.given;
import static org.eclipse.edc.jsonld.spi.JsonLdKeywords.ID;
import static org.eclipse.edc.samples.common.FileTransferCommon.getFileContentFromRelativePath;
import static org.eclipse.edc.samples.common.PrerequisitesCommon.API_KEY_HEADER_KEY;
import static org.eclipse.edc.samples.common.PrerequisitesCommon.API_KEY_HEADER_VALUE;
Expand All @@ -36,25 +38,23 @@
public class FederatedCatalogCommon {
private static final String CREATE_ASSET_FILE_PATH = "transfer/transfer-01-negotiation/resources/create-asset.json";
private static final String V3_ASSETS_PATH = "/v3/assets";
private static final String ASSET_ID = "@id";

private static final String STANDALONE_FC = "standalone-fc";
private static final String EMBEDDED_FC = "fc-connector";
private static final String STANDALONE_FC_CONFIG_PROPERTIES_FILE_PATH = "federated-catalog/fc-02-standalone/standalone-fc/config.properties";
private static final String FC_CONNECTOR_CONFIG_PROPERTIES_FILE_PATH = "federated-catalog/fc-01-embedded/fc-connector/config.properties";

private static final String CRAWLER_EXECUTION_DELAY = "edc.catalog.cache.execution.delay.seconds";
public static final int CRAWLER_EXECUTION_DELAY_VALUE = 5;
public static final int CRAWLER_EXECUTION_DELAY_VALUE = 1;
private static final String CRAWLER_EXECUTION_PERIOD = "edc.catalog.cache.execution.period.seconds";
public static final int CRAWLER_EXECUTION_PERIOD_VALUE = 40;
public static final int CRAWLER_EXECUTION_PERIOD_VALUE = 5;
public static final int TIMEOUT = 5 * CRAWLER_EXECUTION_PERIOD_VALUE;

public static final String EMBEDDED_FC_CATALOG_API_ENDPOINT = "http://localhost:29195/api/catalog/v1alpha/catalog/query";
public static final String STANDALONE_FC_CATALOG_API_ENDPOINT = "http://localhost:39195/api/catalog/v1alpha/catalog/query";
public static final String EMPTY_QUERY_FILE_PATH = "federated-catalog/fc-01-embedded/resources/empty-query.json";
public static final String TYPE = "[0].@type";
public static final String CATALOG = "dcat:Catalog";
public static final String DATASET_ASSET_ID = "[0].'dcat:dataset'.@id";
public static final String DATASET_ASSET_ID = "[0].dataset[0].@id";

public static RuntimeExtension getFcEmbeddedConnector(String modulePath) {
return getRuntime(modulePath, EMBEDDED_FC, FC_CONNECTOR_CONFIG_PROPERTIES_FILE_PATH);
Expand All @@ -81,24 +81,23 @@ private static RuntimeExtension getRuntime(
public static String createAsset() {
return post(PrerequisitesCommon.PROVIDER_MANAGEMENT_URL + V3_ASSETS_PATH,
getFileContentFromRelativePath(CREATE_ASSET_FILE_PATH),
ASSET_ID);
ID);
}

public static String postAndAssertType(String url, String requestBody, String jsonPath) {
public static JsonPath postAndAssertType(String url, String requestBody) {
return given()
.headers(API_KEY_HEADER_KEY, API_KEY_HEADER_VALUE)
.contentType(ContentType.JSON)
.body(requestBody)
.when()
.post(url)
.then()
.log().ifError()
.log().ifValidationFails()
.statusCode(HttpStatus.SC_OK)
.body(TYPE, not(emptyString()))
.body(TYPE, is(CATALOG))
.body(TYPE, is("Catalog"))
.extract()
.jsonPath()
.get(jsonPath);
.jsonPath();
}

}
Loading
Loading