Build developer guide
Building UML Designer update-site
UML Designer and SysML Designer are both provided as Eclipse plugins but only UML Designer is included in the UML Designer Product.
You’ll need Apache Maven 3 to be installed on your computer and you must have cloned the UML Designer github repository on your computer.
To launch the build, go to the root of the git repository and type :
mvn clean package
Maven will bootstrap itself, download all the dependencies and build UML Designer. The output of the build is a p2 repository (an update site) generated here :
To install it in an Eclipse installation use Help/Install New Software and point to this location.
Launching the test is not harder, just type :
mvn clean verify
Maven will launch the tests and give you the result.
Code coverage is captured thanks to Jacoco.
This command builds:
Building UML Designer product
We have a dedicated command for the product.
mvn clean package -f releng/org.obeonetwork.dsl.uml2.product.parent/pom.xml
You will retrieve product in: packaging/org.obeonetwork.dsl.uml2.product/target/products/
This command builds:
Technically, we use Maven Tycho to build these Eclipse artifacts.
To reuse a maximum of properties and maven configurations, we have a hierarchy of parents.
All UML designer plugins/features/update-sites refers to a dedicated parent:
For example, to add a new plugin org.obeonetwork.dsl.uml2.myplugin, add a
in org.obeonetwork.dsl.uml2.parent and add a `pom.xml` in your plugin with the following header:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.obeonetwork.dsl.uml2</groupId> <artifactId>parent</artifactId> <version>4.0.0-SNAPSHOT</version> <relativePath>../../releng/org.obeonetwork.dsl.uml2.parent</relativePath> </parent> <artifactId>org.obeonetwork.dsl.uml2.myplugin</artifactId> <packaging>eclipse-plugin</packaging> ... </project>
One continuous integration builds exists to build UML Designer. This build runs on Travis-ci.
This Travis “build”: https://travis-ci.org/ObeoNetwork/UML-Designer/ is used to :
- generate the documentation,
- update the gh-pages (umldesigner.org web site),
- create the UML Designer update site and products.
This build deploys automatically the build artifacts on S3 : http://obeo-umldesigner-nightly.s3-website-eu-west-1.amazonaws.com/
The build is configured thanks to the
Each time a commit is integrated on the github repository a nightly build is executed and the resulting update-site and products are deployed on s3:
The build deploys in S3
repositoryfolder: the UML Designer nightly update site.
org.obeonetwork.dsl.uml2.update-nightly.zip: a zip of the nightly update site.
bundles: the nightly products.
umldesigner-xxx.tpd: the target platform used to build the update site and products.
When a pull request is sent, a build is automatically launched. In this case, the deploy phase and the web site updates phases are not performed. The pull request build results is directly visible in the github interface.
The Travis “UI tests build”: https://travis-ci.org/ObeoNetwork/UML-Designer-UI-Tests is used to launch the UI tests.
This build deploys the tests results on S3:
Make a release
When a new tag is pushed on the git repository a release is deployed on the S3 : http://obeo-umldesigner-releases.s3-website-eu-west-1.amazonaws.com/$TAG. The same tag must be added on the test project in order that the UI tests are relaunched and the results will be provided in: