Port to 2.1: Fix alternate stack cleanup on MUSL (#18687)
[platform/upstream/coreclr.git] / clean.sh
index ade2f12..d4af84a 100755 (executable)
--- a/clean.sh
+++ b/clean.sh
@@ -1,12 +1,36 @@
 #!/usr/bin/env bash
 
-# Obtain the location of the bash script to figure out where the root of the repo is.
-__ProjectRoot="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+usage()
+{
+    echo "Usage: clean [-b] [-p] [-c] [-all]"
+    echo "Repository cleaning script."
+    echo "  -b         Delete the binary output directory."
+    echo "  -p         Delete the repo-local NuGet package directory."
+    echo "  -c         Delete the user-local NuGet package caches."
+    echo "  -all       Cleans repository and restores it to pristine state."
+    echo
+    echo "If no option is specified, then \"clean.sh -b\" is implied."
+    exit 1
+}
 
-echo Cleaning previous output for the selected configuration
+if [ "$1" == "-?" ] || [ "$1" == "-h" ]; then
+    usage
+fi
 
-rm -rf "$__ProjectRoot/bin"
+# Implement VBCSCompiler.exe kill logic once VBCSCompiler.exe is ported to unixes
 
-rm -rf "$__ProjectRoot/Tools"
+__working_tree_root="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
 
-exit 0
\ No newline at end of file
+if [ "$*" == "-all" ]
+then
+   echo "Removing all untracked files in the working tree"
+   git clean -xdf $__working_tree_root
+   exit $?
+fi
+
+if [ $# == 0 ]; then
+    __args=-b
+fi
+
+$__working_tree_root/run.sh clean $__args $*
+exit $?