The project is hosted on GitHub:
To clone it, be sure the submodules are also cloned:
git clone --recurse-submodule https://github.com/eclipse-embed-cdt/eclips
e-plugins \
eclipse-plugins.git
Production builds are run via Jenkins on the Eclipse Foundation infrastructure (CBI); for local builds, use the Adopt OpenJDK 11 and maven 3.6.
The plug-ins are published on the Eclipse download servers both as update sites and as archives.
Development builds are published as p2 sub-folders like:
- https://download.eclipse.org/embed-cdt/builds/develop/p2/
- https://download.eclipse.org/embed-cdt/builds/master/p2/
When the content is stable, it is promoted as a pre-release and published as:
The final release is published in the main update site:
For archiving purposes, the release is also published in a separate folder for each version, with the archive in the top folder and the p2 repo as a sub-folder
- https://download.eclipse.org/embed-cdt/releases/6.1.0/org.eclipse.embedcdt.repository-6.1.0-202012080907.zip
- https://download.eclipse.org/embed-cdt/releases/6.1.0/p2/
Packages are published at:
- https://download.eclipse.org/embed-cdt/packages/
- https://download.eclipse.org/embed-cdt/packages-test/
The official download page is
Use the CBI Aggregator installed from:
At first use, clone the SimRel Git repo:
git clone "ssh://[email protected]:29418/simrel/org.eclipse.simrel.build"
scp -p -P 29418 [email protected]:hooks/commit-msg "org.eclipse.simrel.build/.git/hooks/"
The deadline for SimRel changes is Wed 5pm Ottawa time.
At first use, clone the EPP Git repo:
git clone "ssh://[email protected]:29418/epp/org.eclipse.epp.packages.git"
scp -p -P 29418 [email protected]:hooks/commit-msg "epp/org.eclipse.epp.packages.git/.git/hooks/"
The deadline for EPP changes is Thu 9am Ottawa time.
If not already done, create a new milestone.
- in the plug-ins issues page, click the Milestones button and add a new milestone. As title, use the current version, like v6.1.0.
Normally all changes should be done as a result of a ticket registered as a GitHub Issue.
- be sure the
develop
branch is selected - scan the
plug-ins issues
list, and fix them. The commit message should be prefixed with the issue
number, like
[#122]
; - mark all fixed issues as part of the new milestone;
- add a message like fixed on 2020-01-10;
- close the issues
After fixing issues, run the maven build locally:
$ mvn clean verify
Start a Debug/Run session and try the result in a child Eclipse.
Be sure the repo is clean and push the develop
branch to GitHub.
This will also trigger a GitHub Actions CI job that will run a maven build.
- go to https://ci.eclipse.org/embed-cdt/job/build-plug-ins/
- login (otherwise the next link is not visible!)
- click the Scan Multibranch Pipeline Now link
- when ready, the p2 repository is published at https://download.eclipse.org/embed-cdt/builds/develop/p2/
Test if the new build can be used as an update site, by installing it on a separate Eclipse (not the one used for development); use the URL:
When ready, merge the develop
branch into master
, and push them to GitHub.
Wait for the GitHub Actions CI job to confirm that the build passed.
- go to https://ci.eclipse.org/embed-cdt/job/build-plug-ins/
- login (otherwise the next link will not be visible!)
- click the Scan Multibranch Pipeline Now link
- when ready, the p2 repository is published at https://download.eclipse.org/embed-cdt/builds/master/p2/
- go to https://ci.eclipse.org/embed-cdt/
- login (otherwise the next link is not visible!)
- use the make-release-candidate-from-master
Jenkins job to copy the files from
builds/master
toupdates/v6-test/
andrelease-candidates/<version>-<date>
, which is the public location for the release candidates until the final release is out - click the Build Now link
This applies only for the first release candidate, or for the final release.
In the official iot.embed-cdt page, click the Create a new release link in the right side bar.
Name it like 6.1.0
(no v).
Click on Edit, The Basics; switch to Source mode
Start with Release candidate (Header 3).
<p>Version <strong>6.1.0</strong> is a major/new/maintenance release; if fixes XXX.</p>
<h3>Release candidate</h3>
<p>For those who want to beta test, the release candidate is available via <strong>Install New Software</strong> from:</p>
<ul>
<li>https://download.eclipse.org/embed-cdt/updates/v6-test/</li>
</ul>
<h3>Changes</h3>
<p>The bug fixes are:</p>
<ul>
<li>none</li>
</ul>
<p>The enhancements are:</p>
<ul>
<li>none</li>
</ul>
<p>The developer changes are:</p>
<ul>
<li>none</li>
</ul>
<p>More details at GitHub:</p>
<ul>
<li><a href="https://github.com/eclipse-embed-cdt/eclipse-plugins/milestone/19">https://github.com/eclipse-embed-cdt/eclipse-plugins/milestone/19</a></li>
</ul>
<h3>Release content</h3>
<p>The following features and plugins are included in this release:</p>
<pre>
features:
org.eclipse.embedcdt.codered.feature_2.0.0.202012080907.jar
...
org.eclipse.embedcdt.templates.stm.feature.source_2.7.2.202012080907.jar
plugins:
org.eclipse.embedcdt.codered_2.0.0.202012080907.jar
...
org.eclipse.embedcdt.templates.stm.source_2.7.2.202012080907.jar
</pre>
To get the list of changes, scan the Git log:
$ git log --pretty='%cd * %h - %s' --date=short
To get the release content, check the Jenkins output after the command
ls -L features plugins
.
Select the Release Type (major, minor, service).
Install the plug-ins on several platforms.
If everything is fine, update SimRel.
With Sourcetree:
- open
org.eclipse.simrel.build.git
- pull new commits
Go to the release candidate folder
In Eclipse:
- import existing project
org.eclipse.simrel.build
- open
simrel.aggr
- expand the 'Contribution: Embedded CDT'
- select Mapped Repository
- right click: Show Properties View
- in the right side, edit the Location field to the new release
candidate p2 URL (like
https://download.eclipse.org/embed-cdt/release-candidates/6.1.0-202012080907/p2/
and press Enter - select all the features in the contribution, right-click and choose Fix Versions
- select the Contribution and Validate
- select the Aggregation and Validate
- Save
git commit -m 'embedcdt: update for 6.1.0-202012080907'
git push ssh://[email protected]:29418/simrel/org.eclipse.simrel.build HEAD:refs/for/master
In Gerrit, click CODE_REVIEW+2 and then SUBMIT to merge the changes.
The commit will trigger the SimRel Jenkins aggregator pipeline:
In about one hour it'll automatically rebuild the staging repo:
Announce the release candidate to the [email protected] list; use a subject like Embed CDT v6.1.0-202012080907 release candidate, and pass a link to the release page.
Beta testers can install the release candidate from:
Go to the release candidate folder
Copy the tag and enter it in Git, like v6.1.0-202011301954
(with v
).
When the plug-ins are considered stable:
- go to https://ci.eclipse.org/embed-cdt/
- login (otherwise the next link is not visible!)
- use the
make-release-from-master
Jenkins job to copy from
builds/master
toupdates/v6/
andreleases/<version>
- click the Build with Parameters link
- enter yes
- click the Build link
The releases
folder includes both the release archives and the expanded
p2 repository.
The updates/v6/
includes only the expanded p2 repository, for the archives
see the releases
folder.
Both can be used in Eclipse to Install New Software.
The public update URLs are:
- https://download.eclipse.org/embed-cdt/updates/v6/
- https://download.eclipse.org/embed-cdt/releases/6.1.0/p2/
- go to Eclipse Marketplace
- log in
- click Edit
- update version number, minimum Eclipse versions
- click the bottom page Save.
- go to iot.embed-cdt and select the new release
- click Edit -> The Basics
- switch to Source mode
- replace the Release candidate section with the above:
<h3>Eclipse Marketplace</h3>
<p>The recommended way to update to the latest plug-ins is via the <strong>Eclipse Marketplace</strong>; search for <em>Embedded CDT</em>.</p>
<h3>Eclipse Update Sites</h3>
<p>For those who prefer to do it manually, the latest version is available via <strong>Install New Software</strong> from:</p>
<ul>
<li><a href="https://download.eclipse.org/embed-cdt/updates/v6/">https://download.eclipse.org/embed-cdt/updates/v6/</a></li>
</ul>
<p>To get exactly this version, <strong>Install New Software</strong> from:</p>
<ul>
<li><a href="https://download.eclipse.org/embed-cdt/releases/6.1.0/p2/">https://download.eclipse.org/embed-cdt/releases/6.1.0/p2/</a></li>
</ul>
<h3>Local install</h3>
<p>For manual installs, the plug-ins are also available as regular archives, that can be downloaded locally and installed.</p>
<ul>
<li><a href="https://www.eclipse.org/downloads/download.php?file=/embed-cdt/releases/6.1.0/org.eclipse.embedcdt.repository-6.1.0-202012080907.zip">org.eclipse.embedcdt.repository-6.1.0-202012080907.zip</a> <a href="https://www.eclipse.org/downloads/download.php?file=/embed-cdt/releases/6.1.0/org.eclipse.embedcdt.repository-6.1.0-202012080907.zip.sha">(SHA)</a></li>
</ul>
As links for the latest two, open https://download.eclipse.org/embed-cdt/releases/ and get something like:
- https://download.eclipse.org/embed-cdt/releases/6.1.0/org.eclipse.embedcdt.repository-6.1.0-202012080907.zip
- https://download.eclipse.org/embed-cdt/releases/6.1.0/org.eclipse.embedcdt.repository-6.1.0-202012080907.zip.sha
Update the URLs to use the download redirect:
- https://www.eclipse.org/downloads/download.php?file=/embed-cdt/releases/6.1.0/org.eclipse.embedcdt.repository-6.1.0-202012080907.zip
- https://www.eclipse.org/downloads/download.php?file=/embed-cdt/releases/6.1.0/org.eclipse.embedcdt.repository-6.1.0-202012080907.zip.sha
Remove the Pre-release top header.
- go to iot.embed-cdt and select the new release
- click Edit -> The Basics
- switch to Source mode
Use copy/paste/edit.
Pull new commits.
In Eclipse:
- import existing project
org.eclipse.simrel.build
- open
simrel.aggr
- expand the 'Contribution: Embedded CDT'
- select Mapped Repository
- right click: Show Properties View
- in the right side, edit the Location field to the new release p2 URL
(like
https://download.eclipse.org/embed-cdt/releases/6.1.0/p2/
and press Enter - select all the features in the contribution, right-click and choose Fix Versions
- select the Contribution and Validate
- select the Aggregation and Validate
git commit -m 'embedcdt: update for 6.1.0'
git push ssh://[email protected]:29418/simrel/org.eclipse.simrel.build HEAD:refs/for/master
In Gerrit, click CODE_REVIEW+2 and then SUBMIT to merge the changes.
The commit will trigger the SimRel Jenkins aggregator pipeline:
In about one hour it'll automatically rebuild the staging repo:
If the list of features changed, it is necessary to update the EPP project.
Pull new commits.
- edit
org.eclipse.epp.package.embedcpp.product/epp.product
- update the list of features
To change the default preferences, edit the
org.eclipse.epp.package.embedcpp/plugin_customization.ini
If necessary, update the text displayed in the Downloads page, it is in
org.eclipse.epp.package.embedcpp.feature/epp.website.xml
file, the
<description>
element.
Update the version in NewAndNoteworthy, in the same file.
Compare the three packages with the similar ones from CPP:
cd org.eclipse.epp.packages.git
diff packages/org.eclipse.epp.package.cpp packages/org.eclipse.epp.package.embedcpp
diff packages/org.eclipse.epp.package.cpp.feature packages/org.eclipse.epp.package.embedcpp.feature
diff packages/org.eclipse.epp.package.cpp.product packages/org.eclipse.epp.package.embedcpp.product
Commit and push to Gerrit:
git commit -m 'embedcpp ...'
git push ssh://[email protected]:29418/epp/org.eclipse.epp.packages.git HEAD:refs/for/master
In Gerrit, click CODE_REVIEW+2 and then SUBMIT to merge the changes.
The commit will trigger the EPP Jenkins job:
In 1.5 hours the new test versions of the integrated epp builds are available from:
Add a tag like v6.1.0
(with v
).
Announce the release to the [email protected] list; use a subject like Embed CDT v6.1.0 released, and pass a link to the release page.
Beta testers can install the pre-release from:
- in a separate browser windows, open TweetDeck
- using the
@embedCDT
account, enter a message like Embed CDT v6.1.0 released and on the next line paste the link to the release - click the Tweet button