To get the example up-and-running, there are two possibilities:
-
using Docker:
./gradlew dockerize # on x86/64 platforms ./gradlew dockerize -Dplatform="linux/amd64" # on arm platforms, e.g. Apple Silicon
Then there should be two new images in your image cache,
controlplane:latest
anddataplane:latest
-
using a native Java process
./gradlew build java -jar runtimes/[controlplane|dataplane]/build/libs/[controlplane|dataplane].jar
In both cases configuration must be supplied, either using Docker environment variables, or using Java application properties.
config
: contains the configuration file for the Checkstyle pluginextensions
: this is where your extension modules should be implementedgradle
: contains the Gradle Wrapper and the Version Catalogruntimes
: contains executable modules for the controlplane and data plane
This is for develops whos focus is in developing a runtime module, which implements features and thereby extends the EDC- and Tractus-X EDC functionality. For example, implementing support for a new database technology could be implemented in one (or several) extensions.
If this is you, then you should focus mainly on the extensions/
directory.
This is for developers who want to package several extensions into a new runtime. A runtime in EDC-speak is a runnable application. We achieve this by packaging all class files into a fat JAR using the Shadow Plugin, but naturally other approaches exist (but are not covered here).
If this is you, then you should focus mainly on the runtimes/
directory.
Both runtimes provided in this template are simply pulling in the official Tractus-X control plane and data plane modules.