Generalize post-import Eclipse run configuration for more fixups

Previously this launcher's job was to run "processTestResources" and
any other Gradle tasks needed to create files that Eclipse was
expecting to be available.  But we also want to use it to revert the
bad changes that Buildship applies to ".launch" configuration files.

This is a temporary hack to work around
<https://github.com/eclipse/buildship/issues/653>.
This commit is contained in:
Ben Liblit 2018-02-28 12:23:26 -06:00
parent c6a6ef8b97
commit 17fc048599
4 changed files with 26 additions and 5 deletions

View File

@ -13,7 +13,7 @@
<booleanAttribute key="show_console_view" value="true"/>
<booleanAttribute key="show_execution_view" value="true"/>
<listAttribute key="tasks">
<listEntry value="eclipseProcessTestResources"/>
<listEntry value="afterEclipseBuildshipImport"/>
</listAttribute>
<stringAttribute key="working_dir" value="${workspace_loc:/com.ibm.wala}"/>
</launchConfiguration>

View File

@ -84,9 +84,7 @@ subprojects { subproject ->
}
}
task eclipseProcessTestResources {
dependsOn processTestResources
}
task afterEclipseBuildshipImport(dependsOn: processTestResources)
test {
include '**/*Test.class'
@ -97,6 +95,10 @@ subprojects { subproject ->
}
}
task afterEclipseBuildshipImport(type: Exec) {
commandLine './revert-launchers.sh'
}
////////////////////////////////////////////////////////////////////////
//

View File

@ -186,7 +186,7 @@ task cleanColllectTestDataA(type: Delete) {
// help Eclipse build these extra jars when needed
//
eclipseProcessTestResources {
afterEclipseBuildshipImport {
dependsOn(
collectJLex,
collectTestData,

19
revert-launchers.sh Executable file
View File

@ -0,0 +1,19 @@
#!/bin/bash -eu
cd "$(dirname "$0")"
# be selective; revert only launchers we think we know about
launchers=(com.ibm.wala.*/launchers/*.launch com.ibm.wala.*/.launchConfigurations/*.launch)
# if no launchers have changed, then there's nothing for us to do
if git diff --quiet "${launchers[@]}"; then
exit
fi
# create a backup in case we revert something that we should have left alone
git stash save --quiet 'safety snapshot before reverting launcher changes made by Eclipse Buildship import'
git stash apply --quiet
# revert launch configurations that Buildship import has mangled
# <https://github.com/eclipse/buildship/issues/653>
git checkout -- "${launchers[@]}"