Skip to content

Conversation

@HannesWell
Copy link
Member

@HannesWell HannesWell commented Dec 9, 2025

Replaces the PHP based build-drop and overview pages by pure html pages whoose data are injected through Java-script, read from JSON files.
The JSON files are generated during the I/Y-Builds and populated with corresponding data, to replace the server-side reading of files not available anymore with the PHP deprecation.
Additionally this has the advantage that developing the drop-websites is much simpler as one just as to launch a simple webserver from the sites directory that only has to serve static files. For example by using jwebserver (part of a JDK since Java-18).

The general website structure and layout is heavily based on the existing sites with only some small enhancements, e.g. by providing links to the Jenkins jobs of running tests and improving the display of runtimes and dates (which are now in UTC to be more international). Although I have ideas for further moderate improvements I do not plan to significantly change the current structure.

Fixes #2656

A preliminary state of the overview page can be found at the moment (the link will probably be dead in the later future):

Beware that the links to the individual drops are currently not working as they are created assuming the final location.

This is currently heavily work-in-progress, but I plan to complete it by the end of this week (more or less just in time) and want to share the current state already.
The main drop-page of a build is mostly completed and can be inspected locally by launching jwebserver from the sites/eclipse/build-page folder. Similarly the overview page can be inspected by launching jwebserver from sites/eclipse/overview-page. One can also launch jwebserver from the parent directory and select the corresponding folder.
For both sites the read JSON files are populated with test data.

Initially I intended to define the scaffolding of each site in markdown, but as that's actually not much content and the scaffolding itself is static and not regularly changed, I don't think it's actually an overall advantage. It requires extra dependencies and client-side rendering and therefore slows down page rendering plus it makes the page definition more distributed, which again slows down the rendering as more files have to be downloaded and makes developing more complex.
Therefore I intend to define also the scaffolding as plain HTML and only inject the data from the JSON files using JavaScript.

The following TODOs are pending:

  • Complete the testsResults.html page
  • The buildLogs.html page is not implemented, but mostly just listing log files
  • The testLogs.html page is not implemented, but mostly just listing log files
  • Generate TOC for non markdown files. Decide if we want to use the plain/simple or 'high-constrast' style
  • Fully discard markdown files
  • Complete generation of data files in the build
  • Implement Equinox page too
  • Clean-up of unused elements
  • Delete testresults folder to not keep them forever
  • Delete old website files
  • Replace images with high-res/svg icons (for later)

Create json files with all variables and define custom html tags that a
java-script replaces on the client

TODO:
- Complete the testsResults.html page
- The buildLogs.html page is not implemented, but mostly just listing
log files
- The testLogs.html page is not implemented, but mostly just listing log
files
- Generate TOC for non markdown files. Decide if we want to use the
plain/simple or 'high-constrast' style
- Fully discard markdown files
- Complete generation of data files in the build
- Implement Equinox page too
- Clean-up of unused elements
- Delete testresults folder to not keep them forever
- Delete old website files
- Replace images with high-res/svg icons (for later)

Fixes eclipse-platform#2656
@HannesWell HannesWell force-pushed the migrate-drop-page-off-php branch from 20b395c to 8265473 Compare December 12, 2025 01:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

php deprecation download.eclipse.org

1 participant