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 :
packaging/org.obeonetwork.dsl.uml2.update/target/repository
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:
Maven Tycho
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:
Continuous integration
One continuous integration builds exists to build UML Designer. This build runs on Travis-ci.
UML-Designer build
Building branches
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 .travis.yml
file.
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: http://obeo-umldesigner-nightly.s3-website-eu-west-1.amazonaws.com/$BRANCH_NAME.
The build deploys in S3 obeo-umldesigner-nightly
bucket:
- the
repository
folder: the UML Designer nightly update site. - the
org.obeonetwork.dsl.uml2.update-nightly.zip
: a zip of the nightly update site. - the
bundles
: the nightly products. - the
umldesigner-xxx.tpd
: the target platform used to build the update site and products.
The deploy phase is active only for specific branches: master
, 5.0.x
, 5.0.x_juno3.8
.
The umldesigner.org web site is also updated and deployed thanks to this build. For more details about the web site have a look to the documentation section of the developer guide.
Pull-requests
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.
UML-Designer-UI-Tests build
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: http://obeo-umldesigner-nightly.s3-website-eu-west-1.amazonaws.com/$BRANCH_NAME/test-results/$JOB_NUMBER.
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: http://obeo-umldesigner-releases.s3-website-eu-west-1.amazonaws.com/$TAG/test-results.