Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add connector BOM modules #4533

Merged
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
36 changes: 35 additions & 1 deletion .github/workflows/verify.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,6 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: eclipse-edc/.github/.github/actions/setup-build@main

- name: Component Tests
run: ./gradlew test -DincludeTags="ComponentTest"

Expand All @@ -97,3 +96,38 @@ jobs:
uses: eclipse-edc/.github/.github/workflows/verify-openapi.yml@main
secrets: inherit

Verify-BOM:
runs-on: ubuntu-latest
strategy:
fail-fast: false

# we can't test the "controlplane-oauth2-com" because it only starts successfully if the public key is already in the vault
matrix:
bom-directory: [ "dist/bom/dataplane-base-bom",
"dist/bom/controlplane-dcp-bom",
"dist/bom/sts-feature-bom" ]
steps:
- uses: actions/checkout@v4
- uses: eclipse-edc/.github/.github/actions/setup-build@main
- name: Build runtime
run: ./gradlew -p ${{ matrix.bom-directory }} build
- name: Smoke Test
timeout-minutes: 10
run: |
# Start the program in the background
java -Dedc.fs.config=${{ matrix.bom-directory }}/example.properties -cp "$(./gradlew -q -p ${{ matrix.bom-directory }} printClassPath)" org.eclipse.edc.boot.system.runtime.BaseRuntime > ${{ matrix.bom-directory }}/log.txt &

# Get the PID of the running command
PID=$!

# Monitor the output and kill the process when desired output is found
while :; do
# Capture the output of the command
cat ${{ matrix.bom-directory }}/log.txt 2>/dev/null | grep -q "Runtime .* ready" && break
sleep 1
done

# Kill the process once the output is detected
kill $PID
echo "Runtime ${{ matrix.bom-directory }} shutdown after ready signal detected."
rm ${{ matrix.bom-directory }}/log.txt
23 changes: 15 additions & 8 deletions DEPENDENCIES
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
maven/mavencentral/com.apicatalog/carbon-did/0.3.0, Apache-2.0, approved, clearlydefined

Check warning on line 1 in DEPENDENCIES

View workflow job for this annotation

GitHub Actions / Dependency-Check / Dash-Verify-Licenses

Restricted Dependencies found

Some dependencies are marked 'restricted' - please review them
maven/mavencentral/com.apicatalog/copper-multibase/0.5.0, Apache-2.0, approved, #14501
maven/mavencentral/com.apicatalog/copper-multicodec/0.1.1, Apache-2.0, approved, #14500
maven/mavencentral/com.apicatalog/iron-ed25519-cryptosuite-2020/0.14.0, Apache-2.0, approved, #14503
Expand Down Expand Up @@ -187,10 +187,10 @@
maven/mavencentral/joda-time/joda-time/2.10.5, Apache-2.0, approved, clearlydefined
maven/mavencentral/junit/junit/4.13.2, EPL-2.0, approved, CQ23636
maven/mavencentral/net.bytebuddy/byte-buddy-agent/1.14.1, Apache-2.0, approved, #7164
maven/mavencentral/net.bytebuddy/byte-buddy-agent/1.15.2, Apache-2.0, approved, #16009
maven/mavencentral/net.bytebuddy/byte-buddy-agent/1.15.3, Apache-2.0, approved, #16009
maven/mavencentral/net.bytebuddy/byte-buddy/1.14.1, Apache-2.0 AND BSD-3-Clause, approved, #7163
maven/mavencentral/net.bytebuddy/byte-buddy/1.14.18, Apache-2.0 AND BSD-3-Clause, approved, #7163
maven/mavencentral/net.bytebuddy/byte-buddy/1.15.2, Apache-2.0 AND BSD-3-Clause, approved, #16008
maven/mavencentral/net.bytebuddy/byte-buddy/1.15.3, Apache-2.0 AND BSD-3-Clause, approved, #16008
maven/mavencentral/net.java.dev.jna/jna/5.13.0, Apache-2.0 AND LGPL-2.1-or-later, approved, #15196
maven/mavencentral/net.javacrumbs.json-unit/json-unit-core/2.36.0, Apache-2.0, approved, clearlydefined
maven/mavencentral/net.minidev/accessors-smart/2.4.7, Apache-2.0, approved, #7515
Expand Down Expand Up @@ -303,31 +303,38 @@
maven/mavencentral/org.jetbrains/annotations/13.0, Apache-2.0, approved, clearlydefined
maven/mavencentral/org.jetbrains/annotations/17.0.0, Apache-2.0, approved, clearlydefined
maven/mavencentral/org.jetbrains/annotations/25.0.0, , restricted, clearlydefined
maven/mavencentral/org.jetbrains/annotations/26.0.0, , restricted, clearlydefined
maven/mavencentral/org.junit-pioneer/junit-pioneer/2.2.0, EPL-2.0, approved, #11857
maven/mavencentral/org.junit.jupiter/junit-jupiter-api/5.11.1, EPL-2.0, approved, #15935
maven/mavencentral/org.junit.jupiter/junit-jupiter-api/5.11.2, EPL-2.0, approved, #15935
maven/mavencentral/org.junit.jupiter/junit-jupiter-engine/5.11.1, EPL-2.0, approved, #15939
maven/mavencentral/org.junit.jupiter/junit-jupiter-engine/5.11.2, EPL-2.0, approved, #15939
maven/mavencentral/org.junit.jupiter/junit-jupiter-params/5.11.1, EPL-2.0, approved, #15940
maven/mavencentral/org.junit.jupiter/junit-jupiter-params/5.11.2, EPL-2.0, approved, #15940
maven/mavencentral/org.junit.platform/junit-platform-commons/1.11.1, EPL-2.0, approved, #15936
maven/mavencentral/org.junit.platform/junit-platform-commons/1.11.2, EPL-2.0, approved, #15936
maven/mavencentral/org.junit.platform/junit-platform-engine/1.11.1, EPL-2.0, approved, #15932
maven/mavencentral/org.junit.platform/junit-platform-launcher/1.11.1, EPL-2.0, approved, #15934
maven/mavencentral/org.junit.platform/junit-platform-engine/1.11.2, EPL-2.0, approved, #15932
maven/mavencentral/org.junit.platform/junit-platform-launcher/1.11.2, EPL-2.0, approved, #15934
maven/mavencentral/org.junit/junit-bom/5.11.1, EPL-2.0, approved, #16062
maven/mavencentral/org.junit/junit-bom/5.11.2, EPL-2.0, approved, #16062
maven/mavencentral/org.junit/junit-bom/5.9.2, EPL-2.0, approved, #4711
maven/mavencentral/org.jvnet.mimepull/mimepull/1.9.15, CDDL-1.1 OR GPL-2.0-only WITH Classpath-exception-2.0, approved, CQ21484
maven/mavencentral/org.latencyutils/LatencyUtils/2.0.3, CC0-1.0, approved, #15280
maven/mavencentral/org.lz4/lz4-java/1.8.0, Apache-2.0, approved, clearlydefined
maven/mavencentral/org.mock-server/mockserver-client-java/5.15.0, Apache-2.0 AND LGPL-3.0-only, approved, #9324
maven/mavencentral/org.mock-server/mockserver-core/5.15.0, Apache-2.0, approved, clearlydefined
maven/mavencentral/org.mock-server/mockserver-netty/5.15.0, Apache-2.0, approved, #9276
maven/mavencentral/org.mockito/mockito-core/5.14.0, MIT AND (Apache-2.0 AND MIT) AND Apache-2.0, approved, #16375
maven/mavencentral/org.mockito/mockito-core/5.14.1, MIT AND (Apache-2.0 AND MIT) AND Apache-2.0, approved, #16375
maven/mavencentral/org.mockito/mockito-core/5.2.0, MIT AND (Apache-2.0 AND MIT) AND Apache-2.0, approved, #7401
maven/mavencentral/org.mockito/mockito-inline/5.2.0, MIT, approved, clearlydefined
maven/mavencentral/org.mozilla/rhino/1.7.7.2, MPL-2.0 AND BSD-3-Clause AND ISC, approved, CQ16320
maven/mavencentral/org.objenesis/objenesis/3.3, Apache-2.0, approved, clearlydefined
maven/mavencentral/org.opentest4j/opentest4j/1.3.0, Apache-2.0, approved, #9713
maven/mavencentral/org.ow2.asm/asm-commons/9.7, BSD-3-Clause, approved, #14075
maven/mavencentral/org.ow2.asm/asm-tree/9.7, BSD-3-Clause, approved, #14073
maven/mavencentral/org.ow2.asm/asm-commons/9.7, BSD-3-Clause, approved, #16465
maven/mavencentral/org.ow2.asm/asm-tree/9.7, BSD-3-Clause, approved, #16466
maven/mavencentral/org.ow2.asm/asm/9.1, BSD-3-Clause, approved, CQ23029
maven/mavencentral/org.ow2.asm/asm/9.7, BSD-3-Clause, approved, #14076
maven/mavencentral/org.ow2.asm/asm/9.7, BSD-3-Clause, approved, #16464
maven/mavencentral/org.postgresql/postgresql/42.7.4, BSD-2-Clause AND Apache-2.0, approved, #11681
maven/mavencentral/org.reflections/reflections/0.10.2, Apache-2.0 AND WTFPL, approved, clearlydefined
maven/mavencentral/org.rnorth.duct-tape/duct-tape/1.0.8, MIT, approved, clearlydefined
Expand All @@ -341,7 +348,7 @@
maven/mavencentral/org.slf4j/slf4j-api/2.0.9, MIT, approved, #5915
maven/mavencentral/org.testcontainers/database-commons/1.20.2, , restricted, clearlydefined
maven/mavencentral/org.testcontainers/jdbc/1.20.2, , restricted, clearlydefined
maven/mavencentral/org.testcontainers/junit-jupiter/1.20.2, , restricted, clearlydefined
maven/mavencentral/org.testcontainers/junit-jupiter/1.20.2, None, restricted, #16552
maven/mavencentral/org.testcontainers/kafka/1.20.2, , restricted, clearlydefined
maven/mavencentral/org.testcontainers/postgresql/1.20.2, , restricted, clearlydefined
maven/mavencentral/org.testcontainers/testcontainers/1.20.2, MIT, approved, #15747
Expand Down
53 changes: 53 additions & 0 deletions dist/bom/controlplane-base-bom/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
/*
* Copyright (c) 2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG)
*
* 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:
* Bayerische Motoren Werke Aktiengesellschaft (BMW AG) - initial API and implementation
*
*/

