Page MenuHomePhabricator

API documentations do not show Eo generating legacy APIs.
Closed, ResolvedPublic

Description

https://docs.enlightenment.org/efl/current/
https://docs.enlightenment.org/elementary/current/

At some point, legacy APIs generated by Eo disappears from API documentations. In doxygen configuration, "*.eo.legacy.h" should be included as INPUT type.
Documentation is the first impression for EFL starters. This problem should be solved ASAP.

conr2d created this task.Jan 28 2016, 7:50 AM
conr2d updated the task description. (Show Details)
conr2d raised the priority of this task from to Showstopper Issues.
conr2d added projects: efl, Restricted Project.
conr2d added a subscriber: conr2d.

What are you missing exactly? What parts have been there before and have now been removed?

I had a look at our Doxyfile configuration file and it includes all files matching *.c and *.h below src/lib and other folders. That should includes the legacy API files.

Having some concrete examples what you are missing would help.

jayji added a subscriber: jayji.Feb 1 2016, 1:56 PM

Hi. I think what @conr2d mentions is the difference between what is shown in the documentation and the Eo files. I also noticed that parts of the ELM API vanished from the doc.
Below is the screenshot of elm_layout documentation (nightly build)

It does not mention most of Elm_Layout API. Small example with the two functions below that I am quite sure were present in the docs at some point.

EAPI void elm_layout_signal_emit(Elm_Layout *obj, const char *emission, const char *source); // EO method signal_emit
EAPI Evas_Object *elm_layout_edje_get(const Elm_Layout *obj); // EO @property edje

elm_layout_signal_emit() is even mentioned in this page, but not its API (and not referrenced either).

conr2d added a comment.Feb 1 2016, 7:45 PM

Yes, right. As like @jayji mentioned, almost all APIs belonging to xxx.eo.legacy.h disappear from the doc.
For example, according to the next link, https://docs.enlightenment.org/elementary/current/group__Button.html
elm_button_autorepeat_set/get()
elm_button_autorepeat_initial_timeout_set/get()
elm_button_autorepeat_gap_timeout_set/get()
Nothing can be found in elm_button doc. Other widgets' docs are in similar situation.

I had another look and found out what actually caused this.

When the documentation was migrated into the .eo file the group name changed from e.g. Button to Elm_Button. That means the original group Button page would only hold the content from from the non eo files. Changing the group name to Elm_Button everywhere brings it all back. (Changing the genrated name is more problematic and given that elm merges into efl having the Elm_ prefix makes sense)

I'm pondering how to do this best right now. Changing all the group names might break links, etc. I will figure something out.

That was nastier than I originally thought. After several tries to just get the two groups together I gave up on that and just renamed the not generated group name. The Elm_prefix is a good idea anyway when merging into efl. I hope this fixes all of it, if not let me know.

jayji added a comment.Mar 16 2016, 2:40 PM

Doc is back! Thanks a lot!
I didn't check all the elm entries but the one I've viewed seem fine now :-)