mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-04 07:35:24 +02:00

Using:
```
mvn org.eclipse.tycho.extras:tycho-version-bump-plugin:4.0.12:update-manifest
```
and then multiple iterations to bump the bundle-version:
```
mvn verify org.eclipse.tycho:tycho-versions-plugin:4.0.12:bump-versions -Dtycho.bump-versions.increment=100 -DskipDoc=true -DskipTests=true -P baseline-compare-and-replace -fae -Djgit.dirtyWorkingTree-cdtDefault=warning
```
Make sure bounds of all dependencies match what we built against. This
prevents issues such as Bug 536448 from recurring. In 2025-06 there
are a number of Eclipse Platform changes that make CDT susceptible
to these types of issues again.
Note that this change is similar to previous iterations, such
as 1087dc5f22
, but with the automatation
we can now apply this to *all* bundles.
In addition, with the tighter version constraints, building from
simrel repo for the jniheader (releng/scripts/do_rebuild_natives.sh)
is no longer sufficient. This speedup has been removed as it was probably
incorrect to have by default.
The api filters were introduced because some bundles are re-exported. Those
re-exported bundle requirements mean that technically we need to bump
the version, but in reality we effectively required the range as now
documented anyway, so doing a major version bump is unneeded.
52 lines
1.8 KiB
Bash
Executable file
52 lines
1.8 KiB
Bash
Executable file
#!/bin/bash
|
|
###############################################################################
|
|
# Copyright (c) 2018, 2020 Kichwa Coders Ltd 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
|
|
###############################################################################
|
|
|
|
set -e
|
|
|
|
SCRIPT=$( basename "${BASH_SOURCE[0]}" )
|
|
|
|
if ! command -v x86_64-apple-darwin21.1-clang &> /dev/null
|
|
then
|
|
echo "WARNING: Skipping ${SCRIPT} because Darwin clang is not available"
|
|
exit 0
|
|
fi
|
|
|
|
##
|
|
# Make sure that natives are up to date
|
|
##
|
|
for p in native/org.eclipse.cdt.native.serial core/org.eclipse.cdt.core.native; do
|
|
echo "Rebuilding $p JNI headers to make sure they match source"
|
|
logfile=jni-headers-${p//\//-}.log
|
|
if ! ${MVN:-mvn} -B -V process-resources -P jniheaders -f $p >${logfile} 2>&1; then
|
|
echo "Rebuilding of $p JNI headers failed. The log (${logfile}) is part of the artifacts of the build"
|
|
exit 1
|
|
fi
|
|
|
|
# Need to apply format after header files are generated
|
|
echo "Applying enforcing formatting rules to $p native source files"
|
|
clang-format -i --style=file $(git ls-files $p/native_src/\*\*/\*.{c,cpp,cc,h,hh,hpp})
|
|
|
|
echo "Rebuilding $p natives to make sure they match source"
|
|
logfile=make-natives-${p//\//-}.log
|
|
if ! make -C $p/native_src rebuild >${logfile} 2>&1; then
|
|
echo "Rebuilding of $p natives failed. The log (${logfile}) is part of the artifacts of the build"
|
|
exit 1
|
|
fi
|
|
done
|
|
|
|
##
|
|
# Mark Windows binaries as executable
|
|
##
|
|
echo "Marking Windows binaries as executable"
|
|
git ls-files -- \*.exe \*.dll | while read line; do
|
|
chmod +x "$line"
|
|
done
|