On 22/04/2013 4:28 PM, James Teh wrote:
There is a major problem with the merged IDL. It does not include the
IAccessibleTable.idl file.

This is now fixed, but unfortunately, there's more bad news. Now, the IDL includes Accessible2.idl before AccessibleRelation.idl, which breaks because IAccessible2 depends on IAccessibleRelation. It looks like buildapi.sh was changed to list all of the .idl files in alphabetical order. I suspect there will be other similar problems once AccessibleRelation is moved. I think it's best to return to the old order and just add the missing AccessibleTable.idl.

I'm attaching a modified version of buildapi.sh which does just this.

Jamie

--
James Teh
Director, NV Access Limited
Ph + 61 7 5667 8372
www.nvaccess.org
Facebook: http://www.facebook.com/NVAccess
Twitter: @nvaccess
# 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 Accessible2_2.idl 
AccessibleComponent.idl AccessibleValue.idl AccessibleText.idl 
AccessibleText2.idl AccessibleEditableText.idl AccessibleHyperlink.idl 
AccessibleHyperText.idl AccessibleHypertext2.idl AccessibleTable.idl 
AccessibleTable2.idl AccessibleTableCell.idl AccessibleImage.idl 
AccessibleEventId.idl AccessibleApplication.idl AccessibleDocument.idl 
IA2TypeLibrary.idl | sed -e 's/import "[A-Za-z0-9].*$//g' - | cat 
api_all_headers.idl - > ../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
_______________________________________________
Accessibility-ia2 mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/accessibility-ia2

Reply via email to