cleaning up JavaTest.sh - quote paths, and less error-prone deletion (#4301)
This commit is contained in:
parent
cb2481efdc
commit
cfbab31fb1
|
@ -14,31 +14,30 @@
|
||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
|
set -o errexit
|
||||||
|
|
||||||
echo Compile then run the Java test.
|
echo Compile then run the Java test.
|
||||||
|
|
||||||
java -version
|
java -version
|
||||||
|
|
||||||
testdir=$(readlink -fn `dirname $0`)
|
testdir="$(readlink -fn "$(dirname "$0")")"
|
||||||
thisdir=$(readlink -fn `pwd`)
|
|
||||||
|
|
||||||
targetdir=${testdir}/target
|
targetdir="${testdir}/target"
|
||||||
|
|
||||||
if [[ "$testdir" != "$thisdir" ]]; then
|
if [[ -e "${targetdir}" ]]; then
|
||||||
echo error: must be run from inside the ${testdir} directory
|
echo "cleaning target"
|
||||||
echo you ran it from ${thisdir}
|
rm -rf "${targetdir}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -v "${targetdir}"
|
||||||
|
|
||||||
|
if ! find "${testdir}/../java" -type f -name "*.class" -delete; then
|
||||||
|
echo "failed to clean .class files from java directory" >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
find .. -type f -name "*.class" -exec rm {} \;
|
javac -d "${targetdir}" -classpath "${testdir}/../java:${testdir}:${testdir}/namespace_test" "${testdir}/JavaTest.java"
|
||||||
|
|
||||||
if [[ -e "${targetdir}" ]]; then
|
(cd "${testdir}" && java -classpath "${targetdir}" JavaTest )
|
||||||
echo "clean target"
|
|
||||||
rm -rf ${targetdir}
|
|
||||||
fi
|
|
||||||
|
|
||||||
mkdir ${targetdir}
|
rm -rf "${targetdir}"
|
||||||
|
|
||||||
javac -d ${targetdir} -classpath ${testdir}/../java:${testdir}:${testdir}/namespace_test JavaTest.java
|
|
||||||
java -classpath ${targetdir} JavaTest
|
|
||||||
|
|
||||||
rm -rf ${targetdir}
|
|
||||||
|
|
Loading…
Reference in New Issue