Commit Graph

331 Commits

Author SHA1 Message Date
Daniel Kolesa c3a1060b94 build: disable elua by default, plus nicer detection
Elua is now disabled by default. There are some other changes:

1) Elua scripts are only installed if Elua is enabled
2) Lua bindings are only installed if Elua is enabled
3) Elua with interpreter is clearly experimental and will message
2020-06-06 19:28:26 +02:00
Daniel Kolesa b953b99a66 elua: fix object system on lua 5.2 onwards
This is a quick hacky fix, but it enables elua to work well with
lua 5.2+. Notably Eolian bindings work now.

Later this will be rewritten to use __gc directly on object
instances, with a fallback for newproxy for 5.1/luajit.
2020-05-31 03:39:49 +02:00
Daniel Kolesa aa3f1b67e7 bindings/lua: minor fixes to accommodate cffi-lua 2020-05-31 01:54:34 +02:00
Daniel Kolesa a7d475be47 elua: remove old lua bindings generator 2020-05-21 17:29:23 +02:00
Carsten Haitzler 1dd06a1e3d scripts - eina - remove eina-bench-cmp as its disbaled from install
it's also py2 which makes it EOL anyway...
2020-01-06 16:36:31 +00:00
Stefan Schmidt 55389ccf25 python: remove not needed imports in various python scripts
Should not be much harm but could help to have the minimum imports
needed when used in deployment.

Reported-By: https://lgtm.com/projects/g/Enlightenment/efl
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10885
2019-12-20 09:26:17 +01:00
Lauro Moura bb3f741990 pyolian: Add helper functions for simple scripts
Summary:
These two functions encapsulate some code that commonly is repeated
through pyolian scripts.

With these, a minimal example (provided `src/scripts/pyolian` is in
the PYTHONPATH) could be done with:

```
import os

from pyolian import eolian

SCAN_FOLDER = os.path.join(eolian.in_tree_src_dir(), 'src', 'lib')
eolian_db = eolian.parse_folders(SCAN_FOLDER)

for cls in eolian_db.classes:
    print(cls)
```

Reviewers: segfaultxavi, DaveMDS, felipealmeida

Reviewed By: felipealmeida

Subscribers: cedric, #reviewers, #committers, felipealmeida, brunobelo

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10589
2019-11-26 12:40:32 -03:00
Lauro Moura abaa90cfc2 pyolian: Add a method to get the hierarchy of extensions
Summary:
To be used by the test generator

Depends on D10420

Test Plan: test in the diff

Reviewers: DaveMDS, herb, segfaultxavi, felipealmeida

Reviewed By: felipealmeida

Subscribers: cedric, brunobelo, #reviewers, felipealmeida, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10421
2019-11-26 12:40:32 -03:00
Lauro Moura 0acc840f19 pyolian: full_inherit must recurse parent too
Test Plan: run tests

Reviewers: segfaultxavi, herb, DaveMDS, felipealmeida

Reviewed By: felipealmeida

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10420
2019-11-26 12:40:32 -03:00
Davide Andreoli 3c0e9b424d Pyolian: correctly define c_type as a property 2019-10-11 08:18:20 +02:00
Davide Andreoli f3dedfe395 Pyolian: improve api coverage script
it now also check for enums and is smarter with code comments
2019-10-10 11:06:55 +02:00
Davide Andreoli 30ddac0758 Pyolian: some more missing symbols defined 2019-10-10 11:06:55 +02:00
Davide Andreoli d2d1313f61 Pyolian: rewritten tests for the pytest framework
...much more readable now, worst the pain! :)
2019-10-08 22:51:10 +02:00
Davide Andreoli 4457a93ae5 Pyolian: implement some missing eolian functions
with tests
2019-10-07 22:38:04 +02:00
Davide Andreoli bc59a9c0a7 Pyolian gendoc: make link to events actually work 2019-10-07 21:17:10 +02:00
Davide Andreoli 70eb1c7b17 Pyolian gendoc: use some aux eolian functions to simplify templates 2019-10-07 20:32:05 +02:00
Davide Andreoli 3cdb87990a Pyolian gendoc: add ability to generate only the stable API
gendoc.py --exclude-beta

