> On April 7, 2014, 6:03 p.m., Martin Gräßlin wrote: > > I still do not understand the rational behind the change. Could you please > > explain why we would want this build option? > > Michael Palimaka wrote: > It's just nice to have, useful for some people, not useful for others. > It's not a new option, it's been provided by ECM for over a year and of > course KDE4_BUILD_TESTS was floating around before that. > > Martin Gräßlin wrote: > right, but it was a deliberate decision to not honor KDE4_BUILD_TESTS in > kde-workspace/kwin. So I'm just wondering what's the usecase or better put > the advantage for kwin development to have a build option to disable testing. > Personally I don't see any. If your a developer you to run the tests, thus it > should be enabled. If you are a distro you want to run the tests as part of > your package building process. So who would benefit from such a build option? > > Michael Palimaka wrote: > Can we at least move QtTest dependency to tests directories? > > Johannes Huber wrote: > As a source distro the tests run uncoditionally (on end user boxes). So > there is a benefit and please follow the KF5 standardized way of doing > things. Thanks in advance. > > Martin Gräßlin wrote: > > Can we at least move QtTest dependency to tests directories? > > To which one? There are multiple autotests subdirectories. Also the > XCB::ICCCM dependency is not in the tests but in the root CMakeLists.txt and > I like it that way because all XCB dependencies are defined at one place. > > > So there is a benefit > > The benefit has to be weight against the costs. I see an additional cost > on maintenance because we have to remember to add the build dependency > whenever a new subdirectory gets tests or autotests. I see here a high > breakage risk which I do not want to bear (been there with broken build > options - remember OpenGL build option?). If this is really just a build > option to suit the needs of one distribution I think the general rule of no > distro-specific patches has to apply. > > > please follow the KF5 standardized way of doing things > > This is not a KF5 library, thus any rules for KF5 do not apply to KWin. > You might notice that we also don't have a src/ subdirectory. > > Michael Palimaka wrote: > Well the zero maintenance option is to leave everything where it is > making the test-specific stuff conditional on BUILD_TESTING. I am really > having trouble understanding why doing this is so offensive, given that it > has zero impact on people that don't use it and having such an option is a > fairly common thing. > > Thomas Lübking wrote: > Martin wrote: > > what's the usecase or better put the advantage for kwin development to > have a build option to disable testing. > > I'd say it's a gentoo specific thing, since users build kwin, but can not > make use of tests etc. since they're users of the distro - not its > maintainers nor (in any case) developers or interested in kwin development. > Building/running the tests will only slow down their update process. > > And, surprise: Michael & Johannes both have gentoo mail addresses ;-P > > Michael Palimaka wrote: > Of course we would find it useful, but it really is a bit of a stretch to > call such an option Gentoo-specific. > > Thomas Lübking wrote: > Well, I see the usecase for source based distros - got another? > > If not, the bottom line of > http://distrowatch.com/search.php?category=Source-based is "makes sense for > gentoo" - that's not meant as disqualification, but to point the reason (it's > also of use for gobolinux users, but what exactly is a "gobolinux" then?) > > Martin Gräßlin wrote: > The point is that this is a build option which doesn't make sense during > development. For development the tests need to be built, the same in the CI > system. Thus it's a build option nobody working on KWin will use. This bears > a high risk of breakage. We have been there with the optional OpenGL > dependency, which was basically always broken because nobody used it. > > I try to learn from the mistakes from the past. Having a build option > which nobody uses, sounds like a very bad idea to me. My aim as the > maintainer is to do decisions which are best for the development of KWin. > It's certainly not to please every stake holder. > > Johannes Huber wrote: > Dear Martin, > > as you already noticed that the test are only usefull for developers, CI > systems and users interested in tests. > > The proposed changes from Michael: > > > 1. Will NOT disrupt your workflow: > > > https://projects.kde.org/projects/kdesupport/extra-cmake-modules/repository/revisions/master/entry/kde-modules/KDECMakeSettings.cmake > > # TEST > # > # Testing is enabled by default, and an option (BUILD_TESTING) is > # provided for users to control this. See the CTest module > # documentation in the CMake manual for more details. > # > # This section can be disabled by setting > # KDE_SKIP_TEST_SETTINGS > # to TRUE before including this module. > > 2. Will HELP all source based distro not to pull in unconditionally a new > dependency (qttest) > > 3. Will HELP to not execute tests unconditionally > > 4. Upstreaming is the way to go as you already written down in blog post > > http://blog.martin-graesslin.com/blog/2013/10/how-code-flows-about-upstream-and-downstream/ > > So makes upstream buildsystem patching in downstream sense in this case? > > Greetings, > Johannes > > Thomas Lübking wrote: > > 1. Will NOT disrupt your workflow: > > You're missing his point. > > Martins concern is that realistically no developer will use this key. > We therefore might easily introduce changes that break building w/o > BUILD_TESTING and those would be released unnoticed, ie. the key would not be > maintained, thus virtually not exist. > > Johannes Huber wrote: > # Testing is enabled by default > > > option(BUILD_TESTING "Build the testing tree." ON) > > Just for the record it is enabled by default. (Even when it is not set) > > Thomas Lübking wrote: > "no developer will use this key" was meant to be read as "we'll *not* > turn off testing" > > Martin Gräßlin wrote: > exactly, the point is that we would introduce a build option which looks > to your users like we support it. Which is not the case, we cannot guarantee > that this option is doing what it's supposed to do. We would not be able to > guarantee that KWin compiles (unlikely as it's tests, but bugs happens, > right?) and we would not be able to guarantee that it properly excludes all > tests, which would turn the build option into a joke. > > We made bad experiences with contributed features which increased the > maintenance costs. From this experience we derived some rules to decide > whether a new feature can be accepted. Please see: > http://community.kde.org/KWin/Mission_Statement#Developer_Perspective > > Our experience is that we can only include features we are willing and > able to maintain. > > In this case I just fail to see the advantage in having the build option. > The costs of maintenance are to me higher than the possible benefits. To me > it looks like solving the very special need of Gentoo users, but adding costs > for us on development side. As you linked my blog post I can also quote it: > "Nevertheless not all code should be upstreamed. If the code is needed for > the downstream integration task it needs to be kept downstream." > > Obviously if you present a good reason on how this would help KWin > development or how it is not just relevant for Gentoo, I can be convinced > that the benefits of this build option outweight the costs. > > Johannes Huber wrote: > Consistent build system by a KDE community is a good reason, isnt it?
> Consistent build system by a KDE community is a good reason, isnt it? AFAIK there is no requirement to use ECM in KDE applications. - Martin ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/117393/#review55183 ----------------------------------------------------------- On April 7, 2014, 4:50 p.m., Michael Palimaka wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://git.reviewboard.kde.org/r/117393/ > ----------------------------------------------------------- > > (Updated April 7, 2014, 4:50 p.m.) > > > Review request for kwin and Plasma. > > > Repository: kwin > > > Description > ------- > > Add option to disable building tests, and move the QtTest dependency to be > required only for tests. > > > Diffs > ----- > > CMakeLists.txt 35fb9ac3b0f8506e6f0fd92b48ba60e83524f212 > autotests/CMakeLists.txt 475a7a5f9013ed16d37777bc05e9cba2ad033338 > kcmkwin/kwincompositing/CMakeLists.txt > 8eb170bedd32f04f5d2cc0fbd3079758e6138cc6 > kcmkwin/kwincompositing/test/CMakeLists.txt PRE-CREATION > libkwineffects/CMakeLists.txt 0544b0d441f3685240160f15e6c9890c8a92fec1 > libkwineffects/autotests/CMakeLists.txt > 8973545cc21b010f1430cf7df20a29da5b14ab43 > tabbox/CMakeLists.txt 76ba3a2499ca142bb82109db9d7239001ed7157e > tabbox/autotests/CMakeLists.txt 4e83fa7524483d64ea149f0eb1818ea9f61cffe0 > > Diff: https://git.reviewboard.kde.org/r/117393/diff/ > > > Testing > ------- > > Builds. Tests pass (when enabled). > > > Thanks, > > Michael Palimaka > >
_______________________________________________ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel