tree b26f70937999fd801900f35e812996cf079859bf
parent 205c5a0c1fcd1d7b72a0af85c79632f7b522d90a
author Lars Vogel <Lars.Vogel@vogella.com> 1534873109 +0200
committer Lars Vogel <Lars.Vogel@vogella.com> 1535012501 +0200

Bug 535802 - EPL-2.0 for tests in jdt.debug

Manual adjustment of
org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/AbstractReader.java

And
			org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/eval/generator/NestedTypeTestGenerator.java				18
			org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/eval/generator/OtherTestsGenerator.java				18
			org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/eval/generator/TestGenerator.java				18
			org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/eval/generator/TypeHierarchyTestsGenerator.java


Script used for this update:

git checkout master
git reset --hard origin/master
git pull

find . -type f ! -name "*.exsd" ! -name "org.eclipse.jdt.ui.prefs" -exec
sed -i  's/Eclipse Public License v1.0/Eclipse Public License 2.0/g' {}
+

find . -type f  ! -name "*.exsd" ! -name "org.eclipse.jdt.ui.prefs"
-exec sed -i -E
's/([[:blank:]]*[^[:blank:]])*([[:blank:]]*)http:\/\/www.eclipse.org\/legal\/epl-v10.html/\1\2https:\/\/www.eclipse.org\/legal\/epl-2.0\/\
\1\
\1\2SPDX-License-Identifier: EPL-2.0/' {} +


# Get rid of the All rights reserved
find . -type f ! -name "*.exsd" ! -name "org.eclipse.jdt.ui.prefs" !
-name "pom.xml" -exec sed -i -E
's/([[:blank:]]*[^[:blank:]])*([[:blank:]]*)(All rights reserved.
)/\1\n\1\2/' {} +

Change-Id: I8347af6f8c8e028140406cbbe237b9f1603b55d1
Signed-off-by: Lars Vogel <Lars.Vogel@vogella.com>
