On 04/27/2014 08:02 AM, David Seikel wrote:
> On Sun, 27 Apr 2014 07:54:35 +0300 Daniel Zaoui
> <daniel.za...@samsung.com> wrote:
>
>> On 04/25/2014 01:25 PM, Jean-Philippe André wrote:
>>> 2014-04-25 19:11 GMT+09:00 Cedric BAIL <cedric.b...@free.fr>:
>>>
>>>> Hello,
>>>>
>>>> On Fri, Apr 25, 2014 at 11:07 AM, Jean-Philippe André
>>>> <j...@videolan.org> wrote:
>>>>> 2014-04-25 17:49 GMT+09:00 Stefan Schmidt
>>>>> <ste...@datenfreihafen.org>:
>>>>>> Triggered from the Evas 3D commits I talked with jpeg about
>>>>>> having a flag that controls if unstable API's are enabled or not.
>>>>>>
>>>>>> This would allow us to have big new features, I have Evas 3D in
>>>>>> mind here, in the coe base but have it hidden behind an BETA API
>>>>>> flag so we are not bound to stick with the API until we are
>>>>>> happy with it.
>>>>>>
>>>>>> It should not be used to get all kind of crap into the code base
>>>>>> though. I see it as a mechanism to give the code time to mature
>>>>>> for one more release cycle. If we are happy with the API we will
>>>>>> remove the BETA guards around it. On the other hand if we still
>>>>>> are not happy with it after 3 months in the new cycle we can as
>>>>>> well remove it from the master branch and give it more love
>>>>>> before it will go in again.
>>>>>>
>>>>>> Jpeg was thinking about it for new functionaliyt of an existing
>>>>>> API. I guess we could handle this as well.
>>>>> I was thinking of my "filters" API which was hidden behing EO and
>>>>> BETA flags for EFL 1.9.
>>>>> But since we now actually use Eo with Eolian, the API itself is
>>>>> auto-generated.
>>>>>
>>>>> So, we'd need Eolian to not generate some bindings for the legacy
>>>>> API. Add a @beta flag or something in the EO file.
>>>>>
>>>>> Then, only the EO binding is generated, and the legacy API is not.
>>>>> But I'm not sure if we can hide the symbols in the final library,
>>>>> since
>>>> EO
>>>>> now uses real functions as entry points?
>>>> Right now I do prefer that we do compile the code and require
>>>> application that want to use it to explicitly require the flag. I
>>>> see two reasons for it, first it prevent code rotting (obviously
>>>> being compiled by everyone is better). Second it doesn't require a
>>>> special package to try the beta API. Also for this release all Eo
>>>> API is still in alpha with high risk of seeing its ABI and API
>>>> broken for next release. It would means no binding at all for this
>>>> release. So nobody will start playing with it.
>>>>
>>>> Also what would be the value of not compiling the code ? It will
>>>> increase our code complexity and the chance to accidentally break
>>>> something.
>>>>
>>>> Maybe I wasn't clear enough... I never mentionned not compiling
>>>> the code.
>>> Only disabling the API.
>>> Apps that want to use it must #define EFL_BETA_API or something
>>> like that to use it. And then they know it's unstable.
>>>
>>> Which basically means (now) it should only be part of EO APIs and
>>> not in legacy headers.
>>>
>>> I agree with you that the code should always be compiled, quietly
>>> tested, and if possible also used by core developers.
>>>
>>> Cheers,
>>>
>> You can also #ifdef ...BETA... inside the .h that includes the
>> .eo.h/.legacy.h, e.g elm_gengrid.h.
> Actually we already had EFL_BETA_API_SUPPORT.

I know. I meant around the legacy include, so you don't publish legacy 
APIs if you don't want.

>
>
>
> ------------------------------------------------------------------------------
> Start Your Social Network Today - Download eXo Platform
> Build your Enterprise Intranet with eXo Platform Software
> Java Based Open Source Intranet - Social, Extensible, Cloud Ready
> Get Started Now And Turn Your Intranet Into A Collaboration Platform
> http://p.sf.net/sfu/ExoPlatform
>
>
> _______________________________________________
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


------------------------------------------------------------------------------
Start Your Social Network Today - Download eXo Platform
Build your Enterprise Intranet with eXo Platform Software
Java Based Open Source Intranet - Social, Extensible, Cloud Ready
Get Started Now And Turn Your Intranet Into A Collaboration Platform
http://p.sf.net/sfu/ExoPlatform
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to