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/eclipse-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.3.0/org.eclipse.embedcdt.repository-6.3.0-202206121057.zip
- https://download.eclipse.org/embed-cdt/releases/6.3.0/p2/
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" "org.eclipse.simrel.build.git"
scp -p -P 29418 [email protected]:hooks/commit-msg "org.eclipse.simrel.build.git/.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.3.0.
Perform a search & replace to update the version.
Push the develop branch.
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 2022-01-10;
- close the issues
For the plug-ins that were modified, increase the specific version (like 1.2.3).
For all features, increase the common version (like 6.3.0); be sure the composite records are not updated at this moment, they require new lines, added later.
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
Go to the release candidate folder
Get the timestamp and update the README-MAINTENANCE.md file.
This applies only for the first release candidate, or for the final release.
In the official iot.embed-cdt page, login and click the Create a new release link in the right side bar, below Releases (it shows only after login).
Name it like 6.3.0
(no v).
Click on Edit, The Basics; switch to Source mode
Start with Release candidate (Header 3).
<p>Version <strong>6.3.0</strong> is a maintenance release; it ....</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>
Select the Release Type (major, minor, service).
Install the plug-ins on several platforms.
If everything is fine, update SimRel.
With a Git client:
- 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.3.0-202206121057/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
- commit embedcdt: update for 6.3.0-202206121057'
- Signed-off-by: Liviu Ionescu [email protected]
- Signed-off-by: Liviu Ionescu <[email protected]>
git push ssh://[email protected]:29418/simrel/org.eclipse.simrel.build HEAD:refs/for/master
This will trigger a Gerrit run.
Check the console output, for the Gerrit link. If missed, it'll be later sent by e-mail, when the run completes.
In Gerrit web page, if the check is successful and Verified+1 is shown, 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.3.0-202206121057 release candidate, and pass a link to the release page, available at:
Beta testers can install the release candidate from:
Go to the release candidate folder
Copy the tag and enter it in Git, like v6.3.0-202206121057
(with v
).
When the plug-ins are considered stable:
-
in
eclipse-plugins.git
, the master branch, edit both .xml filesrepositories/org.eclipse.embededcdt-repository/composite/compositeArtifacts.xml
repositories/org.eclipse.embededcdt-repository/composite/compositeContent.xml
- add new child like
<child location='../../releases/6.3.0/p2'/>
- update
p2.timestamp
to the value shown at the end of themake-release-candidate-from-master
-
push master with a message like add 6.3.0 to composite
-
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.3.0/p2/
- go to Eclipse Marketplace
- login
- click Edit
- update version number, minimum Eclipse versions
- click the Save item to list button (very important!)
- click the bottom page Save.
Edit the eclipse-embed-cdt/web-jekyll.git
project.
In the develop
branch, in _posts/release
, add a new release page.
As links for the latest two, open https://download.eclipse.org/embed-cdt/releases/ and get the archive URL, like:
Isolate the part starting with /embed-cdt/...
and update the URLs to use the download redirect:
- https://www.eclipse.org/downloads/download.php?file=/embed-cdt/releases/6.3.0/org.eclipse.embedcdt.repository-6.3.0-202206121057.zip
- https://www.eclipse.org/downloads/download.php?file=//embed-cdt/releases/6.3.0/org.eclipse.embedcdt.repository-6.3.0-202206121057.zip.sha
Update the milestone URL.
Copy/paste the features/plug-ins from the console output of the make-release-from-master Jenkins job.
- commit with a message like Eclipse Embedded CDT plug-ins v6.3.0 released.
- push the
develop
branch - wait for GitHub Actions job to complete (https://github.com/eclipse-embed-cdt/web-jekyll/actions)
- check the result at https://eclipse-embed-cdt.github.io/web-preview/
- when ok, merge
develop
intomaster
- push the
master
branch - wait for GitHub Actions job to complete
- check the result at https://eclipse-embed-cdt.github.io/
In GitHub releases add a new release
- tag: v6.3.0 (with
v
) - title Eclipse Embedded CDT plug-ins v6.3.0
- copy/paste from the release page
- add
[Continue reading »](https://eclipse-embed-cdt.github.io/blog/YYYY/MM/DD/plugins-v6.3.0-released/)
with a link to the web page - do not attach files
- click Publish release
- close the v6.3.0 milestone
- go to iot.embed-cdt and select the new release
- click Edit -> The Basics
- switch to Source mode
- replace the entire content with links to GitHub:
<p>Version <strong>6.3.0</strong> is a new major/minor/service release; it updates ...</p>
<p>Fore more details, please read the project web release pages:</p>
<ul>
<li><a href="https://eclipse-embed-cdt.github.io/blog/YYYY/MM/DD/package-2020-12-released/">Eclipse IDE for Embedded C/C++ Developers 2020-12 released</a> (for installing a new Eclipse)</li>
<li><a href="https://eclipse-embed-cdt.github.io/blog/YYYY/MM/DD/plugins-v6.3.0-released/">Eclipse Embedded CDT plug-ins v6.3.0 released</a> (for updating the plug-ins on an existing Eclipse)</li>
</ul>
For packages releases:
- go to iot.embed-cdt
- 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.3.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
- commit with a message like:
- embedcdt: update for 6.3.0
- Signed-off-by: Liviu Ionescu [email protected]
git push ssh://[email protected]:29418/simrel/org.eclipse.simrel.build HEAD:refs/for/master
This will trigger a Gerrit run.
Check the console output, for the Gerrit link. If missed, it'll be later sent by e-mail, when the run completes.
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
packages/org.eclipse.epp.package.embedcpp.product/epp.product
- update the list of features
To change the default preferences, edit the
packages/org.eclipse.epp.package.embedcpp/plugin_customization.ini
If necessary, update the text displayed in the Downloads page, it is in
packages/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:
Announce the release to the [email protected] list; use a subject like Eclipse Embedded CDT plug-ins v6.3.0 released, and pass a link to the release page.
- in a separate browser windows, open TweetDeck
- using the
@EmbedCDT
account, enter a message like Eclipse Embedded CDT plug-ins v6.3.0 released and on the next line paste the link to the release - click the Tweet button