-
Notifications
You must be signed in to change notification settings - Fork 3
Eclipse BPMN2 Development
In this section you find information how to commit to the Eclipse BPMN2 project and how the build and release process is organized. For general information about the concepts of the Eclipse BPMN2 plugin extension mechanism see the BPMN2-Modeler/DeveloperTutorials. The Eclipse Foundation Handbook is also a useful source for information.
Concerning any questions use the following mailing lists:
- cross-project-issues-dev@eclipse.org - for general questions about build and SimRel
The source code of the Eclipse BPMN2 plugin is organized in several projects:
The project Eclipse Business Process Model and Notation provides the metamodel implementation based on the forthcoming Business Process Model and Notation (BPMN) 2.0 OMG specification.
Source Code: https://git.eclipse.org/c/bpmn2/org.eclipse.bpmn2.git/
git clone ssh://rsoika@git.eclipse.org:29418/bpmn2/org.eclipse.bpmn2.git
This project is release in version 1.5.0.Final-v20180515-1526
- Nightly Build - https://ci.eclipse.org/bpmn2/job/bpmn2-mdt/
- Publish - https://ci.eclipse.org/bpmn2/job/bpmn2-mdt-publish/
The Eclipse BPMN 2.0 Modeler project provides the graphical modeling tool which allows creation and editing of BPMN ( Business Process Modeling Notation ) diagrams.
Source code: https://git.eclipse.org/c/bpmn2-modeler/org.eclipse.bpmn2-modeler.git/
git clone ssh://rsoika@git.eclipse.org:29418/bpmn2-modeler/org.eclipse.bpmn2-modeler.git
This project is released in version 1.5.2
- Nightly Build - https://ci.eclipse.org/bpmn2/job/bpmn2-modeler.nightly/
- Publish - https://ci.eclipse.org/bpmn2/job/bpmn2-modeler-publish/
The project web site is hosted on gitlab.
https://gitlab.eclipse.org/eclipse/bpmn2-modeler/bpmn2-modeler-website
The new publishing tool will automatically pull from https://gitlab.eclipse.org/eclipse/bpmn2-modeler/bpmn2-modeler-website and publish to www.eclipse.org/bpmn2-modeler .
Further information about the website management can be found here
Changes can be committed directly into the master branch via gerrit. You need to review,verify and submit your changes in gerrit after a commit. See also the commit section below.
The Eclipse BPEL Designer is not realy related to BPMN but still part of the project set.
The Eclipse BPEL Designer project adds support for the WS-BPEL 2.0 processes. WS-BPEL (Web Services Business Process Execution Language), or BPEL, is a vendor-neutral specification being developed by OASIS to specify business processes as a set of interactions between web services.
https://git.eclipse.org/c/bpel/org.eclipse.bpel.git/
git clone ssh://rsoika@git.eclipse.org:29418/bpel/org.eclipse.bpel.git
This is currently released in version 1.1.2.Final-v20180621-1835. In your master branch we have 1.1.3 (which some minor changes from your side). So we should release this version
CI/Jenkins Jobs
- Nightly Build - https://ci.eclipse.org/bpel/job/bpel.nightly/
- Publish - https://ci.eclipse.org/bpel/job/bpel-publish/
To commit an new change follow these steps:
First create a new Bugzilla Issue describing the change.
https://bugs.eclipse.org/bugs/enter_bug.cgi?product=BPMN2Modeler
Now you can commit your changes via Gerirt. For this it is important to create a valid commit message in the following format
Bug 536236 - my message....
details.....
Change-Id: I000000000000000000000000000000000000000000
Signed-off-by: Ralph Soika <ralph.soika@imixs.com>
Commit and push your changes to Gerrit.
Changes are not directly visible. First the commit is pushed into Gerrit. This is a kind of 'Team-Review-Platform'. After a new commit you will see a gerrit link. Copy this link and open it in your web browser. You can now do a Code-Review and submit the change. This process is simmilar to a Pull-Request auf Github.
With the following Gerrit URL you can verify open commits:
For the submit in Gerrit you need to perform 3 steps (you have to be loged in!):
First post your code review comment:
Next verify the commit:
Finally submit the commit so it will be merged into the master branch
After the submit in gerrit you can pull again your changes locally from gerrit. This is an important step before you continue local bug fixing!
You will also find a description about this procedure in the BPMN2 Developer Wiki
With the following URL you can check the official master branch code:
https://git.eclipse.org/c/bpmn2-modeler/org.eclipse.bpmn2-modeler.git/
For local testing you can build with using the corresponding profile:
$ mvn clean install -Pplatform-2019-06 -Dcbi.jarsigner.skip=true
Each commit made via gerrit triggers a nighly build job in Jenkins. You can monitor these builds processes here:
https://ci.eclipse.org/bpmn2/job/bpmn2-modeler.nightly/
The Jenkins Server uses a special userID to write the build results named 'bpmn2'. This user needs sufficient write access.
To learn how a jenkins build is setup see here
Note: in the Jenkins build configuration there is a maven build command like:
cleaninstall-Pplatform-2020-09,sign
You need to update the platform release there if you switch the platform release!
When the nightly build job completes go ahead and run the publish job via jenkins:
https://ci.eclipse.org/bpmn2/job/bpmn2-modeler-publish/
Also this job should have the correct params. The results form a nightliy build can be verified here:
https://download.eclipse.org/bpmn2-modeler/updates/
In case of any problem you can open an issue in Bugzilla group 'Community' under the component 'CI-Jenkins'
Example: https://bugs.eclipse.org/bugs/show_bug.cgi?id=563584
Bumping the version number of bpmn2 modeler you can use a script.
- First create an issiue in bugzilla
- Next you can use the script changeVersion.sh
Specify the old and the new version like this:
changeVersion.sh <oldVersionString> <newVersionString>"
Example:
$ cd git/org.eclipse.bpmn2-modeler
$ ./scripts/changeVersion.sh 1.5.1-SNAPSHOT 1.5.2-SNAPSHOT
Finally commit your changes
To add a new platform release the parent/pom.xml file must be extended with a new profile entry like this
<profile>
<id>platform-2019-06</id>
<activation>
<property>
<name>platform-version-name</name>
<value>2019-06</value>
</property>
</activation>
<properties>
<eclipse-site>http://download.eclipse.org/releases/2019-06</eclipse-site>
<platform-version>[4.8,5.2)</platform-version>
<platform-version-name>2019-06</platform-version-name>
<eclipse.orbit.url>https://download.eclipse.org/tools/orbit/S-builds/S20200128200239/repository</eclipse.orbit.url>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-surefire-plugin</artifactId>
<version>${tycho-version}</version>
<configuration>
<useUIThread>false</useUIThread>
</configuration>
</plugin>
</plugins>
</build>
</profile>
In addition the graphiti repo need to updated
<repository>
<id>eclipse-graphiti</id>
<url>http://download.eclipse.org/graphiti/updates/milestones/S-0.17.0M3-202005151449/</url>
<layout>p2</layout>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
The profilename must match the official platform name form Eclipse. you can find infos here
- https://download.eclipse.org/releases/2019-06/
- https://download.eclipse.org/tools/orbit/S-builds/
- https://download.eclipse.org/graphiti/updates/milestones/
The official build process is called Simultaneous Release.
You will find the release plans for simrel here: https://wiki.eclipse.org/Category:SimRel-2020-09
The Goal is to test if a new Version of a Plugin works within a Simultaneous Release. For that you can checkout the simrel build project, update your product file and test if an aggregated Build is successful or not. Than you can commit your Changes in the simrel-build project.
git clone git.eclipse.org:29418/simrel/org.eclipse.simrel.build
The file 'soa-bpmn2-modeler.aggrcon' holds the Eclipse BPMN2 build configuration. Make sure that you update the version numbers and the repository url. The looks like this:
And finally you should commit your changes via Gerrit.
<?xml version="1.0" encoding="ASCII"?>
<aggregator:Contribution xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/cbi/p2repo/2011/aggregator/1.1.0" label="SOA-BPMN2 Modeler">
<repositories location="https://download.eclipse.org/bpmn2-modeler/updates/2020-06/1.5.2">
<features name="org.eclipse.bpmn2.modeler.feature.group" versionRange="1.5.2">
<categories href="simrel.aggr#//@customCategories[identifier='SOA%20Development']"/>
</features>
<features name="org.eclipse.bpmn2.modeler.runtime.jboss.feature.group" versionRange="1.5.2">
<categories href="simrel.aggr#//@customCategories[identifier='SOA%20Development']"/>
</features>
<features name="org.eclipse.bpmn2.modeler.examples.feature.group" versionRange="1.5.2">
<categories href="simrel.aggr#//@customCategories[identifier='SOA%20Development']"/>
</features>
</repositories>
<contacts href="simrel.aggr#//@contacts[email='pleacu@redhat.com']"/>
</aggregator:Contribution>
To avoid build conflicts it makes sens to produce milestone releases (M1, M2, M3, RC1...) first and only if all is fine to GA update a last '-final' release. You need to tweek then soa-bpmn2-modeler.aggrcon file for every milestone.
The simrel process has the following steps:
- Build a new nightly release
- Checkout the simrel Build Project form :git.eclipse.org:29418/simrel/org.eclipse.simrel.build
- Update your project aggregation file (soa-bpmn2-modeler.aggrcon) with the latest Version Numbers and the new Repository URL from your nightly build.
- Install and start a new blank Eclipse IDE
- Install the 'Aggregation Editor' Plugin from this Update site: http://download.eclipse.org/cbi/updates/aggregator/ide/4.13
- Open the simrel.aggr file from the build directory
- Select from the context menu "Aggregator Editor > Build Aggregation" - this will build a new IDE
- Select from the context menu "Aggregator Editor > Validate Aggregation" after you build the aggregation. 9. Commit your changes in the soa-bpmn2-modeler.aggrcon to the org.eclipse.simrel.build project
Note: For step 5 I was unable to get to work with the latest Eclipse. I used eclipse photon and version 4.8 of Aggregation Editor. That should work.
You should install a new empty eclipse ide for the test. It is recommended to use a Photon. Newer IDEs did not work currently with the Aggregator Editor Plugin.
You can find special releases and pre releases for eclipse here:
https://download.eclipse.org/eclipse/downloads/index.html
Next you need to intstall the Aggregator Editor plugin. Updatesite:
http://download.eclipse.org/cbi/updates/aggregator/ide/4.13
Now you can open directyl (not in a project) the file 'simrel.aggr' out of your local git repo
From the context menu you can run the verify and build
If the build and validation was successful you will see the following log message in the eclipse log file:
...
....
Adding child meta-data repository https://download.eclipse.org/bpmn2-modeler/updates/2020-06/1.5.2
...
....
Starting generation of verification feature for validationSet: main
Done. Took 3 seconds
Starting planner verification for validationSet: main
Verifying config linux,gtk,ppc64le...
Verifying config linux,gtk,x86_64...
Verifying config macosx,cocoa,x86_64...
Verifying config win32,win32,x86_64...
Verification successful
Done. Took 8 minutes 21 seconds
Starting generation of composite repository
Adding child meta-data repository http://download.eclipse.org/modeling/emf/emf/builds/milestone/S202005191146
Adding child meta-data repository https://download.eclipse.org/rt/rap/3.13/M3-20200527-0818
Done. Took 1 second
Starting generation of verification feature for validationSet: runtime
Done. Took 0 seconds
Starting planner verification for validationSet: runtime
Verifying config linux,gtk,ppc64le...
Verifying config linux,gtk,x86_64...
Verifying config macosx,cocoa,x86_64...
Verifying config win32,win32,x86_64...
Verification successful
Done. Took 0 seconds
Now if everything went fine, you can commit your simrel changes via Gerrit.
First, read the section about Contributing to the Simrel Aggregation Build
Than you can commit your changes via gerrit. A commit message should look like this:
Micro-version Update BPMN2 Modeler tooling (1.5.2) for 2020-06.
Change-Id: I000000000000000000000000000000000000
Signed-off-by: Ralph Soika <ralph.soika@imixs.com>
The commit will give you a gerrit ulr where you can observe the verification process. To see all open Eclipse SIMREL Gerrit change requests (PRs) open: https://git.eclipse.org/r/#/q/status:open+project:simrel/org.eclipse.simrel.build+branch:master
Your commit should be verified +1 by a CI Jenkins job automatically.
The last step is to +2 but which should be done by a simrel committer.
You can monitor the jenkins job for the Simrel: https://ci.eclipse.org/simrel/job/simrel.runaggregator.VALIDATE.gerrit/
If everything works, a nightly build process will be issued build a new Eclipse ID. You can download the new build from here: https://download.eclipse.org/eclipse/downloads/index.html
You should test if the Eclipse ID with your BPMN2 Plugin is fine.
An IP Log is a record of intellectual property for an entire project. The purpose of the IP Log review is to confirm that the project team understands the Eclipse IP Policy and is implementing the supporting processes. An IP Log is not intended to reflect the intellectual property included with any particular release. Find details here.
A new IP Log can be generated be the PMI tools. See here.
Find additional refs here:
- https://dev.eclipse.org/ipzilla/attachment.cgi?id=16254&action=edit
- https://dev.eclipse.org/ipzilla/show_bug.cgi?id=15188 - CQ for BPMN2 Modeler (Contribution Questionaire)
- https://dev.eclipse.org/ipzilla/show_bug.cgi?id=15190 - CQ for BPMN2 MDT
- https://dev.eclipse.org/ipzilla/show_bug.cgi?id=15189 - CQ for BPEL