plugins {
`java-library`
}

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

// core dependencies
api(project(":core:common:boot"))
api(project(":core:common:connector-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"))


// 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:control-plane:api:management-api"))
api(project(":extensions:data-plane-selector:data-plane-selector-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: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"))

// libs
api(project(":core:common:lib:transform-lib"))
}

edcBuild {

}
38 changes: 38 additions & 0 deletions dist/bom/controlplane-dcp-bom/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
/*
* Copyright (c) 2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG)
*
* 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:
* Bayerische Motoren Werke Aktiengesellschaft (BMW AG) - initial API and implementation
*
*/

plugins {
`java-library`
}

dependencies {
// SPI dependencies
api(project(":dist:bom:controlplane-base-bom"))

// DCP dependencies, JWT and LDP
api(project(":spi:common:jwt-spi"))

api(project(":extensions:common:crypto:ldp-verifiable-credentials"))
api(project(":extensions:common:crypto:jwt-verifiable-credentials"))
api(project(":extensions:common:crypto:lib:jws2020-lib"))
api(project(":extensions:common:iam:identity-trust:identity-trust-core"))
api(project(":extensions:common:iam:identity-trust:identity-trust-issuers-configuration"))
api(project(":extensions:common:iam:identity-trust:identity-trust-service"))
api(project(":extensions:common:iam:identity-trust:identity-trust-transform"))
api(project(":extensions:common:iam:identity-trust:identity-trust-sts:identity-trust-sts-remote-client"))


api(project(":extensions:common:iam:decentralized-identity"))
api(project(":extensions:common:iam:oauth2:oauth2-client"))
}
7 changes: 7 additions & 0 deletions dist/bom/controlplane-dcp-bom/example.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
edc.iam.sts.oauth.token.url=https://sts.com/token
edc.iam.sts.oauth.client.id=test-client
edc.iam.sts.oauth.client.secret.alias=test-alias
web.http.port=8080
web.http.path=/api
web.http.management.port=8081
web.http.management.path=/api/management
39 changes: 39 additions & 0 deletions dist/bom/controlplane-feature-sql-bom/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
/*
* Copyright (c) 2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG)
*
* 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:
* Bayerische Motoren Werke Aktiengesellschaft (BMW AG) - initial API and implementation
*
*/

