From 5fb593cf00fa21bc342a173c58c8813fcf01e4d0 Mon Sep 17 00:00:00 2001 From: Ed Merks Date: Thu, 8 Jan 2026 08:41:53 +0100 Subject: [PATCH 1/3] Automate the task for switch `SIMREL_REPO` between milestone and staging - Provide support for -to-milestone-repository and -to-staging-repository in the Updater. - Provide launch configurations in the setup. - Updating RELEASING.md to describe this. --- RELEASING.md | 10 +- releng/org.eclipse.epp.config/oomph/EPP.setup | 60 +++++++++ .../eclipse/epp/releng/updater/Updater.java | 124 ++++++++++++++++-- 3 files changed, 177 insertions(+), 17 deletions(-) diff --git a/RELEASING.md b/RELEASING.md index f0627025..886f5d14 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -52,13 +52,13 @@ Scroll down for the per-milestone/RC steps. - [ ] Search for ` url=` (notice the blank before url) in `epp.website.xml` to see which ones are contained in the different packages. - [ ] Remember that some of the features will release new versions together with the new Eclipse release. Therefore using the _currently_ released version number may be wrong. - Instead look up the feature version [to be released with the release train](https://projects.eclipse.org/releases/). + Look at the news links in [2026-03 Participants](https://eclipse.dev/simrel/?file=wiki/SimRel/2026-03_participants.json). - [ ] Synchronize the following - Remember to check the branch; these links are to master, but around RC2 master may be set up for the next release already. - [ ] Synchronize any changes to [platform.product]( - https://github.com/eclipse-platform/eclipse.platform.releng.aggregator/blob/master/eclipse.platform.releng.tychoeclipsebuilder/eclipse.platform.repository/platform.product + https://github.com/eclipse-platform/eclipse.platform.releng.aggregator/blob/master/products/eclipse-platform/platform.product ) into all the `epp.product` files. - [ ] Synchronize any changes to [platform.p2.inf]( - https://github.com/eclipse-platform/eclipse.platform.releng.aggregator/blob/master/eclipse.platform.releng.tychoeclipsebuilder/eclipse.platform.repository/platform.p2.inf + https://github.com/eclipse-platform/eclipse.platform.releng.aggregator/blob/master/products/eclipse-platform/platform.p2.inf ) into all the `*.product/p2.inf` files. - [ ] Synchronize any changes to [platform's icons]( https://github.com/eclipse-platform/eclipse.platform.releng.aggregator/tree/master/products/icons @@ -69,6 +69,8 @@ Scroll down for the per-milestone/RC steps. - [ ] Wait for announcement that the staging repo is ready on [simrel-dev](https://accounts.eclipse.org/mailing-list/simrel-dev). An [example announcement](https://www.eclipse.org/lists/simrel-dev/msg00032.html). - [ ] Update `SIMREL_REPO` in `releng/org.eclipse.epp.config/parent/pom.xml` if not done above. + - [ ] Or use the `Run` toolbar button drop-down menu to launch the `Update to Milestone Repository` launch configuration. + This will automatically determine the correct update site URL and will create an appropriate commit message in the system clipboard. - [ ] Update the build qualifiers to ensure that packages are all updated. See this [gerrit](https://git.eclipse.org/r/#/c/161075/) for an example. Commit all other changes before this step because this step will automatically create a Git commit specifically for the forced qualifier changes. @@ -143,6 +145,8 @@ Scroll down for the per-milestone/RC steps. https://ci.eclipse.org/packaging/job/notarize-downloads/ ) CI job to notarize DMG packages on download.eclipse.org if the promoted build was unstable. - [ ] Update `SIMREL_REPO` to the staging repo so CI builds run against CI of SimRel, e.g., [see this gerrit](https://git.eclipse.org/r/c/epp/org.eclipse.epp.packages/+/189618)). + - [ ] Or use the `Run` toolbar button drop-down menu to launch the `Update to Staging Repository` launch configuration. + This will automatically determine the correct update site URL and will create an appropriate commit message in the system clipboard. - [ ] Re-enable the [CI build](https://ci.eclipse.org/packaging/job/epp/job/master/). - [ ] Send email to epp-dev to request package maintainers test it. The email is templated in email.txt in the release directory. diff --git a/releng/org.eclipse.epp.config/oomph/EPP.setup b/releng/org.eclipse.epp.config/oomph/EPP.setup index 0d15044c..e4185615 100644 --- a/releng/org.eclipse.epp.config/oomph/EPP.setup +++ b/releng/org.eclipse.epp.config/oomph/EPP.setup @@ -501,6 +501,62 @@ + + + <?xml version="1.0" encoding="UTF-8" standalone="no"?> + <launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication"> + <booleanAttribute key="org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING" value="false"/> + <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> + <listEntry value="/org.eclipse.epp.releng.updater/src/org/eclipse/epp/releng/updater/Updater.java"/> + </listAttribute> + <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> + <listEntry value="1"/> + </listAttribute> + <listAttribute key="org.eclipse.debug.ui.favoriteGroups"> + <listEntry value="org.eclipse.debug.ui.launchGroup.run"/> + </listAttribute> + <booleanAttribute key="org.eclipse.jdt.launching.ATTR_ATTR_USE_ARGFILE" value="false"/> + <booleanAttribute key="org.eclipse.jdt.launching.ATTR_EXCLUDE_TEST_CODE" value="true"/> + <booleanAttribute key="org.eclipse.jdt.launching.ATTR_SHOW_CODEDETAILS_IN_EXCEPTION_MESSAGES" value="true"/> + <booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_CLASSPATH_ONLY_JAR" value="false"/> + <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.epp.releng.updater.Updater"/> + <stringAttribute key="org.eclipse.jdt.launching.MODULE_NAME" value="org.eclipse.epp.releng.updater"/> + <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-to-milestone-repository"/> + <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.epp.releng.updater"/> + </launchConfiguration> + + + + + + <?xml version="1.0" encoding="UTF-8" standalone="no"?> + <launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication"> + <booleanAttribute key="org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING" value="false"/> + <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> + <listEntry value="/org.eclipse.epp.releng.updater/src/org/eclipse/epp/releng/updater/Updater.java"/> + </listAttribute> + <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> + <listEntry value="1"/> + </listAttribute> + <listAttribute key="org.eclipse.debug.ui.favoriteGroups"> + <listEntry value="org.eclipse.debug.ui.launchGroup.run"/> + </listAttribute> + <booleanAttribute key="org.eclipse.jdt.launching.ATTR_ATTR_USE_ARGFILE" value="false"/> + <booleanAttribute key="org.eclipse.jdt.launching.ATTR_EXCLUDE_TEST_CODE" value="true"/> + <booleanAttribute key="org.eclipse.jdt.launching.ATTR_SHOW_CODEDETAILS_IN_EXCEPTION_MESSAGES" value="true"/> + <booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_CLASSPATH_ONLY_JAR" value="false"/> + <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.epp.releng.updater.Updater"/> + <stringAttribute key="org.eclipse.jdt.launching.MODULE_NAME" value="org.eclipse.epp.releng.updater"/> + <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-to-staging-repository"/> + <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.epp.releng.updater"/> + </launchConfiguration> + + + @@ -638,10 +694,14 @@ <mruHistory> <launch memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;launchConfiguration local=&quot;true&quot; path=&quot;Open Issue&quot;/&gt;&#10;"/> <launch memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;launchConfiguration local=&quot;true&quot; path=&quot;Update Versions&quot;/&gt;&#10;"/> + <launch memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;launchConfiguration local=&quot;true&quot; path=&quot;Update to Milestone Repository&quot;/&gt;&#10;"/> + <launch memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;launchConfiguration local=&quot;true&quot; path=&quot;Update to Staging Repository&quot;/&gt;&#10;"/> </mruHistory> <favorites> <launch memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;launchConfiguration local=&quot;true&quot; path=&quot;Open Issue&quot;/&gt;&#10;"/> <launch memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;launchConfiguration local=&quot;true&quot; path=&quot;Update Versions&quot;/&gt;&#10;"/> + <launch memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;launchConfiguration local=&quot;true&quot; path=&quot;Update to Milestone Repository&quot;/&gt;&#10;"/> + <launch memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;launchConfiguration local=&quot;true&quot; path=&quot;Update to Staging Repository&quot;/&gt;&#10;"/> </favorites> </launchGroup> <launchGroup id="org.eclipse.ui.externaltools.launchGroup"> diff --git a/releng/org.eclipse.epp.config/org.eclipse.epp.releng.updater/src/org/eclipse/epp/releng/updater/Updater.java b/releng/org.eclipse.epp.config/org.eclipse.epp.releng.updater/src/org/eclipse/epp/releng/updater/Updater.java index 1ea3767b..a22a868c 100644 --- a/releng/org.eclipse.epp.config/org.eclipse.epp.releng.updater/src/org/eclipse/epp/releng/updater/Updater.java +++ b/releng/org.eclipse.epp.config/org.eclipse.epp.releng.updater/src/org/eclipse/epp/releng/updater/Updater.java @@ -18,6 +18,7 @@ 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; @@ -27,10 +28,12 @@ import java.nio.file.attribute.BasicFileAttributes; import java.time.LocalDate; import java.time.format.DateTimeFormatter; +import java.util.Comparator; import java.util.LinkedHashMap; import java.util.List; import java.util.Locale; import java.util.Map; +import java.util.TreeSet; import java.util.regex.Pattern; public class Updater { @@ -71,25 +74,31 @@ public class Updater { private Path root; public static void main(String[] args) throws IOException { + List 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(); - new Updater(root).update(); - if (List.of(args).contains("-open-issue")) { - var text = Files.readString(root.resolve("RELEASING.md")); - var joinedText = text.replaceAll("([,;:.a-z()-_*])\r?\n +([^-* ])", "$1 $2"); - var issueURL = "https://github.com/eclipse-packaging/packages/issues/new?title=" - + encode("EPP " + SIMREL_VERSION + " " + MILESTONE) + "&labels=endgame" + "&body=" - + encode("\n"); - - // Can't do this because the URL is then too long + "&body=" + encode(text); - // So instead copy the text to the clipboard. - Toolkit.getDefaultToolkit().getSystemClipboard().setContents(new StringSelection(joinedText), null); - - openURL(issueURL); + if (arguments.contains("-to-milestone-repository")) { + new Updater(root).toMilestoneRepository(); + } else if (arguments.contains("-to-staging-repository")) { + new Updater(root).toStagingRepository(); + } else { + new Updater(root).update(); + if (arguments.contains("-open-issue")) { + var text = Files.readString(root.resolve("RELEASING.md")); + var joinedText = text.replaceAll("([,;:.a-z()-_*])\r?\n +([^-* ])", "$1 $2"); + var issueURL = "https://github.com/eclipse-packaging/packages/issues/new?title=" + + encode("EPP " + SIMREL_VERSION + " " + MILESTONE) + "&labels=endgame" + "&body=" + + encode("\n"); + + // Can't do this because the URL is then too long + "&body=" + encode(text); + // So instead copy the text to the clipboard. + copyToClipboard(joinedText); + openURL(issueURL); + } } } @@ -277,6 +286,11 @@ private void visit(Path file) throws IOException { apply(file, "https://github.com/eclipse-simrel/.github/blob/main/wiki/SimRel/" + SIMREL_VERSION_MATCHER + ".md", SIMREL_VERSION); + apply(file, + "\\[" + SIMREL_VERSION_MATCHER + + " Participants\\]\\(https://eclipse.dev/simrel/\\?file=wiki/SimRel/" + + SIMREL_VERSION_MATCHER + "_participants.json\\).", + SIMREL_VERSION, SIMREL_VERSION); } } @@ -302,6 +316,84 @@ public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) th } }); + saveModifiedContents(); + } + + 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); + var versions = new TreeSet(Comparator.reverseOrder()); + for (var matcher = Pattern + .compile("justj/\\?file=releases/" + SIMREL_VERSION + "/(" + COPYRIGHT_YEAR + "[0-9]+)") + .matcher(releaseFolderContent); matcher.find();) { + versions.add(matcher.group(1)); + } + var latestVersion = versions.getFirst(); + var latestRepository = "https://download.eclipse.org/releases/" + SIMREL_VERSION + "/" + latestVersion + "/"; + + // Verify it exists. + var p2Index = getContents(latestRepository + "p2.index"); + if (!p2Index.contains("version=1")) { + throw new IllegalStateException("A proper p2.index is expected in " + latestRepository); + } + apply(parentPOM, "([^<]+)", latestRepository); + saveModifiedContents(); + + var endgameIssue = getEndgameIssue(); + copyToClipboard(String.format(""" + Prepare for %s %s + + - Use %s + + Part of %s + """, SIMREL_VERSION, MILESTONE, latestRepository, endgameIssue)); + } + + 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 + "/"; + apply(parentPOM, "([^<]+)", stagingRepository); + saveModifiedContents(); + + var endgameIssue = getEndgameIssue(); + copyToClipboard(String.format(""" + Back to staging + + - Use %s + + Part of %s + """, stagingRepository, endgameIssue)); + } + + private String getEndgameIssue() throws IOException { + var issues = getContents("https://api.github.com/repos/eclipse-packaging/packages/issues?labels=endgame"); + var issueMatcher = Pattern + .compile("html_url\" *: *\"(https://github.com/eclipse-packaging/packages/issues/[0-9]+)\"") + .matcher(issues); + if (!issueMatcher.find()) { + throw new IllegalStateException("No issue found: " + issues); + } + return issueMatcher.group(1); + } + + private String getContents(String urix) throws IOException { + try { + var uri = URI.create(urix); + var httpClient = HttpClient.newBuilder().followRedirects(HttpClient.Redirect.NORMAL).build(); + var requestBuilder = HttpRequest.newBuilder(uri).GET(); + var request = requestBuilder.build(); + HttpResponse response = httpClient.send(request, BodyHandlers.ofString()); + var statusCode = response.statusCode(); + if (statusCode != 200) { + throw new IOException("status code " + statusCode + " -> " + uri); + } + return response.body(); + } catch (InterruptedException e) { + throw new IOException(e); + } + } + + private void saveModifiedContents() throws IOException { for (var entry : contents.entrySet()) { Files.writeString(entry.getKey(), entry.getValue()); } @@ -311,7 +403,11 @@ private static String encode(String value) { return URLEncoder.encode(value, StandardCharsets.UTF_8); } - public static void openURL(String uri) throws IOException { + private static void openURL(String uri) throws IOException { Desktop.getDesktop().browse(URI.create(uri)); } + + private static void copyToClipboard(String string) { + Toolkit.getDefaultToolkit().getSystemClipboard().setContents(new StringSelection(string), null); + } } From 3951c6060ab085a7fa34c65b1ed026891de4a4b2 Mon Sep 17 00:00:00 2001 From: Ed Merks Date: Thu, 8 Jan 2026 08:45:34 +0100 Subject: [PATCH 2/3] Prepare for 2026-03 M1 - Use https://download.eclipse.org/releases/2026-03/202601091000/ - Update poorly-maintained Scout N&N link. Part of https://github.com/eclipse-packaging/packages/issues/406 --- packages/org.eclipse.epp.package.scout.feature/epp.website.xml | 2 +- releng/org.eclipse.epp.config/parent/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/org.eclipse.epp.package.scout.feature/epp.website.xml b/packages/org.eclipse.epp.package.scout.feature/epp.website.xml index 40047bce..149dc25a 100644 --- a/packages/org.eclipse.epp.package.scout.feature/epp.website.xml +++ b/packages/org.eclipse.epp.package.scout.feature/epp.website.xml @@ -23,7 +23,7 @@ 202601081000 - https://download.eclipse.org/staging/2026-03/ + https://download.eclipse.org/releases/2026-03/202601091000/ ${RELEASE_NAME}-${RELEASE_MILESTONE} From cf9eceb036dfe3818e042a5185a79b6515cce8ce Mon Sep 17 00:00:00 2001 From: Ed Merks Date: Thu, 8 Jan 2026 12:00:00 +0000 Subject: [PATCH 3/3] Set version qualifiers with setGitDate script --- .../.forceQualifierUpdate | 2 +- .../.forceQualifierUpdate | 2 +- .../org.eclipse.epp.package.committers/.forceQualifierUpdate | 2 +- .../.forceQualifierUpdate | 2 +- packages/org.eclipse.epp.package.common/.forceQualifierUpdate | 2 +- .../org.eclipse.epp.package.cpp.feature/.forceQualifierUpdate | 2 +- .../org.eclipse.epp.package.cpp.product/.forceQualifierUpdate | 2 +- packages/org.eclipse.epp.package.cpp/.forceQualifierUpdate | 2 +- .../org.eclipse.epp.package.dsl.feature/.forceQualifierUpdate | 2 +- .../org.eclipse.epp.package.dsl.product/.forceQualifierUpdate | 2 +- packages/org.eclipse.epp.package.dsl/.forceQualifierUpdate | 2 +- .../.forceQualifierUpdate | 2 +- .../.forceQualifierUpdate | 2 +- packages/org.eclipse.epp.package.embedcpp/.forceQualifierUpdate | 2 +- .../org.eclipse.epp.package.java.feature/.forceQualifierUpdate | 2 +- .../org.eclipse.epp.package.java.product/.forceQualifierUpdate | 2 +- packages/org.eclipse.epp.package.java/.forceQualifierUpdate | 2 +- .../org.eclipse.epp.package.jee.feature/.forceQualifierUpdate | 2 +- .../org.eclipse.epp.package.jee.product/.forceQualifierUpdate | 2 +- packages/org.eclipse.epp.package.jee/.forceQualifierUpdate | 2 +- .../.forceQualifierUpdate | 2 +- .../.forceQualifierUpdate | 2 +- packages/org.eclipse.epp.package.modeling/.forceQualifierUpdate | 2 +- .../org.eclipse.epp.package.php.feature/.forceQualifierUpdate | 2 +- .../org.eclipse.epp.package.php.product/.forceQualifierUpdate | 2 +- packages/org.eclipse.epp.package.php/.forceQualifierUpdate | 2 +- .../org.eclipse.epp.package.rcp.feature/.forceQualifierUpdate | 2 +- .../org.eclipse.epp.package.rcp.product/.forceQualifierUpdate | 2 +- packages/org.eclipse.epp.package.rcp/.forceQualifierUpdate | 2 +- .../org.eclipse.epp.package.scout.feature/.forceQualifierUpdate | 2 +- .../org.eclipse.epp.package.scout.product/.forceQualifierUpdate | 2 +- packages/org.eclipse.epp.package.scout/.forceQualifierUpdate | 2 +- 32 files changed, 32 insertions(+), 32 deletions(-) diff --git a/packages/org.eclipse.epp.package.committers.feature/.forceQualifierUpdate b/packages/org.eclipse.epp.package.committers.feature/.forceQualifierUpdate index aa745772..2f89caee 100644 --- a/packages/org.eclipse.epp.package.committers.feature/.forceQualifierUpdate +++ b/packages/org.eclipse.epp.package.committers.feature/.forceQualifierUpdate @@ -1 +1 @@ -2025-12-04T12:00:00+00:00 +2026-01-08T12:00:00+00:00 diff --git a/packages/org.eclipse.epp.package.committers.product/.forceQualifierUpdate b/packages/org.eclipse.epp.package.committers.product/.forceQualifierUpdate index aa745772..2f89caee 100644 --- a/packages/org.eclipse.epp.package.committers.product/.forceQualifierUpdate +++ b/packages/org.eclipse.epp.package.committers.product/.forceQualifierUpdate @@ -1 +1 @@ -2025-12-04T12:00:00+00:00 +2026-01-08T12:00:00+00:00 diff --git a/packages/org.eclipse.epp.package.committers/.forceQualifierUpdate b/packages/org.eclipse.epp.package.committers/.forceQualifierUpdate index aa745772..2f89caee 100644 --- a/packages/org.eclipse.epp.package.committers/.forceQualifierUpdate +++ b/packages/org.eclipse.epp.package.committers/.forceQualifierUpdate @@ -1 +1 @@ -2025-12-04T12:00:00+00:00 +2026-01-08T12:00:00+00:00 diff --git a/packages/org.eclipse.epp.package.common.feature/.forceQualifierUpdate b/packages/org.eclipse.epp.package.common.feature/.forceQualifierUpdate index aa745772..2f89caee 100644 --- a/packages/org.eclipse.epp.package.common.feature/.forceQualifierUpdate +++ b/packages/org.eclipse.epp.package.common.feature/.forceQualifierUpdate @@ -1 +1 @@ -2025-12-04T12:00:00+00:00 +2026-01-08T12:00:00+00:00 diff --git a/packages/org.eclipse.epp.package.common/.forceQualifierUpdate b/packages/org.eclipse.epp.package.common/.forceQualifierUpdate index aa745772..2f89caee 100644 --- a/packages/org.eclipse.epp.package.common/.forceQualifierUpdate +++ b/packages/org.eclipse.epp.package.common/.forceQualifierUpdate @@ -1 +1 @@ -2025-12-04T12:00:00+00:00 +2026-01-08T12:00:00+00:00 diff --git a/packages/org.eclipse.epp.package.cpp.feature/.forceQualifierUpdate b/packages/org.eclipse.epp.package.cpp.feature/.forceQualifierUpdate index aa745772..2f89caee 100644 --- a/packages/org.eclipse.epp.package.cpp.feature/.forceQualifierUpdate +++ b/packages/org.eclipse.epp.package.cpp.feature/.forceQualifierUpdate @@ -1 +1 @@ -2025-12-04T12:00:00+00:00 +2026-01-08T12:00:00+00:00 diff --git a/packages/org.eclipse.epp.package.cpp.product/.forceQualifierUpdate b/packages/org.eclipse.epp.package.cpp.product/.forceQualifierUpdate index aa745772..2f89caee 100644 --- a/packages/org.eclipse.epp.package.cpp.product/.forceQualifierUpdate +++ b/packages/org.eclipse.epp.package.cpp.product/.forceQualifierUpdate @@ -1 +1 @@ -2025-12-04T12:00:00+00:00 +2026-01-08T12:00:00+00:00 diff --git a/packages/org.eclipse.epp.package.cpp/.forceQualifierUpdate b/packages/org.eclipse.epp.package.cpp/.forceQualifierUpdate index aa745772..2f89caee 100644 --- a/packages/org.eclipse.epp.package.cpp/.forceQualifierUpdate +++ b/packages/org.eclipse.epp.package.cpp/.forceQualifierUpdate @@ -1 +1 @@ -2025-12-04T12:00:00+00:00 +2026-01-08T12:00:00+00:00 diff --git a/packages/org.eclipse.epp.package.dsl.feature/.forceQualifierUpdate b/packages/org.eclipse.epp.package.dsl.feature/.forceQualifierUpdate index aa745772..2f89caee 100644 --- a/packages/org.eclipse.epp.package.dsl.feature/.forceQualifierUpdate +++ b/packages/org.eclipse.epp.package.dsl.feature/.forceQualifierUpdate @@ -1 +1 @@ -2025-12-04T12:00:00+00:00 +2026-01-08T12:00:00+00:00 diff --git a/packages/org.eclipse.epp.package.dsl.product/.forceQualifierUpdate b/packages/org.eclipse.epp.package.dsl.product/.forceQualifierUpdate index aa745772..2f89caee 100644 --- a/packages/org.eclipse.epp.package.dsl.product/.forceQualifierUpdate +++ b/packages/org.eclipse.epp.package.dsl.product/.forceQualifierUpdate @@ -1 +1 @@ -2025-12-04T12:00:00+00:00 +2026-01-08T12:00:00+00:00 diff --git a/packages/org.eclipse.epp.package.dsl/.forceQualifierUpdate b/packages/org.eclipse.epp.package.dsl/.forceQualifierUpdate index aa745772..2f89caee 100644 --- a/packages/org.eclipse.epp.package.dsl/.forceQualifierUpdate +++ b/packages/org.eclipse.epp.package.dsl/.forceQualifierUpdate @@ -1 +1 @@ -2025-12-04T12:00:00+00:00 +2026-01-08T12:00:00+00:00 diff --git a/packages/org.eclipse.epp.package.embedcpp.feature/.forceQualifierUpdate b/packages/org.eclipse.epp.package.embedcpp.feature/.forceQualifierUpdate index aa745772..2f89caee 100644 --- a/packages/org.eclipse.epp.package.embedcpp.feature/.forceQualifierUpdate +++ b/packages/org.eclipse.epp.package.embedcpp.feature/.forceQualifierUpdate @@ -1 +1 @@ -2025-12-04T12:00:00+00:00 +2026-01-08T12:00:00+00:00 diff --git a/packages/org.eclipse.epp.package.embedcpp.product/.forceQualifierUpdate b/packages/org.eclipse.epp.package.embedcpp.product/.forceQualifierUpdate index aa745772..2f89caee 100644 --- a/packages/org.eclipse.epp.package.embedcpp.product/.forceQualifierUpdate +++ b/packages/org.eclipse.epp.package.embedcpp.product/.forceQualifierUpdate @@ -1 +1 @@ -2025-12-04T12:00:00+00:00 +2026-01-08T12:00:00+00:00 diff --git a/packages/org.eclipse.epp.package.embedcpp/.forceQualifierUpdate b/packages/org.eclipse.epp.package.embedcpp/.forceQualifierUpdate index aa745772..2f89caee 100644 --- a/packages/org.eclipse.epp.package.embedcpp/.forceQualifierUpdate +++ b/packages/org.eclipse.epp.package.embedcpp/.forceQualifierUpdate @@ -1 +1 @@ -2025-12-04T12:00:00+00:00 +2026-01-08T12:00:00+00:00 diff --git a/packages/org.eclipse.epp.package.java.feature/.forceQualifierUpdate b/packages/org.eclipse.epp.package.java.feature/.forceQualifierUpdate index aa745772..2f89caee 100644 --- a/packages/org.eclipse.epp.package.java.feature/.forceQualifierUpdate +++ b/packages/org.eclipse.epp.package.java.feature/.forceQualifierUpdate @@ -1 +1 @@ -2025-12-04T12:00:00+00:00 +2026-01-08T12:00:00+00:00 diff --git a/packages/org.eclipse.epp.package.java.product/.forceQualifierUpdate b/packages/org.eclipse.epp.package.java.product/.forceQualifierUpdate index aa745772..2f89caee 100644 --- a/packages/org.eclipse.epp.package.java.product/.forceQualifierUpdate +++ b/packages/org.eclipse.epp.package.java.product/.forceQualifierUpdate @@ -1 +1 @@ -2025-12-04T12:00:00+00:00 +2026-01-08T12:00:00+00:00 diff --git a/packages/org.eclipse.epp.package.java/.forceQualifierUpdate b/packages/org.eclipse.epp.package.java/.forceQualifierUpdate index aa745772..2f89caee 100644 --- a/packages/org.eclipse.epp.package.java/.forceQualifierUpdate +++ b/packages/org.eclipse.epp.package.java/.forceQualifierUpdate @@ -1 +1 @@ -2025-12-04T12:00:00+00:00 +2026-01-08T12:00:00+00:00 diff --git a/packages/org.eclipse.epp.package.jee.feature/.forceQualifierUpdate b/packages/org.eclipse.epp.package.jee.feature/.forceQualifierUpdate index aa745772..2f89caee 100644 --- a/packages/org.eclipse.epp.package.jee.feature/.forceQualifierUpdate +++ b/packages/org.eclipse.epp.package.jee.feature/.forceQualifierUpdate @@ -1 +1 @@ -2025-12-04T12:00:00+00:00 +2026-01-08T12:00:00+00:00 diff --git a/packages/org.eclipse.epp.package.jee.product/.forceQualifierUpdate b/packages/org.eclipse.epp.package.jee.product/.forceQualifierUpdate index aa745772..2f89caee 100644 --- a/packages/org.eclipse.epp.package.jee.product/.forceQualifierUpdate +++ b/packages/org.eclipse.epp.package.jee.product/.forceQualifierUpdate @@ -1 +1 @@ -2025-12-04T12:00:00+00:00 +2026-01-08T12:00:00+00:00 diff --git a/packages/org.eclipse.epp.package.jee/.forceQualifierUpdate b/packages/org.eclipse.epp.package.jee/.forceQualifierUpdate index aa745772..2f89caee 100644 --- a/packages/org.eclipse.epp.package.jee/.forceQualifierUpdate +++ b/packages/org.eclipse.epp.package.jee/.forceQualifierUpdate @@ -1 +1 @@ -2025-12-04T12:00:00+00:00 +2026-01-08T12:00:00+00:00 diff --git a/packages/org.eclipse.epp.package.modeling.feature/.forceQualifierUpdate b/packages/org.eclipse.epp.package.modeling.feature/.forceQualifierUpdate index aa745772..2f89caee 100644 --- a/packages/org.eclipse.epp.package.modeling.feature/.forceQualifierUpdate +++ b/packages/org.eclipse.epp.package.modeling.feature/.forceQualifierUpdate @@ -1 +1 @@ -2025-12-04T12:00:00+00:00 +2026-01-08T12:00:00+00:00 diff --git a/packages/org.eclipse.epp.package.modeling.product/.forceQualifierUpdate b/packages/org.eclipse.epp.package.modeling.product/.forceQualifierUpdate index aa745772..2f89caee 100644 --- a/packages/org.eclipse.epp.package.modeling.product/.forceQualifierUpdate +++ b/packages/org.eclipse.epp.package.modeling.product/.forceQualifierUpdate @@ -1 +1 @@ -2025-12-04T12:00:00+00:00 +2026-01-08T12:00:00+00:00 diff --git a/packages/org.eclipse.epp.package.modeling/.forceQualifierUpdate b/packages/org.eclipse.epp.package.modeling/.forceQualifierUpdate index aa745772..2f89caee 100644 --- a/packages/org.eclipse.epp.package.modeling/.forceQualifierUpdate +++ b/packages/org.eclipse.epp.package.modeling/.forceQualifierUpdate @@ -1 +1 @@ -2025-12-04T12:00:00+00:00 +2026-01-08T12:00:00+00:00 diff --git a/packages/org.eclipse.epp.package.php.feature/.forceQualifierUpdate b/packages/org.eclipse.epp.package.php.feature/.forceQualifierUpdate index aa745772..2f89caee 100644 --- a/packages/org.eclipse.epp.package.php.feature/.forceQualifierUpdate +++ b/packages/org.eclipse.epp.package.php.feature/.forceQualifierUpdate @@ -1 +1 @@ -2025-12-04T12:00:00+00:00 +2026-01-08T12:00:00+00:00 diff --git a/packages/org.eclipse.epp.package.php.product/.forceQualifierUpdate b/packages/org.eclipse.epp.package.php.product/.forceQualifierUpdate index aa745772..2f89caee 100644 --- a/packages/org.eclipse.epp.package.php.product/.forceQualifierUpdate +++ b/packages/org.eclipse.epp.package.php.product/.forceQualifierUpdate @@ -1 +1 @@ -2025-12-04T12:00:00+00:00 +2026-01-08T12:00:00+00:00 diff --git a/packages/org.eclipse.epp.package.php/.forceQualifierUpdate b/packages/org.eclipse.epp.package.php/.forceQualifierUpdate index aa745772..2f89caee 100644 --- a/packages/org.eclipse.epp.package.php/.forceQualifierUpdate +++ b/packages/org.eclipse.epp.package.php/.forceQualifierUpdate @@ -1 +1 @@ -2025-12-04T12:00:00+00:00 +2026-01-08T12:00:00+00:00 diff --git a/packages/org.eclipse.epp.package.rcp.feature/.forceQualifierUpdate b/packages/org.eclipse.epp.package.rcp.feature/.forceQualifierUpdate index aa745772..2f89caee 100644 --- a/packages/org.eclipse.epp.package.rcp.feature/.forceQualifierUpdate +++ b/packages/org.eclipse.epp.package.rcp.feature/.forceQualifierUpdate @@ -1 +1 @@ -2025-12-04T12:00:00+00:00 +2026-01-08T12:00:00+00:00 diff --git a/packages/org.eclipse.epp.package.rcp.product/.forceQualifierUpdate b/packages/org.eclipse.epp.package.rcp.product/.forceQualifierUpdate index aa745772..2f89caee 100644 --- a/packages/org.eclipse.epp.package.rcp.product/.forceQualifierUpdate +++ b/packages/org.eclipse.epp.package.rcp.product/.forceQualifierUpdate @@ -1 +1 @@ -2025-12-04T12:00:00+00:00 +2026-01-08T12:00:00+00:00 diff --git a/packages/org.eclipse.epp.package.rcp/.forceQualifierUpdate b/packages/org.eclipse.epp.package.rcp/.forceQualifierUpdate index aa745772..2f89caee 100644 --- a/packages/org.eclipse.epp.package.rcp/.forceQualifierUpdate +++ b/packages/org.eclipse.epp.package.rcp/.forceQualifierUpdate @@ -1 +1 @@ -2025-12-04T12:00:00+00:00 +2026-01-08T12:00:00+00:00 diff --git a/packages/org.eclipse.epp.package.scout.feature/.forceQualifierUpdate b/packages/org.eclipse.epp.package.scout.feature/.forceQualifierUpdate index aa745772..2f89caee 100644 --- a/packages/org.eclipse.epp.package.scout.feature/.forceQualifierUpdate +++ b/packages/org.eclipse.epp.package.scout.feature/.forceQualifierUpdate @@ -1 +1 @@ -2025-12-04T12:00:00+00:00 +2026-01-08T12:00:00+00:00 diff --git a/packages/org.eclipse.epp.package.scout.product/.forceQualifierUpdate b/packages/org.eclipse.epp.package.scout.product/.forceQualifierUpdate index aa745772..2f89caee 100644 --- a/packages/org.eclipse.epp.package.scout.product/.forceQualifierUpdate +++ b/packages/org.eclipse.epp.package.scout.product/.forceQualifierUpdate @@ -1 +1 @@ -2025-12-04T12:00:00+00:00 +2026-01-08T12:00:00+00:00 diff --git a/packages/org.eclipse.epp.package.scout/.forceQualifierUpdate b/packages/org.eclipse.epp.package.scout/.forceQualifierUpdate index aa745772..2f89caee 100644 --- a/packages/org.eclipse.epp.package.scout/.forceQualifierUpdate +++ b/packages/org.eclipse.epp.package.scout/.forceQualifierUpdate @@ -1 +1 @@ -2025-12-04T12:00:00+00:00 +2026-01-08T12:00:00+00:00