| OLD | NEW | 
|---|
|  | (Empty) | 
| 1 #!/bin/bash |  | 
| 2 # |  | 
| 3 # This is meant to replicate the behavior of cp, except that it will not fail |  | 
| 4 # if the source files are not present.  Something like |  | 
| 5 # "cp ${SOURCES} ${DEST} || true" would also have worked except that |  | 
| 6 # gyp does not allow for specifying || in the action, and the windows |  | 
| 7 # cygwin envrionment does not include "true" making a script like this the |  | 
| 8 # least ugly solution. |  | 
| 9 |  | 
| 10 SOURCES="" |  | 
| 11 DESTINATION="" |  | 
| 12 |  | 
| 13 # Shift off every argument but the last and consider them the sources. |  | 
| 14 # It would have probably been easier to put the destination first, but |  | 
| 15 # this is not too hard and it replicates the argument ordering of cp. |  | 
| 16 while (( "$#" != 1 )); do |  | 
| 17   SOURCES="$SOURCES $1" |  | 
| 18   shift |  | 
| 19 done |  | 
| 20 |  | 
| 21 DESTINATION=$1 |  | 
| 22 |  | 
| 23 # Early out if there was not enough parameters to discern a destination. |  | 
| 24 # Also fail the command because this means we are being invoked incorrectly. |  | 
| 25 if test -z "$DESTINATION"; then |  | 
| 26   echo "ERROR: Destination empty." |  | 
| 27   exit 1 |  | 
| 28 fi |  | 
| 29 |  | 
| 30 # Only try to copy the source file if it exists.  It is not an error |  | 
| 31 # if the input does not exist; we just silently ignore the input. |  | 
| 32 for i in $SOURCES; do |  | 
| 33   if test -f $i; then |  | 
| 34     cp -v -f $i $DESTINATION |  | 
| 35   fi |  | 
| 36 done |  | 
| 37 |  | 
| 38 # Make sure we always succeed. |  | 
| 39 exit 0 |  | 
| OLD | NEW | 
|---|