Page MenuHomePhabricator

provide option to generate "beta api" header
Closed, ResolvedPublic

Description

When marking something with @beta, the class header then requires #define CLASS_BETA in any files which use it. This is super annoying when the beta api is used widely within the project's internals, so eolian should have an option to generate a header with all of these defines so that this file can be included in the project's internal (private) header.

Details

zmike created this task.Mar 23 2018, 11:01 AM
zmike added a project: Restricted Project.Jun 22 2018, 2:44 PM
zmike triaged this task as Wishlist priority.

How about we change the syntax of @beta into something like @beta(EFL_BETA_API_SUPPORT) which is hidden against a guard with #ifdef EFL_BETA_API_SUPPORT ?

Me not understanding. Can you provide examples of how would the new EO and H files look like? :/

bu5hm4n moved this task from Restricted Project Column to Restricted Project Column on the Restricted Project board.Feb 4 2019, 6:28 AM
bu5hm4n raised the priority of this task from Wishlist to High.Feb 8 2019, 3:22 AM

Okay, this is again gaining a bit of traction as we try to start making a lot of things beta. Right now this will lead to a load of additional defines. Can we either have:

  • asdf @beta(EFL_BETA_API_SUPPORT) which will hide asdf behind a include guard of "#ifdef EFL_BETA_API_SUPPORT"
  • just define ALL beta guards as EFL_BETA_API_SUPPORT ?
segfaultxavi added a subscriber: q66.

I dug a bit in git history and could not find any reason for class-specific beta guards. Therefore I prefer to forget about them and just use the global beta guard EFL_BETA_API_SUPPORT.
I'll provide a patch.

segfaultxavi closed this task as Resolved.Feb 14 2019, 12:29 PM