merge_its_project.bash 7.73 KB
Newer Older
garciay's avatar
garciay committed
#!/bin/bash

# Debug mode
garciay's avatar
garciay committed
#set -vx
garciay's avatar
garciay committed
#set -e
garciay's avatar
garciay committed

# Usage: sudo ./merge_ite_project.bash
# TODO Use git clone in temporary directory

OLDPWD=`pwd`

# Storing path
garciay's avatar
garciay committed
DEST_DIR=~/tmp
if [ ! -d ${DEST_DIR} ]
garciay's avatar
garciay committed
then
	  exit -1
else
	  DEST_DIR=${DEST_DIR}/to_be_merged
garciay's avatar
garciay committed
	  if [ -d ${DEST_DIR} ]
garciay's avatar
garciay committed
	  then
garciay's avatar
garciay committed
	      rm -f ${DEST_DIR}/*
garciay's avatar
garciay committed
	  else
garciay's avatar
garciay committed
	          mkdir ${DEST_DIR}
garciay's avatar
garciay committed
	  fi
fi
garciay's avatar
garciay committed
# Execution path
RUN_PATH="${0%/*}"
garciay's avatar
garciay committed
SRC_ITS_PATH=~/dev/STF525_Its
garciay's avatar
garciay committed
if [ "${PATH_DEV_ITS}" == "" ]
then
garciay's avatar
garciay committed
    PATH_DEV_ITS=~/dev/etsi_its
garciay's avatar
garciay committed
fi

# Update ETSI Framework files
echo 'Merging ETSI Framework files'
FWK_SRC_PATH=${SRC_ITS_PATH}/ccsrc
FWK_DST_PATH=${PATH_DEV_ITS}/framework
FWK_DIR_LIST_HH=`find ${FWK_SRC_PATH}/Protocols/ -name "*.h*" -type f`
for i in ${FWK_DIR_LIST_HH}
do
    BN=`basename $i`
    if [ "${BN}" != "BTPPort.hh" ]
    then
	      s1=`sha256sum -b $i | cut -d' ' -f1`
	      s2=`sha256sum -b ${FWK_DST_PATH}/include/${BN} | cut -d' ' -f1`
	      if [ ${s1} != ${s2} ]
	      then
garciay's avatar
garciay committed
	          cp ${FWK_DST_PATH}/include/${BN} ${DEST_DIR}
garciay's avatar
garciay committed
	          if [ -f ${FWK_DST_PATH}/include/${BN}~ ]
	          then
		            rm ${FWK_DST_PATH}/include/${BN}~
	          fi
	      fi
    fi
done
FWK_DIR_LIST_CC=`find ${FWK_SRC_PATH}/Protocols/ -name "*.c*" -type f`
for i in ${FWK_DIR_LIST_CC}
do
    BN=`basename $i`
    if [ ${BN} != BTPPort.cc ]
    then	
	      s1=`sha256sum -b $i | cut -d' ' -f1`
	      s2=`sha256sum -b ${FWK_DST_PATH}/src/${BN} | cut -d' ' -f1`
	      if [ ${s1} != ${s2} ]
	      then
garciay's avatar
garciay committed
	          cp ${FWK_DST_PATH}/src/${BN} ${DEST_DIR}
garciay's avatar
garciay committed
	          if [ -f ${FWK_DST_PATH}/src/${BN}~ ]
	          then
		            rm ${FWK_DST_PATH}/src/${BN}~
	          fi
	      fi
    fi
done
FWK_DIR_LIST_Y=`find ${FWK_SRC_PATH}/Protocols/ -name "*.y" -type f`
for i in ${FWK_DIR_LIST_Y}
do
    BN=`basename $i`
	  s1=`sha256sum -b $i | cut -d' ' -f1`
	  s2=`sha256sum -b ${FWK_DST_PATH}/src/${BN} | cut -d' ' -f1`
	  if [ "${s1}" != "${s2}" ]
	  then
garciay's avatar
garciay committed
	      cp ${FWK_DST_PATH}/src/${BN} ${DEST_DIR}
garciay's avatar
garciay committed
	      if [ -f ${FWK_DST_PATH}/src/${BN}~ ]
	      then
		        rm ${FWK_DST_PATH}/src/${BN}~
	      fi
	  fi
done
FWK_DIR_LIST_L=`find ${FWK_SRC_PATH}/Protocols/ -name "*.l" -type f`
for i in ${FWK_DIR_LIST_L}
do
    BN=`basename $i`
	  s1=`sha256sum -b $i | cut -d' ' -f1`
	  s2=`sha256sum -b ${FWK_DST_PATH}/src/${BN} | cut -d' ' -f1`
	  if [ "${s1}" != "${s2}" ]
	  then
garciay's avatar
garciay committed
	      cp ${FWK_DST_PATH}/src/${BN} ${DEST_DIR}
garciay's avatar
garciay committed
	      if [ -f ${FWK_DST_PATH}/src/${BN}~ ]
	      then
		        rm ${FWK_DST_PATH}/src/${BN}~
	      fi
	  fi
done
FWK_DIR_LIST_HH=`find ${FWK_SRC_PATH}/Framework/ -name "*.h*" -type f`
FWK_DIR_LIST_CC=`find ${FWK_SRC_PATH}/Framework/ -name "*.c*" -type f`
for i in ${FWK_DIR_LIST_HH}
do
    BN=`basename $i`
    s1=`sha256sum -b $i | cut -d' ' -f1`
    s2=`sha256sum -b ${FWK_DST_PATH}/include/${BN} | cut -d' ' -f1`
    if [ ${s1} != ${s2} ]
    then
garciay's avatar
garciay committed
	      cp ${FWK_DST_PATH}/include/${BN} ${DEST_DIR} 
garciay's avatar
garciay committed
	      if [ -f ${FWK_DST_PATH}/include/${BN}~ ]
	      then
	          rm ${FWK_DST_PATH}/include/${BN}~
	      fi
    fi
done
for i in ${FWK_DIR_LIST_CC}
do
    BN=`basename $i`
    s1=`sha256sum -b $i | cut -d' ' -f1`
    s2=`sha256sum -b ${FWK_DST_PATH}/src/${BN} | cut -d' ' -f1`
    if [ ${s1} != ${s2} ]
    then
garciay's avatar
garciay committed
	      cp ${FWK_DST_PATH}/src/${BN} ${DEST_DIR}
garciay's avatar
garciay committed
	      if [ -f ${FWK_DST_PATH}/src/${BN}~ ]
	      then
	          rm ${FWK_DST_PATH}/src/${BN}~
	      fi
    fi
done
FWK_DIR_LIST_HH=`find ${FWK_SRC_PATH}/loggers/ -name "*.h*" -type f`
for i in ${FWK_DIR_LIST_HH}
do
    BN=`basename $i`
    s1=`sha256sum -b $i | cut -d' ' -f1`
    s2=`sha256sum -b ${FWK_DST_PATH}/include/${BN} | cut -d' ' -f1`
    if [ ${s1} != ${s2} ]
    then
garciay's avatar
garciay committed
	      cp ${FWK_DST_PATH}/include/${BN} ${DEST_DIR}
garciay's avatar
garciay committed
	      if [ -f ${FWK_DST_PATH}/include/${BN}~ ]
	      then
	          rm ${FWK_DST_PATH}/include/${BN}~
	      fi
    fi
done
FWK_DIR_LIST_CC=`find ${FWK_SRC_PATH}/loggers/ -name "*.c*" -type f`
for i in ${FWK_DIR_LIST_CC}
do
    BN=`basename $i`
    s1=`sha256sum -b $i | cut -d' ' -f1`
    s2=`sha256sum -b ${FWK_DST_PATH}/src/${BN} | cut -d' ' -f1`
    if [ ${s1} != ${s2} ]
    then
garciay's avatar
garciay committed
	      cp ${FWK_DST_PATH}/src/${BN} ${DEST_DIR}
garciay's avatar
garciay committed
	      if [ -f ${FWK_DST_PATH}/src/${BN}~ ]
	      then
	          rm ${FWK_DST_PATH}/src/${BN}~
	      fi
    fi
done
# Update ATS TTCN-3 files
echo 'Update TTCN-3 files'
TTCN_3_ORG_PATH=${SRC_ITS_PATH}/ttcn
TTCN_3_DST_PATH=${PATH_DEV_ITS}/src
TTCN_3_ATS_LIST='AtsAutoInterop AtsCAM AtsDENM AtsBTP AtsGeoNetworking AtsSecurity LibCommon TestCodec'
for i in ${TTCN_3_ATS_LIST}
do
    LIST_TTCN_FILES=`find ${TTCN_3_ORG_PATH}/$i -name "*.ttcn" -type f`
    for j in ${LIST_TTCN_FILES}
    do
	      BN=`basename $j`
	      s1=`sha256sum -b $j | cut -d' ' -f1`
garciay's avatar
garciay committed
	      s2=`sha256sum -b ${TTCN_3_DST_PATH}/$i/ttcn/${BN} | cut -d' ' -f1`
garciay's avatar
garciay committed
	      if [ ${s1} != ${s2} ]
	      then
garciay's avatar
garciay committed
	          cp ${TTCN_3_DST_PATH}/$i/ttcn/${BN} ${DEST_DIR}
garciay's avatar
garciay committed
	      fi
    done
    # Other files
    if [ -f ${SRC_ITS_PATH}/docs/$i/o2.cfg ]
    then
	      s1=`sha256sum -b ${PATH_DEV_ITS}/src/$i/docs/o2.cfg | cut -d' ' -f1`
	      s2=`sha256sum -b ${SRC_ITS_PATH}/docs/$i/o2.cfg | cut -d' ' -f1`
	      if [ ${s1} != ${s2} ]
	      then
garciay's avatar
garciay committed
            mkdir -p ${DEST_DIR}/docs/$i
	          cp ${PATH_DEV_ITS}/src/$i/docs/o2.cfg ${DEST_DIR}/docs/$i
garciay's avatar
garciay committed
	      fi
    fi
Yann Garcia's avatar
Yann Garcia committed
    for k in `ls *.cfg`
    do
        if [ -f ${SRC_ITS_PATH}/etc/$i/$k ]
        then
	          s1=`sha256sum -b ${PATH_DEV_ITS}/src/$i/etc/$k | cut -d' ' -f1`
	          s2=`sha256sum -b ${SRC_ITS_PATH}/etc/$i/$k | cut -d' ' -f1`
	          if [ ${s1} != ${s2} ]
	          then
                mkdir -p ${DEST_DIR}/etc/$i
	              cp ${PATH_DEV_ITS}/src/$i/etc/$k ${DEST_DIR}/etc/$i
	          fi
        fi
    done
    for k in `ls *.cfg_`
    do
        if [ -f ${SRC_ITS_PATH}/etc/$i/$k ]
        then
	          s1=`sha256sum -b ${PATH_DEV_ITS}/src/$i/etc/$k | cut -d' ' -f1`
	          s2=`sha256sum -b ${SRC_ITS_PATH}/etc/$i/$k | cut -d' ' -f1`
	          if [ ${s1} != ${s2} ]
	          then
                mkdir -p ${DEST_DIR}/etc/$i
	              cp ${PATH_DEV_ITS}/src/$i/etc/$k ${DEST_DIR}/etc/$i
	          fi
        fi
    done
garciay's avatar
garciay committed
done

TTCN_3_LIB_LIST='Common BTP CAM DENM GeoNetworking Ipv6OverGeoNetworking Security'
for i in ${TTCN_3_LIB_LIST}
do
    LIST_TTCN_FILES=`find ${TTCN_3_ORG_PATH}/LibIts/ttcn/$i -name "*.ttcn" -type f`
garciay's avatar
garciay committed
    for j in ${LIST_TTCN_FILES}
    do
	      BN=`basename $j`
	      s1=`sha256sum -b $j | cut -d' ' -f1`
	      s2=`sha256sum -b ${TTCN_3_DST_PATH}/LibIts/$i/ttcn/${BN} | cut -d' ' -f1`
	      if [ ${s1} != ${s2} ]
	      then
garciay's avatar
garciay committed
	          cp ${TTCN_3_DST_PATH}/LibIts/$i/ttcn/${BN} ${DEST_DIR}
garciay's avatar
garciay committed
	          rm ${TTCN_3_DST_PATH}/LibIts/$i/ttcn/${BN}~
	      fi
    done
    #    FWK_DIR_LIST_HH=`find ${FWK_SRC_PATH}/src/LibIts/$i/include -name "*.h*" -type f`
    #    FWK_DIR_LIST_CC=`find ${FWK_SRC_PATH}/src/LibIts/$i/src -name "*.c*" -type f`
    #    for j in ${FWK_DIR_LIST_HH}
    #    do
    #	BN=`basename $j`
    #	s1=`sha256sum -b $j | cut -d' ' -f1`
    #	s2=`sha256sum -b ${PATH_DEV_ITS}/src/LibIts/$i/include/${BN} | cut -d' ' -f1`
    #	if [ ${s1} != ${s2} ]
    #	then
garciay's avatar
garciay committed
    #	    cp ${PATH_DEV_ITS}/src/LibIts/$i/include/${BN} ${DEST_DIR}
garciay's avatar
garciay committed
    #	    rm ${PATH_DEV_ITS}/src/LibIts/$i/include/${BN}~
    #	fi
    #   done
    #    for j in ${FWK_DIR_LIST_CC}
    #    do
    #	BN=`basename $j`
    #	s1=`sha256sum -b $j | cut -d' ' -f1`
    #	s2=`sha256sum -b ${PATH_DEV_ITS}/src/LibIts/$i/src/${BN} | cut -d' ' -f1`
    #	if [ ${s1} != ${s2} ]
    #	then
garciay's avatar
garciay committed
    #	    cp ${PATH_DEV_ITS}/src/LibIts/$i/src/${BN} ${DEST_DIR}
garciay's avatar
garciay committed
    #	    rm ${PATH_DEV_ITS}/src/LibIts/$i/src/${BN}~
    #	fi
    #   done
done


LIST_FILES=`find ${PATH_DEV_ITS} -name "*~" -type f`
for i in ${LIST_FILES}
do
    BN=$i
    BN=${BN:: -1} # Remove the last character
garciay's avatar
garciay committed
    cp ${BN} ${DEST_DIR}
garciay's avatar
garciay committed
    rm $i
done

garciay's avatar
garciay committed
exit 0