I am afraid in the middle of this discussion Mike's message has gone
unnoticed. He already did this move 2 months ago:
https://phab.enlightenment.org/D6880
His patch removed the examples from the efl tree, including makefiles and
CI.
The examples in their new location already have makefiles.
The task is still pending review.

Marcel, can any of that work still be used?

Xavi

On Fri, 2 Nov 2018 at 14:35, Carsten Haitzler <ras...@rasterman.com> wrote:

> On Thu, 1 Nov 2018 10:45:15 +0100 Marcel Hollerbach <m...@bu5hm4n.de>
> said:
>
> >
> >
> > On 11/1/18 9:37 AM, Carsten Haitzler (The Rasterman) wrote:
> > > On Wed, 31 Oct 2018 14:59:51 +0100 Marcel Hollerbach <m...@bu5hm4n.de>
> said:
> > >
> > >>
> > >>
> > >> On 10/31/18 10:35 AM, Carsten Haitzler (The Rasterman) wrote:
> > >>> On Tue, 30 Oct 2018 12:45:34 +0100 Marcel Hollerbach <
> m...@bu5hm4n.de>
> > >>> said:
> > >>>
> > >>>>
> > >>>>
> > >>>> On 10/30/18 10:11 AM, Xavi Artigas wrote:
> > >>>>> I don't know what I'm talking about now, but I think Mike
> suggested that
> > >>>>> the examples repo could be a submodule of the efl repo, which
> could be
> > >>>>> checked out and built when "make examples" was called? Is that an
> > >>>>> option?
> > >>>>>
> > >>>>> In this way we have the trees separated, with a much lighter efl,
> while
> > >>>>> still having the convenience of "make examples".
> > >>>>>
> > >>>>
> > >>>> That is possible. (With meson :))
> > >>>
> > >>> possible with autofoo too - it's not just meson :)... but why does a
> > >>> lighter tree matter? when you have the git tree you get the whole
> history
> > >>> so if it ever WAS in the tree... you still clone it (unless its a
> shallow
> > >>> clone - another story). if building of examples isn't the default
> then
> > >>> it's not going to be tested as much as people are not aware of it
> being
> > >>> an option etc. etc. - yes. it adds to the build time, but with
> benefit.
> > >>> unlike making -Werror default which can lead to build failure due to
> > >>> causes outside of tree (like system/dependency headers causing
> warnings
> > >>> thus build errors), this would have build errors that are a result of
> > >>> efl's breaking something... :)
> > >>>
> > >>
> > >> I actually don't really know where to start right now why a lighter
> tree
> > >> is better, from efl.git POV:
> > >>
> > >> 1) The API is probebly more used in tests then in the examples (if not
> > >> then we are in much bigger trouble)
> > >
> > > more tests == better. :) examples will almost definitely use api in
> > > different ways. we don't have a full complete test suite of every
> api... so
> > > examples out of tree removes a build test at least.
> >
> > Now you switched from API testing to behaviour testing ... Which implies
> > that you will need to run every single examples that we have every time
>
> no - i still mean api. they would pass different enums, use differing
> api's to
> the tests we have as tests we have do not cover 100% of api - not even
> close.
> they cover a small fraction of efl's api.
>
> > you patch something, while remembering every single way of working. That
> > are about 650 executables ... :). Don't get me wrong, but assuming that
>
> nope. didn't mean to run them all. :) just compile them.
>
> > this is *done* by someone is just plainly wrong. Noone does that, and
> > the number of executables that are not doing anything but spitting out
> > errors is probebly proving this point. (Examples: everything in regards
> > of evas-3d, evas-object-manipulation, evas-textblock-obstacles renders
> > text over and over again)
> >
> > >> 2) The API is checked anyways in the tests, thus this is just useless
> > >> wasted compile time
> > >
> > > certainly only a percentage of our api is tested in tests... a
> smallish one.
> >
> > Mhmm quickly checking API coverage with and without examples build is
> > proving that you are wrong with this, the only APIs that are not used in
> > tests is the evas-3d stuff.
>
> at least as far as our test are concerned (test suites) ethumb has no
> tests - it
> only has examples. same with ephysics. the elementary examples arfe
> definitely
> more plentiful than tests. elm_win_activate(), elm_win_lower(),
> elm_win_borderless_get(), elm_win_borderless_set(),
> elm_win_shaped_get()... in
> fact the elm win test uses an incredibly small number of api's vs the
> example.
> yes - sure. we have elementary_test testing almost all of these though, but
> relying on the test suites to cover all of our api i don't think flies
> right
> now. that is my point. removing examples removes
>
> > >> 3) Our examples simply don't build. check out the ephysics stuff :)
> > >
> > > that's bad - so moving things that don't build somewhere else will fix
> > > that? :)
> >
> > No - but it proves my point that having them in tree is pointless
> > because noone tests them :)
>
> true - so maybe they should build by default... :)
>
> > >> 4) We are talking about the efl.git repository, i would try to keep
> > >> software in there that works. Everything else looks dubious.
> > >
> > > that is true, but perhaps the examples should be fixed, not removed? :)
> >
> > They should be fixed since a long time - and it does not happen, if it
> > happens now then they are located alongside our other examples (and as
> > shown below, more usefull to the user)
> >
> > >
> > >> from the examples.git POV:
> > >>
> > >> 1) someone searching for examples of efl probely does not want to
> fight
> > >> trough the jungle that we call our efl.git repository
> > >
> > > they have to now fight to FIND another repo too. maybe if you wanted it
> > > easier move examples out of src into the top level? so you lone and
> there
> > > is an examples dir right in front of you when you run ls.... i'm pretty
> > > sure making it another repo is harder to find examples than this... :)
> >
> > ANOTHER repository, that is called examples.git, thats unpossible to
> > find, and noone will ever imagen that there are examples in the
> > examples.git repository ... :) Are you serious ? (And your point with
>
> no - i'm saying that someone who is looking for efl examples probably is
> looking for the examples in a split out package or in the efl package
> installed, or they go grab the efl src and look at the tree - they are less
> likely to find the examples git repo vs the efl one or whats packaged as
> part
> of the efl build (as simotek just said). :)
>
> > having them in the root directory - yes, take a look at
> >
> https://git.enlightenment.org/tools/examples.git/tree/?h=devs/bu5hm4n/examples
> )
> >
> > >> 2) its way easier to get your own software out of the example if you
> can
> > >> have a look at the buildtool and cnp solutions out there. The efl
> > >> build-system is giant, you will likely never find any usefull
> > >> information there without wasting a lot of time
> > >
> > > every example could be an autofoo style subproject with its own
> configure.ac
> > > -or same kind of thing with meson so an example can be taken as a
> project
> > > skeleton. when it';s in our out of tree/repo doesn't make a difference
> > > here. if its an out of tree examples repo with a single big build then
> it's
> > > the same - a big set of build files to wade through for a small single
> > > "app" you want. it's just how you structure the build rather than what
> > > trees things are in. :)
> > >
> >
> > Could be - but it is not, and as long as this is the case 3) hits.
> >
> > >> 3) Compiling against the installed version of efl is different from
> > >> compiling against something in-tree. Header wise, and dependency wise.
> > >
> > > indeed that is true. it's also a problem for us with running things
> like
> > > edje_cc, eolian_gen etc. from within our tree when we build. we have
> special
> > > casing of module handling just for when running in the tree. if our
> tree
> > > resembled the installation pretty much exactly... then life would be
> far
> > > simpler. :)
> > >
> > >> 4) Take a look at the ecore-con examples, they partly have used stuff
> > >> from config.h that is generated from efl.git, there is no logical
> > >> seperation between the configuration of the examples and the
> > >> configuration of efl, that makes understanding a single example super
> hard.
> > >
> > > this is true and they should not do that. but that is orthogonal to
> being
> > > in or out of tree. :)
> >
> > No its not - having it intree gives you the possibility of doing that,
> > having it out of tree simply does not.
>
> they could happily use some local duplicate of the autoconf checks and
> config.h
> in examples when they don't need to at all. moving the examples over means
> removing the ifdefs anyway and that work can be done without moving them
> over
> to achieve the same goal. that's why i call is orthogonal. the ifdefs are
> not
> needed to live in-tree. most should never have been there. some are just
> ifdefs
> to show examples specific things if efl compiled them.
>
> > >> TLDR;:
> > >> So all in all. Can we stop adding replies to this thread that impose
> no
> > >> objection nor agreement, but rather just continue... ? :)
> > >
> > > maybe you didn't see that i'm saying there are downsides to moving the
> > > examples out of tree and i highly suspect they will just bitrot in the
> > > examples tree and now provide less value in checking if we break stuff.
> > > especially anything that touched so/interfaces will rot fast.
> > >
> >
> > I saw that you are saying that there are downsides, but I also see that
> > every argument for a downside is basically invalid :)
>
> i would disagree. but ok - move them out and in 2 years form now let's see
> if
> they still compile. they shall have bitrotted i bet by then.
>
> > We can easily counter the bitrotting with having them in CI ... so we
> > always know its state, and can revert neccessary commits :)
>
> good luck with that.
>
> > > if they are just moved out as-is then broken examples that don't build
> are
> > > still broken. they need fixing anyway. i agree that having broken
> stuff is
> > > bad
> > > - isn't fixing that a better idea? :) yes - compiling a bunch of
> examples
> > > takes more time. as does running test suites and compiling those. QA
> takes
> > > time. that can be handled via build options to have a fast path build
> or a
> > > "add all the QA bits" option etc. ... :)
> >
> > Yeah - see
> >
> https://git.enlightenment.org/tools/examples.git/tree/?h=devs/bu5hm4n/examples
> >
> > Its basically sorting and fixing what is there - and searching for
> > resources that are missing for some time. I see absolutly no value in
> > fixing those things in-tree, where its not understandable how the
> > examples are assembled.
> > Those things should be usefull and obvious to new users ... which is IMO
> > better in the form you can see them there.
>
> build system specifics honestly are not something a scope that an example
> is
> showing off. it's a necessary evil. there are already docs on the autofoo
> setup
> needed to use efl and it's the same regardless of what you write. drop in
> whatever example file u like as the src file and it would work (except some
> that do edje_cc etc. - just need templates/samples for that too).
>
> but ok- remove them... let the bitrot come.
>
> > >
> > >> Greetings,
> > >>      bu5hm4n
> > >>
> > >>>>> Xavi
> > >>>>>
> > >>>>> On Tue, 30 Oct 2018 at 02:02, Carsten Haitzler <
> ras...@rasterman.com>
> > >>>>> wrote:
> > >>>>>
> > >>>>>> On Mon, 29 Oct 2018 19:18:06 +0100 Marcel Hollerbach <
> m...@bu5hm4n.de>
> > >>>>>> said:
> > >>>>>>
> > >>>>>>>
> > >>>>>>>
> > >>>>>>> On 10/29/18 7:08 PM, Carsten Haitzler (The Rasterman) wrote:
> > >>>>>>>> On Mon, 29 Oct 2018 18:02:58 +0100 Marcel Hollerbach
> > >>>>>>>> <m...@bu5hm4n.de>
> > >>>>>> said:
> > >>>>>>>>
> > >>>>>>>>> Hello,
> > >>>>>>>>>
> > >>>>>>>>> A while ago the examples from the efl.git repository were
> migrated
> > >>>>>>>>> to examples.git [1]. However - right now the examples in the
> > >>>>>>>>> efl.git are still there. Is it okay for everyone that we will
> > >>>>>>>>> remove those
> > >>>>>> examples
> > >>>>>>>>> from the main efl.git repository but have them in the
> examples.git ?
> > >>>>>>>>>
> > >>>>>>>>> Greetings,
> > >>>>>>>>>         bu5hm4n
> > >>>>>>>>>
> > >>>>>>>>> [1]:https://git.enlightenment.org/tools/examples.git/
> > >>>>>>>>
> > >>>>>>>> hmmm - these acted as nice build checks. having them out of the
> efl
> > >>>>>> tree
> > >>>>>>>> makes that no longer be in sync... :/
> > >>>>>>>
> > >>>>>>> This is true. However, those examples have been broken before,
> even if
> > >>>>>>> in-tree, they don't build per default. Also they only check for
> API
> > >>>>>>> breaks, no behaviour changes etc, those API breaks will(at
> least) be
> > >>>>>>> found by the ABI-checker. And last but not least, the
> examples.git
> > >>>>>>> repository can still be build on CI.
> > >>>>>>
> > >>>>>> catching api/abi breaks via compilation when they happen as you
> build
> > >>>>>> is nicer
> > >>>>>> than the abi checker at release time though... :)
> > >>>>>>
> > >>>>
> > >>>> You don't catch them right now via compilation either, as those are
> not
> > >>>> compiled per default. So what i am suggesting is that we simply
> hook up
> > >>>> the examples in the CI and build them there. This will additionally
> also
> > >>>> catch installtion errors.
> > >>>>
> > >>>>>>> Greetings,
> > >>>>>>>        bu5hm4n
> > >>>>>>>
> > >>>>>>>
> > >>>>>>> _______________________________________________
> > >>>>>>> enlightenment-devel mailing list
> > >>>>>>> enlightenment-devel@lists.sourceforge.net
> > >>>>>>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> > >>>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>> --
> > >>>>>> ------------- Codito, ergo sum - "I code, therefore I am"
> > >>>>>> -------------- Carsten Haitzler - ras...@rasterman.com
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>> _______________________________________________
> > >>>>>> enlightenment-devel mailing list
> > >>>>>> enlightenment-devel@lists.sourceforge.net
> > >>>>>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> > >>>>>>
> > >>>>>
> > >>>>> _______________________________________________
> > >>>>> enlightenment-devel mailing list
> > >>>>> enlightenment-devel@lists.sourceforge.net
> > >>>>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> > >>>>>
> > >>>>
> > >>>>
> > >>>> _______________________________________________
> > >>>> enlightenment-devel mailing list
> > >>>> enlightenment-devel@lists.sourceforge.net
> > >>>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> > >>>>
> > >>>
> > >>>
> > >>
> > >>
> > >> _______________________________________________
> > >> enlightenment-devel mailing list
> > >> enlightenment-devel@lists.sourceforge.net
> > >> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> > >>
> > >
> > >
> >
> >
> > _______________________________________________
> > enlightenment-devel mailing list
> > enlightenment-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> >
>
>
> --
> ------------- Codito, ergo sum - "I code, therefore I am" --------------
> Carsten Haitzler - ras...@rasterman.com
>
>
>
> _______________________________________________
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>

_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to