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
10 changes: 10 additions & 0 deletions sites/eclipse/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,17 @@
# Eclipse Build websites

The websites for all Eclipse and Equinox builds and their overview pages are based on plain HTML pages, that read their individual information from data files (in JSON format) and apply them via _JavaScript_.
All data files of each website are contained within the root folder of each site and all sites are generally self-contained.
The data files are generated during a build running the [RelEng Java scripts programs](../../scripts/releng)
or by the [Update Download Index](../../JenkinsJobs/Releng/updateIndex.jenkinsfile) Jenkins job.

# Local testing

To locally create the full set of data (JSON) files for all websites, e.g. for local testing, one can run
`./testDataFetch.sh <buildID>`

That scripts fetches the data files of the build with specified identifier and places it at the expected location and allows to replicate the Eclipse and Equinox websites of that build and the current overview pages locally.
Any I, Y, milestone, RC or release available at https://download.eclipse.org/eclipse/downloads/ may be specified.

Launch `jwebserver` from this repository (requires a JDK-18 or later on `PATH`) and open the localhost URL displayed on the console (by default `http://127.0.0.1:8000/`).
Run `jwebserver --help` for help and further options.
49 changes: 49 additions & 0 deletions sites/eclipse/testDataFetch.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
#!/bin/bash -xe
#*******************************************************************************
# Copyright (c) 2026, 2026 Hannes Wellmann and others.
#
# This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
#
# Contributors:
# Hannes Wellmann - initial API and implementation
#*******************************************************************************

if [ "$#" -ne 1 ]; then
echo "Expected usage: $0 <buildID>"
exit 1
fi
buildID=$1

# Work from the directory containing the eclipse and equinox website
cd $(dirname "$0")/..

find eclipse -type f -name "*.json" -delete
find equinox -type f -name "*.json" -delete

# Eclipse website
buildDrop="https://download.eclipse.org/eclipse/downloads/drops4/${buildID}"
curl --fail -o eclipse/overview/data.json https://download.eclipse.org/eclipse/downloads/data.json
curl --fail -o eclipse/build/buildproperties.json "${buildDrop}/buildproperties.json"
curl --fail -o eclipse/build/compilerSummary.json "${buildDrop}/compilerSummary.json"
curl --fail -o eclipse/build/gitLog.json "${buildDrop}/gitLog.json"
curl --fail -o eclipse/build/buildlogs/logFiles.json "${buildDrop}/buildlogs/logFiles.json"

# Download test results
# Requires jq: https://jqlang.org/download/
mkdir -p eclipse/build/testresults
releaseShort=$(jq -r '.releaseShort' eclipse/build/buildproperties.json)
testConfigurations=$(jq -r '.expectedTests[]' eclipse/build/buildproperties.json)
for testConfig in ${testConfigurations//[[:space:]]/ }; do
filename="ep${releaseShort//./}I-unit-${testConfig}"
curl --fail -o eclipse/build/testresults/${filename}-summary.json "${buildDrop}/testresults/${filename}-summary.json"
curl --fail -o eclipse/build/testresults/${filename}.json "${buildDrop}/testresults/${filename}.json"
done

# Equinox website
curl --fail -o equinox/overview/data.json https://download.eclipse.org/equinox/data.json
curl --fail -o equinox/build/buildproperties.json "https://download.eclipse.org/equinox/drops/${buildID}/buildproperties.json"
Loading