|
# Development
|
|
|
|
|
|
|
|
The open source implementation is based on the Eclipse Modelling Framework, XText, Epsilon, and Sirius to provide a set of Java libraries and Eclipse plugins to support development of TDL specifications.
|
|
The open source implementation is based on the Eclipse Modelling Framework, XText, Epsilon, and Sirius to provide a set of Java libraries and Eclipse plugins to support development of TDL specifications.
|
|
|
|
|
|
## Setup
|
|
## Setup
|
... | @@ -8,7 +6,7 @@ See the README information for instructions on how to set up a local development |
... | @@ -8,7 +6,7 @@ See the README information for instructions on how to set up a local development |
|
|
|
|
|
## Build Automation
|
|
## Build Automation
|
|
|
|
|
|
Apache Maven is used for build automation so that the plug-ins can be built without installing and setting up Eclipse. However, having Eclipse set up is useful to quickly detect obvious issues I want tests any changes. Tycho is used to orchestrate the Eclipse plugin dependency resolution.
|
|
Apache Maven is used for build automation so that the plug-ins can be built without installing and setting up Eclipse. However, having Eclipse set up is useful to quickly detect obvious issues and test any changes. Tycho is used to orchestrate the Eclipse plugin dependency resolution.
|
|
|
|
|
|
The components are organised in respective subfolders, including:
|
|
The components are organised in respective subfolders, including:
|
|
|
|
|
... | @@ -23,11 +21,11 @@ For individual components `mvn package install -pl ../plugins/PLUGIN_FOLDER` can |
... | @@ -23,11 +21,11 @@ For individual components `mvn package install -pl ../plugins/PLUGIN_FOLDER` can |
|
|
|
|
|
Apart from the update site for some plug-ins, there might also be other artifacts, for example, the standalone plug-in and the runtime plug-in. They can be found in the respective target folders.
|
|
Apart from the update site for some plug-ins, there might also be other artifacts, for example, the standalone plug-in and the runtime plug-in. They can be found in the respective target folders.
|
|
|
|
|
|
In case plug-in dependencies have been updated, it is important to check that the target platform definition is also up-to-date. Direct maven dependencies are really used and should generally not need many updates. Planning dependencies are generally defined in the plug-in manifests, so that there is no difference between building in Eclipse and building with maven. Maven builds should work in Eclipse as well, however, having the automated build activated in Eclipse at the same time as a Maven build outside Eclipse can cause some issues. In that case, builds shall be run only within Eclipse or the automated builds shall be (temporarily) deactivated.
|
|
In case plug-in dependencies have been updated, it is important to check that the target platform definition is also up-to-date. Direct maven dependencies are rarely used and should generally not need many updates. Plugin dependencies are generally defined in the plugin manifests, so that there is no difference between building in Eclipse and building with Maven. Maven builds should work in Eclipse as well, however, having the automated build activated in Eclipse at the same time as a Maven build outside Eclipse can cause some issues. In that case, builds shall be run only within Eclipse or the automated builds shall be (temporarily) deactivated.
|
|
|
|
|
|
## Build Pipelines
|
|
## Build Pipelines
|
|
|
|
|
|
A build pipeline has been set up on the GitLab. It performs the basic build tasks and publishers the results as packages and releases, including permanent link to the latest release. The pipeline is triggered when changes are pushed to the designated branch and the results published in the permanent link are overwritten. The pipeline can also be triggered through the web interface, and on a scedule (once a week). Every time the pipeline is executed, a new tag is created. To access older versions, refer to the packages and releases which include respective links to the snapshots. Snapshots may not be available after a period of time.
|
|
A build pipeline has been set up on the GitLab. It performs the basic build tasks and publishers the results as packages and releases, including permanent link to the latest release. The pipeline is triggered when changes are pushed to the designated branch and the results published in the permanent link are overwritten. The pipeline can also be triggered through the web interface, and on a schedule (once a week). Every time the pipeline is executed, a new tag is created. To access older versions, refer to the packages and releases which include respective links to the snapshots. Snapshots may not be available after a period of time.
|
|
|
|
|
|
The pipeline makes use of some configurations variables that are reused throughout the pipeline. It also includes some Maven configurations, including a cache to speed up the build process.
|
|
The pipeline makes use of some configurations variables that are reused throughout the pipeline. It also includes some Maven configurations, including a cache to speed up the build process.
|
|
|
|
|
... | @@ -44,4 +42,4 @@ For further details, look into the pipeline configuration. |
... | @@ -44,4 +42,4 @@ For further details, look into the pipeline configuration. |
|
|
|
|
|
### How to contribute
|
|
### How to contribute
|
|
|
|
|
|
See [contributor information]() |
|
See [contributor information](How-to-contribute) |
|
\ No newline at end of file |
|
\ No newline at end of file |