o3de-framework-apis.sh 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. #!/bin/bash
  2. # Relative path to this script
  3. REL_PATH=${BASH_SOURCE%/*}
  4. source ${REL_PATH}/o3de-api-functions.sh
  5. source ${REL_PATH}/config.sh
  6. # Path to output generated files
  7. OUTPUT_DIRECTORY=${O3DEORG_PATH}/frameworks
  8. # Path to source code
  9. FRAMEWORKS=${O3DE_PATH}/Code/Framework
  10. # Frameworks API landing page template
  11. LANDING_TEMPLATE=${REL_PATH}/framework_index.md
  12. # File to output LANDING_TEMPLATE
  13. OUTPUT_TOC=${O3DEORG_PATH}/content/frameworks/_index.md
  14. echo "Create Gems API landing page (https://www.o3de.org/docs/api/frameworks/): " ${OUTPUT_TOC}
  15. if [ ! -e "${OUTPUT_TOC%/*}" ]; then
  16. mkdir -p "${OUTPUT_TOC%/*}"
  17. fi
  18. cp ${LANDING_TEMPLATE} ${OUTPUT_TOC}
  19. echo "Clean output directory: " ${OUTPUT_DIRECTORY}
  20. if [ -d ${OUTPUT_DIRECTORY} ]; then
  21. rm -r ${OUTPUT_DIRECTORY}
  22. fi
  23. echo "Generate a set of API docs for each framework"
  24. for framework_path in `ls -1d ${FRAMEWORKS}/*/ `; do
  25. # Configure and run Doxygen
  26. framework=`basename ${framework_path}`
  27. echo "* [${framework}](/docs/api/frameworks/${framework})" >> ${OUTPUT_TOC}
  28. config_file=`mktemp`
  29. index="${REL_PATH}/index.md"
  30. echo \
  31. "
  32. Welcome to the **Open 3D Engine (O3DE)** API Reference for the **${framework}** framework!
  33. $TOC_PATTERN
  34. Return to the [Frameworks API Reference](/docs/api/frameworks) index page.
  35. " > $index
  36. main_config="${REL_PATH}/core-api-doxygen.config"
  37. if [ -e "${framework}.doxygen" ]; then
  38. main_config="${framework}.doxygen"
  39. fi
  40. cat $main_config >> $config_file
  41. echo PROJECT_NAME=\"Open 3D Engine ${framework} API Reference\" >> $config_file
  42. echo PROJECT_NUMBER=${PROJECT_NUMBER} >> $config_file
  43. echo OUTPUT_DIRECTORY=${OUTPUT_DIRECTORY} >> $config_file
  44. echo INPUT=${framework_path} ${index} >> $config_file
  45. echo HTML_OUTPUT=${framework} >> $config_file
  46. echo STRIP_FROM_PATH=$O3DE_PATH >> $config_file
  47. echo "${framework}: Using config ${config_file}, landing page ${index}"
  48. doxygen $config_file
  49. # Post-process generated files
  50. generate_toc "${OUTPUT_DIRECTORY}/${framework}" "${framework}"
  51. done