mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-21 21:52:10 +02:00

The script is quite basic. It does not even take parameters. However, considering it will be run probably once every three years, I felt it was sufficient. Change-Id: Ic2b533758529f393d6e37c010f0a5cb666e84b53
79 lines
2.6 KiB
Bash
Executable file
79 lines
2.6 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
# This script was used to update most of CDT's plugins from
|
|
# java 7 to java 8.
|
|
# The script recursively updated all plugins starting
|
|
# at $root_dir from java version $old_ver to $new_ver
|
|
# for changes required to go from java 7 to java 8.
|
|
#
|
|
# To re-use this script in the future for a new version of java,
|
|
# please make sure its behaviour mimics Eclipse behavior of
|
|
# "Update the classpath settings" in the Overview tab of manifest
|
|
# file editor.
|
|
|
|
old_ver=1\\.7 # Need to escape the . to avoid it matching any character
|
|
new_ver=1.8
|
|
java_name=JavaSE
|
|
|
|
root_dir=.
|
|
|
|
classpath_file=.classpath
|
|
manifest_file=MANIFEST.MF
|
|
jdt_pref_file=org.eclipse.jdt.core.prefs
|
|
jdt_pref1=org.eclipse.jdt.core.compiler.codegen.targetPlatform
|
|
jdt_pref2=org.eclipse.jdt.core.compiler.compliance
|
|
jdt_pref3=org.eclipse.jdt.core.compiler.source
|
|
|
|
fix_classpath_file()
|
|
{
|
|
find $root_dir -type f -name ${classpath_file} \
|
|
-exec sed -i s,${java_name}-${old_ver},${java_name}-${new_ver}, '{}' \;
|
|
}
|
|
|
|
fix_manifest_file()
|
|
{
|
|
find $root_dir -type f -name ${manifest_file} \
|
|
-exec sed -i s,${java_name}-${old_ver},${java_name}-${new_ver}, '{}' \;
|
|
}
|
|
|
|
fix_jdt_prefs_file()
|
|
{
|
|
find $root_dir -type f -name ${jdt_pref_file} \
|
|
-exec sed -i s,${jdt_pref1}=$old_ver,${jdt_pref1}=$new_ver, '{}' \;
|
|
find $root_dir -type f -name ${jdt_pref_file} \
|
|
-exec sed -i s,${jdt_pref2}=$old_ver,${jdt_pref2}=$new_ver, '{}' \;
|
|
find $root_dir -type f -name ${jdt_pref_file} \
|
|
-exec sed -i s,${jdt_pref3}=$old_ver,${jdt_pref3}=$new_ver, '{}' \;
|
|
}
|
|
|
|
launch_file=StandaloneTests.launch
|
|
fix_standalone_debugger_test_launch()
|
|
{
|
|
find $root_dir -type f -name ${launch_file} \
|
|
-exec sed -i s,${java_name}-${old_ver},${java_name}-${new_ver}, '{}' \;
|
|
}
|
|
|
|
pom_file=pom.xml
|
|
fix_pom()
|
|
{
|
|
find $root_dir -type f -name ${pom_file} \
|
|
-exec sed -i s,sonar.java.source\>${old_ver},sonar.java.source\>${new_ver}, '{}' \;
|
|
find $root_dir -type f -name ${pom_file} \
|
|
-exec sed -i s,targetJdk\>${old_ver},targetJdk\>${new_ver}, '{}' \;
|
|
}
|
|
|
|
old_ver_remaining_log=/tmp/remaingOldStrings.log
|
|
grep_for_remaining_old_version_string()
|
|
{
|
|
echo "Please CHECK the file\n ${old_ver_remaining_log}\nfor any remaining instances"\
|
|
"of ${old_ver} below directory:\n $root_dir\nto make sure they were not forgotten."
|
|
grep -r ${old_ver} ${root_dir} | grep -v "/target/" | grep -v "Binary file" | grep -vF .log | grep -v "Generated by javadoc" > ${old_ver_remaining_log}
|
|
echo "Please also CHECK that all changes made are correct before committing"
|
|
}
|
|
|
|
fix_classpath_file
|
|
fix_manifest_file
|
|
fix_jdt_prefs_file
|
|
fix_standalone_debugger_test_launch
|
|
fix_pom
|
|
grep_for_remaining_old_version_string
|