]> git.ipfire.org Git - thirdparty/asterisk.git/commit
docs: Add version information to manager event instance XML elements
authorGeorge Joseph <gjoseph@sangoma.com>
Mon, 20 Jan 2025 18:33:20 +0000 (11:33 -0700)
committerGeorge Joseph <gjoseph@sangoma.com>
Thu, 23 Jan 2025 17:39:01 +0000 (17:39 +0000)
commit2897d87a99c1a290febadb0d35c146fd8566782f
treeefe49c851849b7d5a97d68f177860960e6d666f9
parent80a28f40ac5df48cd7b5572f73aa89995f02088c
docs: Add version information to manager event instance XML elements

* Do a git blame on the embedded XML managerEvent elements.

* From the commit hash, grab the summary line.

* Do a git log --grep <summary> to find the cherry-pick commits in all
  branches that match.

* Do a git patch-id to ensure the commits are all related and didn't get
  a false match on the summary.

* Do a git tag --contains <commit> to find the tags that contain each
  commit.

* Weed out all tags not ..0.

* Sort and discard any .0.0 and following tags where the commit
  appeared in an earlier branch.

* The result is a single tag for each branch where the application or function
  was defined.

The events defined in res/res_pjsip/pjsip_manager.xml were done by hand
because the XML was extracted from the C source file relatively recently.

Two bugs were fixed along the way...

* The get_documentation awk script was exiting after it processed the first
  DOCUMENTATION block it found in a file.  We have at least 1 source file
  with multiple DOCUMENTATION blocks so only the first one in them was being
  processed.  The awk script was changed to continue searching rather
  than exiting after the first block.

* Fixing the awk script revealed an issue in logger.c where the third
  DOCUMENTATION block contained a XML fragment that consisted only of
  a managerEventInstance element that wasn't wrapped in a managerEvent
  element.  Since logger_doc.xml already existed, the remaining fragments
  in logger.c were moved to it and properly organized.
45 files changed:
apps/app_agent_pool.c
apps/app_confbridge.c
apps/app_meetme.c
apps/app_minivm.c
apps/app_mixmonitor.c
apps/app_queue.c
apps/app_stack.c
apps/app_voicemail.c
apps/confbridge/confbridge_manager.c
build_tools/get_documentation
cdr/cdr_manager.c
cel/cel_manager.c
channels/chan_dahdi.c
channels/sig_pri.c
funcs/func_global.c
main/aoc.c
main/asterisk.c
main/channel.c
main/core_local.c
main/devicestate.c
main/loader.c
main/lock.c
main/logger.c
main/logger_doc.xml
main/manager_bridges.c
main/manager_channels.c
main/manager_doc.xml
main/manager_mwi.c
main/pbx.c
main/pickup.c
main/presencestate.c
main/rtp_engine.c
main/security_events.c
main/stasis.c
main/stasis_bridges.c
main/stasis_channels.c
main/stasis_endpoints.c
main/stasis_system.c
res/parking/parking_manager.c
res/res_agi.c
res/res_fax.c
res/res_manager_devicestate.c
res/res_manager_presencestate.c
res/res_mwi_external_ami.c
res/res_pjsip/pjsip_manager.xml