# run build.sh from the IA2 directory

# make sure we have Cygwin
if [ ! -d /cygdrive/c ]; then
    echo 'Expected to find Cygwin'
    exit 1
fi

# make sure we have the proper directory structure
if [ ! -d api ]; then
    echo 'Expected to find ./api'
    exit 1
fi

# make sure we have Doxygen
if [ ! -x /cygdrive/c/program\ files/doxygen/bin/doxygen.exe ]; then
    echo 'Expected to find c:/program files/doxygen/bin/doxygen.exe'
    exit 1
fi

cd api

# make sure we have a Doxygen configuration file
if [ ! -f ../doxygen.conf ]; then
    echo 'Expected to find doxygen.conf'
    exit 1
fi

# clean up test dir
if [ -f ../IDL-Test/dlldata.c ]; then
    rm ../IDL-Test/*.c
    rm ../IDL-Test/*.h
fi

cp ../IDL-Test/StdAfxSave/*.* ../IDL-Test

# remove previous autogenerated Doxygen files
if [ -d ../docs ]; then
    rm -rf ../docs
fi

# generate IDL documentation with Doxygen
/cygdrive/c/program\ files/doxygen/bin/doxygen ../doxygen.conf

# remove any previous autogenerated merged IDL file
if [ -f ../ia2_api_all.idl ]; then
    rm ../ia2_api_all.idl
fi

# generate merged IDL file - IA2TypeLibrary.idl must be at the end
cat IA2CommonTypes.idl AccessibleRelation.idl AccessibleAction.idl AccessibleRole.idl AccessibleStates.idl Accessible2.idl AccessibleComponent.idl AccessibleValue.idl AccessibleText.idl AccessibleEditableText.idl AccessibleHyperlink.idl AccessibleHypertext.idl AccessibleTable.idl AccessibleImage.idl AccessibleEventId.idl AccessibleApplication.idl IA2TypeLibrary.idl | sed -e 's/import "[A-Z].*$//g' - > ../ia2_api_all.idl

cd ..

# remove previous autogenerated zip file
if [ -f ia2-api-`date +%Y%m%d`.zip ]; then
    rm ia2-api-`date +%Y%m%d`.zip
fi

# package merged IDL file and documentation
zip -9r ia2-api-`date +%Y%m%d`.zip ia2_api_all.idl api/*.idl docs

# list packaged file for visual confirmation
echo ''
ls -l ia2-api-`date +%Y%m%d`.zip
