Syndesis uses Maven as build tool. Maven groups are used to separate the various Syndesis parts.
In details Syndesis consists of the following groups:
|common||Syndesis shared common module|
|dv||Tool that manages dynamic VDBs for the Teiid OpenShift Deployment.|
|extension||Library and API for developing Syndesis extensions|
|integration||Library used in the the integration runtimes|
|meta||Service for connector meta-data and verification of connections|
|s2i||S2I base image for building integrations|
|server||Backend for storing integrations and REST endpoint to interact with |
|ui||User interface SPA, talking to the |
|test||System tests for testing the whole applications|
|ui-react||User Interface based on ReactJS|
Figure 1. Group dependencies
The following conventions are used for naming directories, modules and Java packages.
- Each directory directly below
app/is specific for a certain Maven group. E.g. the directory
app/extensionis reserved for all Maven modules belonging to the Maven group
io.syndesis.extension. The directory name is reflected as the last name part.
- All names (groups, modules, package) are using the singular form. E.g. its a
- Each Maven module is prefixed with the last part of the group name. E.g. the directory
app/integration/apiholds a Maven module for the the Maven group
io.syndesis.integration, and the module’s artefactId is
- A module’s directory name is directly reflected as the last part of the Maven module name. If the Maven module name consists of multiple parts (e.g. artifact
integration-project-generator), then the corresponding directory is also a concatenated word (like in
integration/project-generator). Multipart names should be the exception, though.
- There should be only one level deep modules, so each Maven group directory holds all Maven modules flat.
- Each module has a single top-level package, reflecting the Maven module name. E.g. for the Maven module
io.syndesis.commonhas a single top-level package
io.syndesis.common.utilThis top-level package should reflect the artefact name, with dashes replaced by dots.
Still Having Trouble?
Ask on Gitter