generate the docs excluding all the classes/types/etc in beta state,
a bit hackish but do the job. There are some broken links around that
refer to objects in beta state that are (correctly) not generated,
nothing we can do to fix this.
2019-10-07 19:39:07 +02:00
Davide Andreoli ac2f3896df Pyolian gendoc: the last hidden bits of documentation ref tokens
Now links works also inside documentation text \o/
2019-10-05 12:21:28 +02:00
Davide Andreoli 40676af383 Pyolian gendoc: highlight classes in beta state 2019-10-05 12:21:28 +02:00
Davide Andreoli 13e856075c Pyolian gendoc: more links to types
need to fix links to Eina types and basic types
2019-10-05 12:21:28 +02:00
Davide Andreoli 5c94f62b6d Pyolian gendoc: make links to functions actually work 2019-10-03 22:40:16 +02:00
Davide Andreoli b12f07e52b Pyolian gendoc: unbreak after recent eolian changes
shiny new generated documentation can be seen at:
www.gurumeditation.it/dokuwiki_efl/
2019-10-03 20:19:17 +02:00
Davide Andreoli 4429b16e36 Pyolian: implemented eolian Error object 2019-09-29 11:29:38 +02:00
Davide Andreoli d1e27aacfc Pyolian: reformat code to make pycharm happy
and fix some typos in the code
2019-09-29 10:19:11 +02:00
Daniel Kolesa b0ee540ec9 eolian: rename param direction enum and fields for consistency 2019-09-26 16:56:13 +02:00
Daniel Kolesa 6d93dc4cbf eolian: rename event_prefix to event_c_prefix for consistency 2019-09-26 16:47:22 +02:00
Daniel Kolesa 7e10d96d27 eolian: move EOLIAN_TYPE_BUILTIN_HASH into beta section 2019-09-26 16:47:21 +02:00
Daniel Kolesa 71cd89c580 eolian: expose most API as stable
There is still some TODO with builtin types, parameter
directions and prefixes, which will be resolved in the
next commits.
2019-09-25 18:26:07 +02:00
Daniel Kolesa 92da64a532 eolian: remove support for globals
This was meant to happen but did not previously happen. It is not
ideal to do it now but better do it while we still can.

In short, this removes one half of the variables API (keeps
constants as they are) and repurposes the API to be only for
constants. This is also better for consistency to match errors.
2019-09-24 18:27:37 +02:00
Daniel Kolesa 53a3326ddc eolian: rename any_value_ptr -> any_value_ref for consistency 2019-09-20 18:03:39 +02:00
Daniel Kolesa 267c57d0f1 eolian: remove second parameter for eolian_type_c_type_get
This has been replaced by newer APIs.
2019-09-09 18:26:49 +02:00
Lauro Moura 3edffc0c73 pyolian: Update after event and binbuf keywords
Reviewers: q66, DaveMDS

Reviewed By: q66

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9626
2019-08-28 10:21:18 +02:00
Daniel Kolesa 2f147f2725 eolian: rename is_class api for functions to is_static
Still needs restriction to classes only etc to be done later.

Ref https://phab.enlightenment.org/T8118
Ref https://phab.enlightenment.org/T7675
2019-08-16 16:33:37 +02:00
Lauro Moura 7927023fc7 pyolian: Fix tests
Summary: Update tests after some legacy cleanup from last release.

Reviewers: bu5hm4n, DaveMDS, segfaultxavi

Reviewed By: DaveMDS

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8817
2019-07-29 11:39:10 -03:00
Daniel Kolesa 61f39eef49 eolian: remove API to get freefunc of type
This is not supported anymore. For now, the syntax is kept
around because of broken C++ tests, but afterwards it will
also be removed.
2019-07-08 16:06:42 +02:00
Daniel Kolesa 13ddc5dbc1 eolian: rename @warn_unused and its associated API
@warn_unused in syntax is now called @no_unused - this is because
"warning about unused" is a C thing (or rather, an extension to C)
and various languages might want to use stricter behavior for this.

Its associated API does the reverse now - it lets you query whether
being unused is allowed at all. This is to match future behavior
of Eolian (once it supports versioning) that will likely reverse it.

@feature
2019-05-26 17:41:22 +02:00
Daniel Kolesa d0fed247bb eolian: remove param @nonull
This has been deprecated for a while and is not strictly necessary
- as a part of an effort to stabilize Eolian, remove this. Eolian
will eventually gain support for versioning and use a reversed
behavior (i.e. no NULL by default), but the API it wlll use for
that will be very different. Features can always be added, it's
much harder to drop them.

@feature
2019-05-26 17:25:15 +02:00
Daniel Kolesa 5ea0195661 eolian: remove @nullable keyword
This was an experiment that never properly took off and was never
used by any generator. Its use was highly variable, so it could
not be relied upon. We will still want to reverse the current
behavior eventually (no null by default), but that will be
done with eo file versioning in the future.

