Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,4 @@ workspace/
build.log
.tycho-consumer-pom.xml
/.settings/
sanity-check/
10 changes: 5 additions & 5 deletions RELEASING.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
This guide contains the step-by-step process to complete an EPP release and assumes that you have an IDE provisioned using the [Oomph setup](
https://github.com/eclipse-packaging/packages/blob/master/CONTRIBUTING.md#create-an-eclipse-development-environment).

**Before** copying this file to create a new issue titled `EPP 2026-03 M2` with label `endgame`, update the names and versions, including those in this document.
**Before** copying this file to create a new issue titled `EPP 2026-03 M3` with label `endgame`, update the names and versions, including those in this document.
- [ ] To update names and versions, edit [org.eclipse.epp.releng.updater.Updater](
releng/org.eclipse.epp.config/org.eclipse.epp.releng.updater/src/org/eclipse/epp/releng/updater/Updater.java
) to set the values of `MILESTONE`, `PLATFORM_VERSION`, and possibly `EXECUTION_ENVIRONMENT` to the current appropriate values.
Expand Down Expand Up @@ -111,9 +111,9 @@ Scroll down for the per-milestone/RC steps.
TODO: it may be possible to work around this error by always using a different random ID when doing the notarization.
- [ ] Sanity check the build for the following:
- [ ] Download a package from the build's [staging output](https://download.eclipse.org/technology/epp/staging/).
- [ ] Make sure filenames contain expected build name and milestone, e.g., `2026-03-M2`.
- [ ] Make sure filenames contain expected build name and milestone, e.g., `2026-03-M3`.
- [ ] Splash screen says the expected release name with no milestone, e.g., `2026-03`.
- [ ] `Help -> About` says the expected build name and milestone, e.g., `2026-03-M2`.
- [ ] `Help -> About` says the expected build name and milestone, e.g., `2026-03-M3`.
- [ ] From the `Console`, open the `Host OSGi console` and use `ss -s INSTALLED` to verify that there are no bundles failing to resolve.
- [ ] The `org.eclipse.epp.package.*` features and bundles have the timestamp of the forced qualifier update or later.
- [ ] Upgrade from previous release works.
Expand All @@ -130,7 +130,7 @@ Scroll down for the per-milestone/RC steps.
(especially justj, update [remove-justj-from-p2.xml](https://github.com/eclipse-packaging/packages/blob/master/releng/org.eclipse.epp.config/tools/remove-justj-from-p2.xml) if needed).
- [ ] Edit the [Jenkins build](https://ci.eclipse.org/packaging/job/epp/job/master/lastBuild/).
- [ ] Mark build as Keep forever.
- [ ] Edit Jenkins Build Information and name it, e.g., `2026-03 M2`.
- [ ] Edit Jenkins Build Information and name it, e.g., `2026-03 M3`.
- [ ] Run the [Promote a Build](
https://ci.eclipse.org/packaging/job/promote-a-build/
) CI job to prepare build artifacts and copy them to download.eclipse.org.
Expand Down Expand Up @@ -160,7 +160,7 @@ This applies to all releases, i.e. M1, M2, M3, RC1 and R.
Everything except R is typically the Friday around 9:30am Ottawa time and the R is the following Wednesday sometime before 10am in coordination with the SimRel release engineer.

- [ ] Check that this worked:
copy the composite\*M2.jar files over the composite\*.jar files in https://download.eclipse.org/technology/epp/packages/2026-03/ -
copy the composite\*M3.jar files over the composite\*.jar files in https://download.eclipse.org/technology/epp/packages/2026-03/ -
this is done automatically with the
[EPP Make Visible job](https://ci.eclipse.org/packaging/job/epp-makeVisible/)
which is automatically triggered by SimRel's
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,6 @@ Click <a href="https://github.com/eclipse-egit/egit/issues">here</a> to open a b
</MoreInfo>

<!-- name, the name of the product, used in naming the created files. -->
<product name="eclipse-committers-2026-03-M2" />
<product name="eclipse-committers-2026-03-M3" />

</configuration>
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,6 @@
</packageMetaData>

<!-- name, the name of the product, used in naming the created files. -->
<product name="eclipse-cpp-2026-03-M2" />
<product name="eclipse-cpp-2026-03-M3" />

</configuration>
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,6 @@
</MoreInfo>

<!-- name, the name of the product, used in naming the created files. -->
<product name="eclipse-dsl-2026-03-M2" />
<product name="eclipse-dsl-2026-03-M3" />

</configuration>
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,6 @@ To avoid compatibility issues with pre 6.x plug-ins, it is recommended to <b>cre
</packageMetaData>

<!-- name, the name of the product, used in naming the created files. -->
<product name="eclipse-embedcpp-2026-03-M2" />
<product name="eclipse-embedcpp-2026-03-M3" />

</configuration>
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,6 @@


<!-- name, the name of the product, used in naming the created files. -->
<product name="eclipse-java-2026-03-M2" />
<product name="eclipse-java-2026-03-M3" />

</configuration>
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,6 @@ Click <a href="https://github.com/eclipse-wildwebdeveloper/wildwebdeveloper/issu
</MoreInfo>

<!-- name, the name of the product, used in naming the created files. -->
<product name="eclipse-jee-2026-03-M2" />
<product name="eclipse-jee-2026-03-M3" />

</configuration>
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,6 @@
</packageMetaData>

<!-- name, the name of the product, used in naming the created files. -->
<product name="eclipse-modeling-2026-03-M2" />
<product name="eclipse-modeling-2026-03-M3" />

</configuration>
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,6 @@ Click <a href="https://github.com/eclipse-wildwebdeveloper/wildwebdeveloper/issu
</MoreInfo>

<!-- name, the name of the product, used in naming the created files. -->
<product name="eclipse-php-2026-03-M2" />
<product name="eclipse-php-2026-03-M3" />

</configuration>
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,6 @@
</MoreInfo>

<!-- name, the name of the product, used in naming the created files. -->
<product name="eclipse-rcp-2026-03-M2" />
<product name="eclipse-rcp-2026-03-M3" />

</configuration>
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,6 @@
</MoreInfo>

<!-- name, the name of the product, used in naming the created files. -->
<product name="eclipse-scout-2026-03-M2" />
<product name="eclipse-scout-2026-03-M3" />

</configuration>
50 changes: 50 additions & 0 deletions releng/org.eclipse.epp.config/oomph/EPP.setup
Original file line number Diff line number Diff line change
Expand Up @@ -449,6 +449,26 @@

</content>
</setupTask>
<setupTask
xsi:type="setup:ResourceCreationTask"
targetURL="${workspace.location|uri}/.metadata/.plugins/org.eclipse.debug.core/.launches/Prepare%20Staging%20Sanity%20Check.launch">
<content>
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?>
&lt;launchConfiguration type=&quot;org.eclipse.ui.externaltools.ProgramLaunchConfigurationType&quot;>
&lt;booleanAttribute key=&quot;org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING&quot; value=&quot;false&quot;/>
&lt;mapAttribute key=&quot;org.eclipse.debug.core.environmentVariables&quot;>
&lt;mapEntry key=&quot;PATH&quot; value=&quot;C:\Program Files\Git\bin;$${env_var:PATH}&quot;/>
&lt;/mapAttribute>
&lt;listAttribute key=&quot;org.eclipse.debug.ui.favoriteGroups&quot;>
&lt;listEntry value=&quot;org.eclipse.ui.externaltools.launchGroup&quot;/>
&lt;/listAttribute>
&lt;stringAttribute key=&quot;org.eclipse.ui.externaltools.ATTR_LOCATION&quot; value=&quot;C:\Program Files\Git\bin\bash.exe&quot;/>
&lt;stringAttribute key=&quot;org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS&quot; value=&quot;-c &amp;quot;releng/org.eclipse.epp.config/tools/prepareStagingSanityCheck \&amp;#13;&amp;#10; modeling \&amp;#13;&amp;#10;committers \&amp;#13;&amp;#10;$${system_property:osgi.os} \&amp;#13;&amp;#10;$${system_property:osgi.ws} \&amp;#13;&amp;#10;$${system_property:osgi.arch} \&amp;#13;&amp;#10;&amp;quot;&quot;/>
&lt;stringAttribute key=&quot;org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY&quot; value=&quot;$${workspace_loc:/org.eclipse.epp.packages}&quot;/>
&lt;/launchConfiguration>

</content>
</setupTask>
<setupTask
xsi:type="setup:ResourceCreationTask"
targetURL="${workspace.location|uri}/.metadata/.plugins/org.eclipse.debug.core/.launches/Update%20Versions.launch">
Expand Down Expand Up @@ -529,6 +549,34 @@

</content>
</setupTask>
<setupTask
xsi:type="setup:ResourceCreationTask"
targetURL="${workspace.location|uri}/.metadata/.plugins/org.eclipse.debug.core/.launches/Send%20EMail.launch">
<content>
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?>
&lt;launchConfiguration type=&quot;org.eclipse.jdt.launching.localJavaApplication&quot;>
&lt;booleanAttribute key=&quot;org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING&quot; value=&quot;false&quot;/>
&lt;listAttribute key=&quot;org.eclipse.debug.core.MAPPED_RESOURCE_PATHS&quot;>
&lt;listEntry value=&quot;/org.eclipse.epp.releng.updater/src/org/eclipse/epp/releng/updater/Updater.java&quot;/>
&lt;/listAttribute>
&lt;listAttribute key=&quot;org.eclipse.debug.core.MAPPED_RESOURCE_TYPES&quot;>
&lt;listEntry value=&quot;1&quot;/>
&lt;/listAttribute>
&lt;listAttribute key=&quot;org.eclipse.debug.ui.favoriteGroups&quot;>
&lt;listEntry value=&quot;org.eclipse.debug.ui.launchGroup.run&quot;/>
&lt;/listAttribute>
&lt;booleanAttribute key=&quot;org.eclipse.jdt.launching.ATTR_ATTR_USE_ARGFILE&quot; value=&quot;false&quot;/>
&lt;booleanAttribute key=&quot;org.eclipse.jdt.launching.ATTR_EXCLUDE_TEST_CODE&quot; value=&quot;true&quot;/>
&lt;booleanAttribute key=&quot;org.eclipse.jdt.launching.ATTR_SHOW_CODEDETAILS_IN_EXCEPTION_MESSAGES&quot; value=&quot;true&quot;/>
&lt;booleanAttribute key=&quot;org.eclipse.jdt.launching.ATTR_USE_CLASSPATH_ONLY_JAR&quot; value=&quot;false&quot;/>
&lt;stringAttribute key=&quot;org.eclipse.jdt.launching.MAIN_TYPE&quot; value=&quot;org.eclipse.epp.releng.updater.Updater&quot;/>
&lt;stringAttribute key=&quot;org.eclipse.jdt.launching.MODULE_NAME&quot; value=&quot;org.eclipse.epp.releng.updater&quot;/>
&lt;stringAttribute key=&quot;org.eclipse.jdt.launching.PROGRAM_ARGUMENTS&quot; value=&quot;-send-email&quot;/>
&lt;stringAttribute key=&quot;org.eclipse.jdt.launching.PROJECT_ATTR&quot; value=&quot;org.eclipse.epp.releng.updater&quot;/>
&lt;/launchConfiguration>

</content>
</setupTask>
<setupTask
xsi:type="setup:ResourceCreationTask"
targetURL="${workspace.location|uri}/.metadata/.plugins/org.eclipse.debug.core/.launches/Update%20to%20Staging%20Repository.launch">
Expand Down Expand Up @@ -696,12 +744,14 @@
&lt;launch memento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#10;&amp;lt;launchConfiguration local=&amp;quot;true&amp;quot; path=&amp;quot;Update Versions&amp;quot;/&amp;gt;&amp;#10;&quot;/>
&lt;launch memento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#10;&amp;lt;launchConfiguration local=&amp;quot;true&amp;quot; path=&amp;quot;Update to Milestone Repository&amp;quot;/&amp;gt;&amp;#10;&quot;/>
&lt;launch memento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#10;&amp;lt;launchConfiguration local=&amp;quot;true&amp;quot; path=&amp;quot;Update to Staging Repository&amp;quot;/&amp;gt;&amp;#10;&quot;/>
&lt;launch memento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#10;&amp;lt;launchConfiguration local=&amp;quot;true&amp;quot; path=&amp;quot;Send EMail&amp;quot;/&amp;gt;&amp;#10;&quot;/>
&lt;/mruHistory>
&lt;favorites>
&lt;launch memento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#10;&amp;lt;launchConfiguration local=&amp;quot;true&amp;quot; path=&amp;quot;Open Issue&amp;quot;/&amp;gt;&amp;#10;&quot;/>
&lt;launch memento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#10;&amp;lt;launchConfiguration local=&amp;quot;true&amp;quot; path=&amp;quot;Update Versions&amp;quot;/&amp;gt;&amp;#10;&quot;/>
&lt;launch memento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#10;&amp;lt;launchConfiguration local=&amp;quot;true&amp;quot; path=&amp;quot;Update to Milestone Repository&amp;quot;/&amp;gt;&amp;#10;&quot;/>
&lt;launch memento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#10;&amp;lt;launchConfiguration local=&amp;quot;true&amp;quot; path=&amp;quot;Update to Staging Repository&amp;quot;/&amp;gt;&amp;#10;&quot;/>
&lt;launch memento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#10;&amp;lt;launchConfiguration local=&amp;quot;true&amp;quot; path=&amp;quot;Send EMail&amp;quot;/&amp;gt;&amp;#10;&quot;/>
&lt;/favorites>
&lt;/launchGroup>
&lt;launchGroup id=&quot;org.eclipse.ui.externaltools.launchGroup&quot;>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
import java.net.URLEncoder;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.http.HttpResponse.BodyHandlers;
import java.nio.charset.StandardCharsets;
import java.nio.file.FileVisitResult;
Expand All @@ -40,7 +39,7 @@ public class Updater {
/**
* M1, M2, M3, RC1, RC2
*/
private static final String MILESTONE = "M2";
private static final String MILESTONE = "M3";

private static final String PLATFORM_VERSION = "4.39";

Expand Down Expand Up @@ -74,14 +73,16 @@ public class Updater {
private Path root;

public static void main(String[] args) throws IOException {
List<String> arguments = List.of(args);
var arguments = List.of(args);
var currentWorkingDirectory = Path.of(".").toRealPath();
if (!currentWorkingDirectory.toString().replace("\\", "/")
.endsWith("releng/org.eclipse.epp.config/org.eclipse.epp.releng.updater")) {
throw new RuntimeException("Expecting to run this from the org.eclipse.epp.releng.updater project");
}
var root = currentWorkingDirectory.resolve("../../..").toRealPath();
if (arguments.contains("-to-milestone-repository")) {
if (arguments.contains("-send-email")) {
new Updater(root).sendEmail();
} else if (arguments.contains("-to-milestone-repository")) {
new Updater(root).toMilestoneRepository();
} else if (arguments.contains("-to-staging-repository")) {
new Updater(root).toStagingRepository();
Expand Down Expand Up @@ -320,6 +321,14 @@ public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) th
saveModifiedContents();
}

private void sendEmail() throws IOException {
var text = getContents("https://download.eclipse.org/technology/epp/downloads/release/" + SIMREL_VERSION + "/"
+ MILESTONE + "/_email.txt");
text = text.replace("https://github.com/eclipse-packaging/packages/labels/endgame", getEndgameIssue());
openURL("mailto:simrel-dev@eclipse.org?subject=" + encode("EPP " + SIMREL_VERSION + " " + MILESTONE) + "&body="
+ encode(text));
}

private void toMilestoneRepository() throws IOException {
var parentPOM = root.resolve("releng/org.eclipse.epp.config/parent/pom.xml");
var releaseFolderContent = getContents("https://download.eclipse.org/justj/?file=releases/" + SIMREL_VERSION);
Expand Down Expand Up @@ -352,7 +361,7 @@ private void toMilestoneRepository() throws IOException {

private void toStagingRepository() throws IOException {
var parentPOM = root.resolve("releng/org.eclipse.epp.config/parent/pom.xml");
String stagingRepository = "https://download.eclipse.org/staging/" + SIMREL_VERSION + "/";
var stagingRepository = "https://download.eclipse.org/staging/" + SIMREL_VERSION + "/";
apply(parentPOM, "<SIMREL_REPO>([^<]+)</SIMREL_REPO>", stagingRepository);
saveModifiedContents();

Expand All @@ -377,13 +386,13 @@ private String getEndgameIssue() throws IOException {
return issueMatcher.group(1);
}

private String getContents(String urix) throws IOException {
private String getContents(String location) throws IOException {
try {
var uri = URI.create(urix);
var uri = URI.create(location);
var httpClient = HttpClient.newBuilder().followRedirects(HttpClient.Redirect.NORMAL).build();
var requestBuilder = HttpRequest.newBuilder(uri).GET();
var request = requestBuilder.build();
HttpResponse<String> response = httpClient.send(request, BodyHandlers.ofString());
var response = httpClient.send(request, BodyHandlers.ofString());
var statusCode = response.statusCode();
if (statusCode != 200) {
throw new IOException("status code " + statusCode + " -> " + uri);
Expand All @@ -401,7 +410,7 @@ private void saveModifiedContents() throws IOException {
}

private static String encode(String value) {
return URLEncoder.encode(value, StandardCharsets.UTF_8);
return URLEncoder.encode(value, StandardCharsets.UTF_8).replace("+", "%20");
}

private static void openURL(String uri) throws IOException {
Expand Down
6 changes: 3 additions & 3 deletions releng/org.eclipse.epp.config/parent/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -35,13 +35,13 @@
<PREV_RELEASE_NAME>2025-12</PREV_RELEASE_NAME>
<NEXT_RELEASE_NAME>2026-06</NEXT_RELEASE_NAME>
<!-- Name of the milestone -->
<RELEASE_MILESTONE>M2</RELEASE_MILESTONE>
<RELEASE_MILESTONE>M3</RELEASE_MILESTONE>
<!-- Version of the release -->
<RELEASE_VERSION>4.39.0</RELEASE_VERSION>
<!-- Name release directory on download.eclipse.org -->
<RELEASE_DIR>202601291000</RELEASE_DIR>
<RELEASE_DIR>202602191000</RELEASE_DIR>
<!-- SimRel Repo to build from -->
<SIMREL_REPO>https://download.eclipse.org/releases/2026-03/202601301000/</SIMREL_REPO>
<SIMREL_REPO>https://download.eclipse.org/staging/2026-03/</SIMREL_REPO>
<!-- ID used to generate the filename of the packages -->
<eclipse.simultaneous.release.id>${RELEASE_NAME}-${RELEASE_MILESTONE}</eclipse.simultaneous.release.id>
<!-- Timestamp used in various places, e.g. the about dialog (see about.mappings) -->
Expand Down
Loading
Loading