plugins {
`java-library`
}

dependencies {
// entity stores
api(project(":extensions:control-plane:store:sql:asset-index-sql"))
api(project(":extensions:control-plane:store:sql:contract-definition-store-sql"))
api(project(":extensions:control-plane:store:sql:contract-negotiation-store-sql"))
api(project(":extensions:control-plane:store:sql:control-plane-sql"))
api(project(":extensions:control-plane:store:sql:policy-definition-store-sql"))
api(project(":extensions:control-plane:store:sql:transfer-process-store-sql"))
api(project(":extensions:common:store:sql:edr-index-sql"))
api(project(":extensions:data-plane-selector:store:sql:data-plane-instance-store-sql"))

// other SQL dependencies - not strictly necessary, but could come in handy for BOM users
api(project(":extensions:common:sql:sql-core"))
api(project(":extensions:common:sql:sql-bootstrapper"))
api(project(":extensions:common:sql:sql-lease"))
api(project(":extensions:common:sql:sql-pool"))
api(project(":extensions:common:transaction:transaction-local"))

// third-party deps
api(libs.postgres)
}
27 changes: 27 additions & 0 deletions dist/bom/controlplane-oauth2-bom/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
/*
* Copyright (c) 2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG)
*
* 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:
* Bayerische Motoren Werke Aktiengesellschaft (BMW AG) - initial API and implementation
*
*/

plugins {
`java-library`
}

dependencies {
// SPI dependencies
api(project(":dist:bom:controlplane-base-bom"))

// DCP dependencies, JWT and LDP
api(project(":spi:common:jwt-spi"))

api(project(":extensions:common:iam:oauth2:oauth2-service"))
}
5 changes: 5 additions & 0 deletions dist/bom/controlplane-oauth2-bom/example.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
edc.oauth.token.url=https://oauth2.com/token
# this will require the public key alias to be present in the vault
edc.oauth.certificate.alias=test-alias
edc.oauth.private.key.alias=private-test-alias
edc.oauth.client.id=test-client
43 changes: 43 additions & 0 deletions dist/bom/dataplane-base-bom/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
/*
* Copyright (c) 2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG)
*
* 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:
* Bayerische Motoren Werke Aktiengesellschaft (BMW AG) - initial API and implementation
*
*/

plugins {
`java-library`
}

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

// core dependencies
api(project(":core:common:boot"))
api(project(":core:common:connector-core"))
api(project(":core:data-plane:data-plane-core"))


// extension dependencies
api(project(":extensions:common:api:control-api-configuration"))
api(project(":extensions:common:configuration:configuration-filesystem"))
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"))
api(project(":extensions:data-plane:data-plane-http"))
api(project(":extensions:data-plane:data-plane-http-oauth2"))
api(project(":extensions:data-plane:data-plane-public-api-v2"))
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"))
}
6 changes: 6 additions & 0 deletions dist/bom/dataplane-base-bom/example.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
edc.transfer.proxy.token.verifier.publickey.alias=test-alias
edc.transfer.proxy.token.signer.privatekey.alias=private-alias
edc.dpf.selector.url=http://test.com/selector
web.http.control.port=9091
web.http.control.path=/api/control
web.http.port=9090
35 changes: 35 additions & 0 deletions dist/bom/dataplane-feature-sql-bom/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
/*
* Copyright (c) 2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG)
*
* 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:
* Bayerische Motoren Werke Aktiengesellschaft (BMW AG) - initial API and implementation
*
*/

plugins {
`java-library`
}

dependencies {
// entity stores
api(project(":extensions:data-plane-selector:store:sql:data-plane-instance-store-sql"))
api(project(":extensions:data-plane:store:sql:accesstokendata-store-sql"))
api(project(":extensions:data-plane:store:sql:data-plane-store-sql"))

// other SQL dependencies - not strictly necessary, but could come in handy for BOM users
api(project(":extensions:common:sql:sql-core"))
api(project(":extensions:common:sql:sql-bootstrapper"))
api(project(":extensions:common:sql:sql-lease"))
api(project(":extensions:common:sql:sql-pool"))
api(project(":extensions:common:transaction:transaction-local"))

// third-party deps
api(libs.postgres)

}
Loading
Loading