2018-01-26 3:50 GMT+01:00 Jean-Philippe André <j...@videolan.org>:

> Hi,
>
> On Fri, Jan 26, 2018 at 6:51 AM, Davide Andreoli <d...@gurumeditation.it>
> wrote:
>
> > Hi guys,
> >
> > it's time for me to promote and receive some feedback on this really neat
> > and powerfull tool I'm working on: an eolian generator fully based on a
> > modern template engine, like the one you found in webtools like Django
> and
> > Jinja2.
> >
> > All the documentation is hosted at:
> > https://phab.enlightenment.org/w/pyolian/
> >
> >
> > I initially wrote this generator to create the next-coming python-efl
> based
> > on the Unified API,
> > but It comes out so much powerfull and flexible that I suggest it's usage
> > for every eolian based generation needs.
> >
> >
> > Please give it a try and report any issue/idea/suggestion to me.
> >
> > ...at least, if you are so much lazy, please run (inside the
> > efl/src/scripts/pyolian folder):
> > ./generator.py test_gen_class.template --cls Efl.Loop.Timer
> > ./generator.py test_gen_namespace.template --ns Efl.Ui
> >
> > and report any issue, It need testing !
> >
>
> Well... The first command gives me this:
>   AttributeError: 'Type' object has no attribute 'c_type'
>

already fixed yesterday before sending this mail, you just need to update.


>
> The other command works fine :)
>

great, thanks for reporting


>
>
> Anyway, what's the plan for this?
>

I will use the generator to build the python bindings and the documentation
for them.



> Is this the tool generating the doc in our website? Aren't we using a
> Lua-based generator?
>

Currently the beta docs on our wiki are generated with a lua based generator
written only for that purpose.

I also wrote (still WIP) the templates to generate (more or less) the same
docs,
they are in efl/src/scripts/gendoc/ and currently they generate this:
http://www.gurumeditation.it/dokuwiki/doku.php?id=develop:api:start
As you can see in that folder there are just some lines of python glue code,
everything is just inside the templates.



> I don't care much which one we use but it would be a shame to have 2
> competing tools to maintain :)
>


I initially wrote those doc templates just for testing the generator and to
make
myself in touch with eolian, but at the end it seems to me that writing and
maintaining our documentation with "my" tool will be much more easier,
faster and funny than the current elua approach. I highly suggest to switch
from the elua handwritten generator to this new template based generator.
...Well, I suggest to use the templete based generator for every eolian
needs :)

of course this is just my suggestion and the maintainers of the various
pieces
(all the bindings and docs) should give it a try and make the choice.



>
> As you know, each binding is generated using a custom generator written in
> the maintainer's choice of language (so, Lua or C++, now Python).
> This makes sense as it means anyone maintaining a binding only needs to
> know C and that language (not 100% true for C# as it's using the C++
> generator).
>

You don't have to know python to use this generator, you just need to write
the templates to generate whatever you like. This is the real benefit of it
:)

Writing a custom generator is a quite difficult/long/annoying task: you
first
need to manually implement the bindings in your preferred language for the
full eolian API (that is quite huge) . Then you can start to write the real
generator, that is usually an annoying/hard-to-modify sequence of fprintf.

The template based generator cut off lots (maybe 50% ?) of the time/efford
you need to generate something.


> So what I think is that this is a great tool that you provide here, but I
> doubt other languages than Python will adopt this straight away. Unless we
> start working on a new binding, maybe?
>

Not that I really mind what other people will use to generate their
bindings,
I'm just suggesting to use the templates approch as it will symplify their
life :)


>
> One way or another, good job! Thanks a lot :)
>
>
>
> > The only issue I know atm is that you must build the efl source IN-TREE,
> > otherwise it will not work; this will be fixed once we will switch to
> meson
> > (I don't want to make the works twice)
> >
>
> Good to know!
>
>
> --
> Jean-Philippe André
> ------------------------------------------------------------
> ------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to