@feature
2019-05-21 16:04:35 +02:00
Daniel Kolesa 34ef9c3139 docs: remove obsolete docgen from the tree
This has long been replaced with tools/edocgen.git and most likely
does not even work.
2019-05-21 15:44:30 +02:00
Daniel Kolesa e5c9f5e76f eolian: rename eolian_event_c_name_get
This is for consistency with the new eolian_class_c_macro_get
as well as for better clarity, as c_name_get is already provided
by Object and refers to something else.
2019-05-16 15:57:39 +02:00
Daniel Kolesa b3a870c7bb eolian: rename eolian_typedecl_enum_field_c_name_get
This is to allow for better object oriented APIs, as the `c_name`
field would be inherited from Object. This also makes it more
clear in C.
2019-05-16 15:52:46 +02:00
Daniel Kolesa 4ab1f2388e eolian: add API to retrieve the C name of an object
This is to prepare for type/class renaming support. This adds
the necessary API to retrieve C-specific names. Other refactoring
is necessary elsewhere for now.

This also renames the old API eolian_class_c_name_get to
eolian_class_c_macro_get to avoid conflict as well as clarify
the intention.
2019-05-16 15:43:52 +02:00
Daniel Kolesa db57523e78 eolian: refactor parsing API and path handling
This splits the eolian_file_parse API into two, one for parsing
files already present in the database (always by filename) and
one for parsing paths.

It fixes several bugs/leaks on the way (incorrect use of
stringshare etc.) as well as adds checking for whether there
are no conflicting filenames at scan time, for free. That means
it is now no longer possible to scan two paths which have an eo
or eot file of the same name in them.

It should also be faster now.

It also fixes T7820.

@fix
2019-05-03 17:06:49 +02:00
Mike Blumenkrantz 632bd45825 efl.loop_timer: rename all methods/properties/events
Summary:
avoid potential future conflict by not using conflict-able names

ref T7731

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl_api

Maniphest Tasks: T7731

Differential Revision: https://phab.enlightenment.org/D8256
2019-03-08 16:38:46 +01:00
Daniel Kolesa cf200a7d28 eolian: remove legacy handling API and most of generation
Summary:
This removes all Eolian API that deals with handling of legacy
code. It also removes the code using it in the generator as well
as bindings, but for now keeps generation of .eo.legacy.h types,
as there are still instances in our codebase where things are
otherwise broken. We can remove the rest once that is resolved.

Reviewers: zmike, cedric

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8255
2019-03-08 10:12:09 -05:00
Daniel Kolesa 1a17aff85f eolian: add support for marking type declarations beta
Summary:
This also simplifies the beta checking API by unifying it under
objects (makes much more sense that way) and reworks the validator
to have betaness support within its context state, allowing checks
to be done easily in any place.

The betaness checks are disabled for types for the time being,
because otherwise there are too many errors (types are assumed
to be stable as they are not tagged beta, but they reference beta
classes all over the place). Set EOLIAN_TYPEDECL_BETA_WARN to 1
in your environment to force enable the checks.

Reviewers: zmike, bu5hm4n, stefan_schmidt, lauromoura, cedric

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl, #eolian

Differential Revision: https://phab.enlightenment.org/D8102
2019-03-08 08:17:01 -05:00
Daniel Kolesa 4b1622b5fc eolian: remove support for inlist/inarray
This feature was kind of ill-conceived and never worked properly.
Since there isn't enough time to make it work right at this point
and there are no users of it in the API, remove it for now.

It might get added in the next release cycle, in a proper form.

@feature
2019-02-28 20:28:24 +01:00
Mike Blumenkrantz f886941b11 api: efl.gfx.size_hints -> efl.gfx.hints
Summary:
these hints are not strictly size-related, so renaming them is more consistent
with their actual function

ref T7563

Depends on D7968

Reviewers: segfaultxavi, cedric, bu5hm4n

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7563

Differential Revision: https://phab.enlightenment.org/D7977
2019-02-21 18:43:12 +01:00
Carsten Haitzler b03c818b1c meson - dont install eina bench cmp and use install_mode 2018-12-27 17:17:13 +00:00
Carsten Haitzler f532be51bc meosn - fix install of scripts and bins and their timestamps and modes
i was comparing the bindir results of aurtofoo vs meson and some
things were missing/poking out at me. this makes them be in sync -
install the ewl_wl+test obnaries, ensure to chmod +x+r etc. scritps
AND install them
2018-12-27 15:24:08 +00:00