#!/bin/bash set -e ROOT_DIR=$(readlink -f $(dirname $0)) source ${ROOT_DIR}/helper/generic export CONFIGURE_FLAGS="" export GIT_BRANCH="${GIT_BRANCH:-master}" export COMPARE_BRANCH="${COMPARE_BRANCH:-api-next}" export GENERIC_SRCDIR="${GENERIC_SRCDIR:-${SRCDIR}/odp}" export GENERIC_BUILDDIR="${GENERIC_BUILDDIR:-${BUILDDIR}/odp_diff}" export COMPARE_BUILDDIR="${COMPARE_BUILDDIR:-${BUILDDIR}/odp_diff_2}" export CLEANUP="${CLEANUP:-1}" export COMPARE_URL="${COMPARE_URL:-""}" PLATFORM=${PLATFORM:-linux-generic} DETAILED_DIFF=${DETAILED_DIFF:-0} DETAILED_DIFF_FLAGS="" API_LOGDIR="${LOGDIR}/diff-api" LOGFILE_BASENAME="${LOGFILE_BASENAME:-default}" LOGFILE="${API_LOGDIR}/${LOGFILE_BASENAME}-$(date "+%Y%m%d_%H%M")" mkdir -p ${API_LOGDIR} publishing=${ROOT_DIR}/publishing/diff-api mkdir -p ${publishing} trap cleanup_exit INT TERM EXIT cleanup_exit() { if [[ ${CLEANUP} -eq 1 ]]; then rm -rf ${GENERIC_BUILDDIR} rm -rf ${COMPARE_BUILDDIR} rm -rf odp_diff* rm -rf ${API_LOGDIR} ${PLATFORM_SHORT}_cleanup fi } usage() { echo -e "$0 makes use of the following environment variables," echo -e "\tCOMPARE_URL:\t which ODP git repo to use, default: NONE" echo -e "\tCOMPARE_BRANCH:\t which branch to checkout and test, default: master" echo -e "\tCLEANUP:\t to save workspace set CLEANUP=0, default: ${CLEANUP}" echo -e "\tDETAILED_DIFF:\t to see a detailed list set DETAILED_DIFF=1, default: 0" ${PLATFORM_SHORT}_usage } prepare_platform if [[ "x$1" = "x-h" || "x$1" = "x--help" ]]; then usage exit 0 fi display_os if [ ${DETAILED_DIFF} -eq 1 ]; then DETAILED_DIFF_FLAGS="--detailed --brief" fi ${PLATFORM_SHORT}_get # Default compare branch and repo, if you don't set anything you will default # to api-next and upstream repo odp (linux-generic) if [ -z ${COMPARE_URL} ]; then COMPARE_URL=${GIT_URL} fi if [ ! -d "$GENERIC_BUILDDIR" ]; then setup_builddir ${GENERIC_SRCDIR} ${GIT_URL} ${GIT_BRANCH} ${GENERIC_BUILDDIR} fi if [ ! -d "$COMPARE_BUILDDIR" ]; then setup_builddir ${GENERIC_SRCDIR} ${COMPARE_URL} ${COMPARE_BRANCH} ${COMPARE_BUILDDIR} fi if [[ -d ${COMPARE_BUILDDIR}/platform/linux-dpdk ]]; then source ${ROOT_DIR}/helper/platform/dpdk dpdk_prepare >>${LOGFILE}-${4}-prepare.log 2>&1 dpdk_get >>${LOGFILE}-${4}-prepare.log 2>&1 dpdk_build >>${LOGFILE}-${4}-prepare.log 2>&1 fi ${ROOT_DIR}/helper/api_diff/dox_api_signature.pl --generate --in_dir=${GENERIC_BUILDDIR} >/dev/null ${ROOT_DIR}/helper/api_diff/dox_api_signature.pl --generate --configure="${CONFIGURE_FLAGS}" --in_dir=${COMPARE_BUILDDIR} >/dev/null ${ROOT_DIR}/helper/api_diff/dox_diff_repos.pl ${DETAILED_DIFF_FLAGS} --git_dir=${GENERIC_BUILDDIR} --git_dir=${COMPARE_BUILDDIR} --no-generate | tee ${publishing}/$(basename ${GIT_URL})-${GIT_BRANCH}_VS_$(basename ${COMPARE_URL})-${COMPARE_BRANCH}-api-diff.txt ## vim: set sw=4 sts=4 et foldmethod=syntax : ##