Skip to content

Commit 6c2021d

Browse files
HannesWellPhilipp0205
authored andcommitted
[RelEng] Add release preparation script to update the Splash-screen
The script will be called by the pipeline to prepare a new development cycle and automates the update of the splash-screen for the new cycle. It requires that all updated images are available in advance of the preparation.
1 parent 45923b2 commit 6c2021d

File tree

6 files changed

+76
-3
lines changed

6 files changed

+76
-3
lines changed
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
## Description
2+
3+
This directory contains the Splash-screen and About-dialog images of **future** versions of Eclipse.
4+
It serves as a kind of staging area and is not included in the built bundle.
5+
These images will be moved to their final location by the `prepareNextDevCycle.sh` script, which is called during the preparation of the development of the corresponding release.
6+
Therefore the image(s) for a corresponding release must be available in this directory **BEFORE the DEVELOPMENT of that release is PREPARED** and the following requirements apply:
7+
8+
- The Splash-screen images **must** be named according to the following schema:
9+
`splash_${NEXT_RELEASE_YEAR}.png`
10+
for example `splash_2025-12.png`.
11+
12+
- The About-dialog image (and it's high-DPI version) of a future version must be added to this directory, if changed, and be named
13+
`eclipse_lg.png` respectively `[email protected]`
14+
15+
While there is a dedicated Splash-screen image for each release (containing the version of the release),
16+
the About-dialog image is the same for multiple releases as long as they share the same Splash-screen base style/template.
17+
18+
The Splash-screen and About-dialog images of the currently developed and past Eclipse versions don't need to be included in this directory.
19+
20+
## Providing new Splash-screen images for a future release
21+
22+
Due to the requirements described above, the images for a new Splash-screen base style/template must be added to this folder
23+
before the development of the first release that is intended to use them is prepared.
24+
For example if a Splash-screen style/template is used for 2026-06 ff., the new images should be added at latest near the end of the 2026-03 development.
25+
When a new Splash-screen style/template is introduced, typically the Splash-screen images for four consecutive releases are added to this directory,
26+
following the naming requirements described above.
27+
The About-dialog image(s) is typically the same for these four consecutive releases, i.e. as long as the Splash-screen style/template is unchanged.
28+
29+
The Splash-screen and About-dialog images of the currently developed and past Eclipse versions in this folder are irrelevant and should be removed.
30+
In fact the mentioned `prepareNextDevCycle.sh` script will _move_ the images to their production location when they become effective, i.e. when a new release is prepared.
31+
This behavior clears this directory automatically over time.
32+
33+
To test the result of a future release preparation, you can run the following bash snippet (adjust the numbers accordingly):
34+
````
35+
export NEXT_RELEASE_VERSION=4.39
36+
export NEXT_RELEASE_NAME=2026-03
37+
./prepareNextDevCycle.sh
38+
```
39+
**Please make sure to not submit the resulting commit!**
Binary file not shown.
Binary file not shown.

platform/org.eclipse.platform/splashscreens2025/readme.txt

Lines changed: 0 additions & 3 deletions
This file was deleted.

prepareNextDevCycle.sh

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
#!/bin/bash -xe
2+
3+
#*******************************************************************************
4+
# Copyright (c) 2025, 2025 Hannes Wellmann and others.
5+
#
6+
# This program and the accompanying materials
7+
# are made available under the terms of the Eclipse Public License 2.0
8+
# which accompanies this distribution, and is available at
9+
# https://www.eclipse.org/legal/epl-2.0/
10+
#
11+
# SPDX-License-Identifier: EPL-2.0
12+
#
13+
# Contributors:
14+
# Hannes Wellmann - initial API and implementation
15+
#*******************************************************************************
16+
17+
# This script is called by the pipeline for preparing the next development cycle (this file's name is crucial!)
18+
# and applies the changes required individually for Eclipse-Platform.
19+
# The calling pipeline also defines environment variables usable in this script.
20+
21+
pushd 'platform/org.eclipse.platform'
22+
23+
if [ ! -f splash.png ] || [ ! -f eclipse_lg.png ] || [ ! -f [email protected] ]; then
24+
echo 'Expected target Splash-screen or branding images are missing'
25+
# Probably the naming or file format of any of these files has changed and this script wasn't adapted.
26+
exit 1
27+
fi
28+
29+
mv -f futureSplashScreens/splash_${NEXT_RELEASE_NAME}.png splash.png
30+
if [ -f 'futureSplashScreens/eclipse_lg.png' ]; then
31+
# About-dialog image is usally the same for multiple releases
32+
mv -f futureSplashScreens/eclipse_lg.png eclipse_lg.png
33+
mv -f futureSplashScreens/[email protected] [email protected]
34+
fi
35+
popd
36+
37+
git commit --all --message "Splash Screen for ${NEXT_RELEASE_VERSION} (${NEXT_RELEASE_NAME})"

0 commit comments

Comments
 (0)