Uploaded image for project: 'Couchbase C client library libcouchbase'
  1. Couchbase C client library libcouchbase
  2. CCBC-1431

lcb_STATUS Enum Values Are Missing in API Reference

    XMLWordPrintable

Details

    Description

      While working on another documentation task, I noticed that the lcb_STATUS enum values are not being emitted by Doxygen.

      I see that the Doxyfile appears to have an incorrect value for EXPAND_AS_DEFINED because it has LCB_XERR instead of LCB_XERROR but when I tried to make the fix locally, that was not sufficient. I believe there is a Doxygen issue with the preprocessing of complex macros. See: https://github.com/doxygen/doxygen/issues/6856

      There are some workarounds that can be employed, but I'm just opening the ticket for future investigation at this point. The result of this problem is that our API reference documentation does not have any of the error codes mentioned at all, which is not a great situation. We would also want to be able to add some brief comments for these error codes in the future. As such, we may have to employ a workaround (as some others have done), whereby we create an enum with the documentation with an #ifdef that is only for documentation purposes. However, we should consider any other options that would make maintenance easier because that strategy would require maintaining duplicate codes (one for code and one for docs) that could cause drift if anything is overlooked.

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              Unassigned Unassigned
              ray.cardillo Ray Cardillo
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty