bom_operator #1

  • //
  • guest/
  • matt_peterson/
  • tools/
  • bom_operator
  • View
  • Commits
  • Open Download .zip Download (1 KB)
#!/bin/sh

# Do not echo anything because some scripts use the output as input"

usage()
{
 echo
 echo "usage: $0 <command> <from dir[+<field>|to dir[+]<field>> <bom file>"
 echo
 echo "examples: $0 "p4 sync" //build/$CODELINE/ jar.bom"
 echo "            will do like 'p4 sync //build/oware31/lib/oware.jar'" 
 echo "          $0 sum d:/work/jarfiles jar.bom"
 echo "            will do like 'sum d:/work/jarfiles/lib/oware.jar'"
 echo "          $0 "cp -pr" d:/work/build+* d:/work/release raw.bom"
 echo "             will do like 'cp -pr d:/work/build/lib/* d:/work/release/lib'" 
 echo
}

if [ "$DEBUG" = 0 ]
then
   set -vx
fi

dir1=`echo $2 | awk -F+ '{print $1}'`
dir1plus=`echo $2 | awk -F+ '{print $2}'`
dir2=`echo $3 | awk -F+ '{print $1}'`
dir2plus=`echo $3 | awk -F+ '{print $2}'`

# add / if missing
echo $dir1 | grep \/$ || dir1=$dir1/
echo $dir2 | grep \/$ || dir2=$dir2/

if [ $# -gt 4 -o $# -lt 3 ]
then
   echo
   echo error: incorrect number of parameters passed to bom_operator
   usage
   exit 1
elif [ $# -eq 3 ]
then

# Process unary commands
    bom=$3


    awk -v v1="$1" -v v2="$dir1" -v v3="$dir1plus" '{print v1,v2$1v3";\n"}' $3 >/tmp/oper.x
    stat=$?


else

# Process binary commands
    bom=$4

    awk  -v v1="$1" -v v2="$dir1" -v v3="$dir1plus" -v v4="$dir2" -v v5="$dir2plus" '{print v1,v2$1v3,v4$1v5";\n"}' $4 > /tmp/oper.x
    stat=$?

fi

. /tmp/oper.x
stat=`expr $stat + $?`

rm -f /tmp/oper.x

exit $stat
# Change User Description Committed
#1 588 matt_peterson Tools for building