PHP Classes

File: sdk/scripts/generateControllersFromTemplate.sh

Recommend this page to a friend!
  Classes of Samuel Adeshina   PHP Authorize.net SIM   sdk/scripts/generateControllersFromTemplate.sh   Download  
File: sdk/scripts/generateControllersFromTemplate.sh
Role: Auxiliary data
Content type: text/plain
Description: First Commit
Class: PHP Authorize.net SIM
Generate payment forms for Authorize.net SIM API
Author: By
Last change:
Date: 8 years ago
Size: 3,951 bytes
 

Contents

Class file image Download
#!/bin/bash echo "Starting `date`" CDIR=`pwd` SRCDIR=lib GENFOLDER=net/authorize/api/contract/v1 CONTROLLERFOLDER=net/authorize/api/controller CNTNAMESPACE=${CONTROLLERFOLDER//\//\\} CLASSMAP=./ControllerClassMap.php echo "Using CNTNAMESPACE: ${CNTNAMESPACE}" GENLOG=$CDIR/log/generator.log SRCLOG=$CDIR/log/Sources CNTLOG=$CDIR/log/Controllers if [ -d $CDIR/log ];then rm -r $CDIR/log/*.* 1> /dev/null 2>&1 else mkdir $CDIR/log fi if [ ! -d $SRCDIR ]; then echo "Unable to find $SRCDIR" exit 1 fi if [ -f ${CLASSMAP} ];then rm ${CLASSMAP} fi GENFULL=${SRCDIR}/${GENFOLDER} CNTFULL=${SRCDIR}/${CONTROLLERFOLDER} echo "Generated Controller load map for Controllers on `date`" > ${CLASSMAP} | tee > ${GENLOG} if [ ! -d ${CNTFULL} ]; then mkdir ${CNTFULL} fi echo "Identifying Request/Responses to process from $SRCDIR" | tee >> ${GENLOG} touch ${SRCLOG}0.log touch ${CNTLOG}0.log ls ${GENFULL}/*.php | grep -i -e "request\.php" -e "response\.php" > ${SRCLOG}0.log ls ${CNTFULL}/*Controller.php > ${CNTLOG}0.log 2>/dev/null echo "Cleaning up paths in Sources and Controllers" | tee >> ${GENLOG} GENLEN=${#GENFULL} CNTLEN=${#CNTFULL} GENLEN=$(( $GENLEN + 2 )) CNTLEN=$(( $CNTLEN + 2 )) cut -c${GENLEN}- ${SRCLOG}0.log | cut -d. -f1 | sort -u > ${SRCLOG}1.log cut -c${CNTLEN}- ${CNTLOG}0.log | cut -d. -f1 | sort -u > ${CNTLOG}.log echo "Getting Unique Requests/Responses" | tee >> ${GENLOG} grep -i -e "request *$" -e "response *$" ${SRCLOG}1.log > ${SRCLOG}2.log echo "Identifying Object names" | tee >> ${GENLOG} perl -pi -w -e "s/Request *$//g;" ${SRCLOG}2.log perl -pi -w -e "s/Response *$//g;" ${SRCLOG}2.log sort -u ${SRCLOG}2.log > ${SRCLOG}3.log echo "Fixing Controllers" | tee >> ${GENLOG} perl -pi -w -e "s/Controller *$//g;" ${CNTLOG}.log perl -pi -w -e 's/^ *\n//g;' ${CNTLOG}.log echo "Creating backup for later comparison" | tee >> ${GENLOG} cp ${SRCLOG}3.log ${SRCLOG}4.log > /dev/null cp ${CNTLOG}.log ${CNTLOG}9.log > /dev/null echo "Removing ExistingControllers From Request/Response List" | tee >> ${GENLOG} # echo "From File" | tee >> ${GENLOG} # while read aLine; do # echo Processing removal of existing controller "${aLine}" >> ${GENLOG} # perl -pi -w -e "s/^\b${aLine}\b *$//g;" ${SRCLOG}3.log # done < ${CNTLOG}.log echo From BlackList | tee >> ${GENLOG} blackList="ANetApi Error Ids XXDoNotUseDummy" for blackLine in $blackList ; do echo Processing removal of Blacklisted controllers "$blackLine" | tee >> ${GENLOG} perl -pi -w -e "s/^\b${blackLine}\b *$//g;" ${SRCLOG}3.log done perl -pi -w -e 's/^ *\n//g;' ${SRCLOG}3.log echo Creating Final List of Request/Response to generate code | tee >> ${GENLOG} sort -u ${SRCLOG}3.log > ${SRCLOG}.log while read aLine; do CNTNAME=${CNTFULL}/${aLine}Controller.php echo "'${CNTNAMESPACE}\\${aLine}Controller' => \$libDir . '${CONTROLLERFOLDER}/${aLine}Controller.php'," | tee >> ${CLASSMAP} echo "Processing Controller for Request/Respose: ${aLine}, Controller=${CNTNAME}" | tee >> ${GENLOG} if [ -f ${CNTNAME} ]; then echo "${CNTNAME} exists, Creating New" | tee >> ${GENLOG} cp resources/ControllerTemplate.phpt "${CNTNAME}.new" perl -pi -w -e "s/APICONTROLLERNAME/${aLine}/g;" "${CNTNAME}.new" #else fi if [ ! -f ${CNTNAME} ]; then echo "Generating Code for ${CNTNAME}" | tee >> ${GENLOG} cp resources/ControllerTemplate.phpt "${CNTNAME}" perl -pi -w -e "s/APICONTROLLERNAME/${aLine}/g;" "${CNTNAME}" fi done < ${SRCLOG}.log echo "Controller generated ClassMap is in file: ${CLASSMAP}" | tee >> ${GENLOG} echo "Identify Obsolete Controllers, from request/response list" | tee >> ${GENLOG} while read aLine; do echo "Processing obsolete Controller ${aLine}" | tee >> ${GENLOG} perl -pi -w -e "s/${aLine} *$//g;" "${CNTLOG}9.log" done < ${SRCLOG}.log sort -u "${CNTLOG}9.log" > /dev/null rm -r *.bak 2> /dev/null echo "Finished `date`"