Update clean.sh script to reflect changes introduced in clean.cmd, unify messages...
authorJacek Blaszczynski <biosciencenow@outlook.com>
Wed, 8 Nov 2017 16:57:57 +0000 (17:57 +0100)
committerJacek Blaszczynski <biosciencenow@outlook.com>
Wed, 8 Nov 2017 16:57:57 +0000 (17:57 +0100)
clean.cmd
clean.sh

index 0521d2f..0805543 100644 (file)
--- a/clean.cmd
+++ b/clean.cmd
@@ -1,6 +1,9 @@
 @if not defined _echo @echo off
 setlocal EnableDelayedExpansion
 
+set NO_DASHES_ARG=%1
+if /I [%NO_DASHES_ARG:-=%] == [?] goto Usage
+if /I [%NO_DASHES_ARG:-=%] == [h] goto Usage
 
 :: Check if VBCSCompiler.exe is running
 tasklist /fi "imagename eq VBCSCompiler.exe" |find ":" > nul
@@ -13,7 +16,6 @@ if errorlevel 1 (
 :: Strip all dashes off the argument and use invariant
 :: compare to match as many versions of "all" that we can
 :: All other argument validation happens inside Run.exe
-set NO_DASHES_ARG=%1
 if not defined NO_DASHES_ARG goto no_args
 if /I [%NO_DASHES_ARG:-=%] == [all] (
   echo Cleaning entire working directory ...
@@ -28,12 +30,13 @@ exit /b %ERRORLEVEL%
 
 :Usage
 echo.
+echo Usage: clean [-b] [-p] [-c] [-all]
 echo Repository cleaning script.
 echo Options:
-echo     -b     - Cleans the bin directory
-echo     -p     - Cleans the packages directory
-echo     -c     - Deletes the user-local nuget package cache.
-echo     -all   - Cleans everything and restores repository to pristine state
+echo     -b     - Delete the binary output directory.
+echo     -p     - Delete the repo-local NuGet package directory.
+echo     -c     - Deletes the user-local NuGet package cache.
+echo     -all   - Cleans repository and restores it to pristine state.
 echo.
-echo If no option is specified then clean.cmd -b is implied.
+echo ^If no option is specified then "clean -b" is implied.
 exit /b
\ No newline at end of file
index dacb5e2..d4af84a 100755 (executable)
--- a/clean.sh
+++ b/clean.sh
@@ -2,82 +2,35 @@
 
 usage()
 {
-    echo "Usage: clean [-b] [-t] [-p]"
+    echo "Usage: clean [-b] [-p] [-c] [-all]"
     echo "Repository cleaning script."
-    echo "  -b         Clean bin directory"
-    echo "  -t         Clean tools directory"
-    echo "  -p         Clean packages directory"
-    echo "  -all       Clean everything"
+    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 -t -p\" is implied."
+    echo "If no option is specified, then \"clean.sh -b\" is implied."
     exit 1
 }
 
-# Obtain the location of the bash script to figure out where the root of the repo is.
-__ProjectRoot="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-
-echo Cleaning previous output for the selected configuration
-
-# Parse arguments
-if [ $# == 0 ]; then
-    clean_bin=true
-    clean_tools=true
-    clean_packages=true
+if [ "$1" == "-?" ] || [ "$1" == "-h" ]; then
+    usage
 fi
 
-while [[ $# -gt 0 ]]
-do
-    opt="$1"
-    case $opt in
-        -h|--help)
-        usage
-        ;;
-        -b)
-        clean_bin=true
-        ;;
-        -t)
-        clean_tools=true
-        ;;
-        -p)
-        clean_packages=true
-        ;;
-        -all)
-       clean_bin=true
-       clean_tools=true
-       clean_packages=true
-       ;;
-        *)
-    esac
-    shift
-done
+# Implement VBCSCompiler.exe kill logic once VBCSCompiler.exe is ported to unixes
 
-if [ "$clean_bin" == true ]; then
-       echo "Deleting bin directory"
-       rm -rf "$__ProjectRoot/bin"
-       if [ $? -ne 0 ]; then
-        echo "Error while deleting bin directory - error code was $?"
-        exit 1
-    fi
-fi
+__working_tree_root="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
 
-if [ "$clean_tools" == true ]; then
-       echo "Deleting tools directory"
-       rm -rf "$__ProjectRoot/Tools"
-       if [ $? -ne 0 ]; then
-        echo "Error while deleting tools directory - error code was $?"
-        exit 1
-    fi
+if [ "$*" == "-all" ]
+then
+   echo "Removing all untracked files in the working tree"
+   git clean -xdf $__working_tree_root
+   exit $?
 fi
 
-if [ "$clean_packages" == true ]; then
-       echo "Deleting packages directory"
-       rm -rf "$__ProjectRoot/packages"
-       if [ $? -ne 0 ]; then
-        echo "Error while deleting packages directory - error code was $?"
-        exit 1
-    fi
+if [ $# == 0 ]; then
+    __args=-b
 fi
 
-echo "Clean was successful"
-
-exit 0
\ No newline at end of file
+$__working_tree_root/run.sh clean $__args $*
+exit $?