Review Request 118510: small rework of product sets: products, features and product sets

Jarosław Staniek staniek at kde.org
Tue Jun 10 22:57:42 BST 2014



> On June 7, 2014, 9:22 p.m., Jarosław Staniek wrote:
> > CalligraProducts.cmake, line 30
> > <https://git.reviewboard.kde.org/r/118510/diff/3/?file=279161#file279161line30>
> >
> >     For me not clear from the 1st second.. how about OPTIONAL? "Optional" is feels natural and is used in sentences below too.
> >     Since we need as verb, RECOMMENDS is also good. 
> >     "WANTS" does not emphasize optionality.
> 
> Friedrich W. H. Kossebau wrote:
>     WANTS was mainly chosen for being only 5 letters. Hm. Indeed would favour a verb, but not sure with both RECOMMENDS and OPTIONAL if they make clear enough that the listed products/features will be simply skipped in the build if any of their internal or external requirements cannot be fulfilled.
>     
>     OPTIONAL if used alone in sets which have only optional dependencies might not be 
>     RECOMMENDS sounds as if the user has to still select them explicitely somewhere.
>     
>     Hm. Somehow WANTS at least in my eyes expresses that better. Other ideas/reasonings?
> 
> Jarosław Staniek wrote:
>     If we pick REQUIRES above, how about WANTS -> ADDITIONAL change here?
> 
> Friedrich W. H. Kossebau wrote:
>     Meh, something ate part of what I wrote, it should have been:
>     OPTIONAL if used alone in sets which have only optional dependencies would look strange with e.g. define_product_set(FOO  OPTIONAL BAR OTHERBAR)
>     
>     So see same problem with ADDITIONAL, define_product_set(FOO  ADDITIONAL BAR OTHERBAR) is not directly understandable I fear.
>     ADDS? TRIES?
>

define_product_set(FOO OPTIONAL BAR OTHERBAR) defines a fully optional product set (which in a corner case, can install nothing), doesn't it? Summing up, this feels OK to me (even after looking at http://www.ietf.org/rfc/rfc2119.txt for inspiration):

REQUIRES
  ...
OPTIONAL
  ...


- Jarosław


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/118510/#review59528
-----------------------------------------------------------


On June 5, 2014, 5:52 p.m., Friedrich W. H. Kossebau wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/118510/
> -----------------------------------------------------------
> 
> (Updated June 5, 2014, 5:52 p.m.)
> 
> 
> Review request for Calligra, Yue Liu, Boudewijn Rempt, and Jarosław Staniek.
> 
> 
> Repository: calligra
> 
> 
> Description
> -------
> 
> Based on the feedback, adaption and more own tinkering with the concepts, in this patch I propose to do this:
> 
> * split the old idea of a "product" into "product", "feature" and "productset"
> * make no real difference between user-defined productsets and predefined ones
> * move the definition of the products into a separate file, for better overview and discoverability
> * put the documentation directly into that separate file instead of hiding it away in some README in some subdirectory noones knows about
> * generate a file with the graph of the dependencies, showing also the build state (in DOT notation, see attached SVG file generated from that)
> * more patterns for the ids of the products
> * allow to have multiple productsets/products/features mentioned in the -DPRODUCTSET flag (taken with WANTED property for now) (as asked for with https://git.reviewboard.kde.org/r/118187)
> 
> Surely this whole thing is in danger to be overengineered :) Especially given that Krita devs have not picked up this for all the Sketch, Gemini, Steam etc variants makes me wonder if it is perhaps. But then it might just be underdocumented and uncommon and people have not yet discovered the nice build customizations this offers over what is usually possible. Time to roll the drums about this, mean, blog :)
> 
> One thing still missing: proper disabling of products with selected product sets. But lets leave that for a separate RR.
> 
> 
> Diffs
> -----
> 
>   CMakeLists.txt 86297a1 
>   CalligraProducts.cmake PRE-CREATION 
>   README.PACKAGERS 4ebc026 
>   active/CMakeLists.txt 4361fb6 
>   cmake/modules/CalligraProductSetMacros.cmake 697c046 
>   cmake/productsets/README 5460955 
>   cmake/productsets/active.cmake 089a085 
>   cmake/productsets/all.cmake 4619358 
>   cmake/productsets/creative.cmake 2b8fc45 
>   cmake/productsets/desktop.cmake 83db3a1 
>   cmake/productsets/kexi+sheets.cmake 3fe2f48 
>   cmake/productsets/kexi.cmake 7dd2345 
>   cmake/productsets/krita.cmake 2c814d3 
>   cmake/productsets/osx.cmake 8e32b13 
>   cmake/productsets/sheets.cmake 5de2103 
>   devtools/CMakeLists.txt bfa5599 
>   extras/CMakeLists.txt a534b0e 
>   extras/quickprint/CMakeLists.txt 9ad61d2 
>   extras/thumbnail/CMakeLists.txt 92156b3 
>   filters/flow/visio/import/CMakeLists.txt 1de4385 
>   filters/flow/wpg/import/CMakeLists.txt 524d1b1 
>   filters/karbon/karbon1.x/CMakeLists.txt 87bdb73 
>   filters/karbon/wmf/CMakeLists.txt c25ed2c 
>   filters/karbon/wpg/CMakeLists.txt 5f578e9 
>   filters/karbon/xfig/CMakeLists.txt 1e0e2c6 
>   filters/sheets/excel/import/CMakeLists.txt 07aa186 
>   filters/sheets/xlsx/CMakeLists.txt 80d51aa 
>   filters/stage/keynote/import/CMakeLists.txt 1b44b52 
>   filters/stage/kpr2odf/CMakeLists.txt 31c69b0 
>   filters/stage/powerpoint/CMakeLists.txt 60e1ccc 
>   filters/stage/pptx/CMakeLists.txt 31aef35 
>   filters/words/docx/import/CMakeLists.txt d9f0cec 
>   filters/words/msword-odf/CMakeLists.txt 8bd3806 
>   filters/words/rtf/import/CMakeLists.txt df6f50d 
>   filters/words/wordperfect/import/CMakeLists.txt 6a0e2d7 
>   filters/words/works/import/CMakeLists.txt 76317ae 
>   kexi/plugins/CMakeLists.txt bf389f2 
>   krita/plugins/formats/ora/CMakeLists.txt cd1a605 
>   libs/CMakeLists.txt d482a4b 
>   libs/kotext/CMakeLists.txt 9f9e506 
>   plan/plugins/CMakeLists.txt e06e339 
>   plugins/textshape/CMakeLists.txt f8d75f5 
>   sheets/CMakeLists.txt a45829d 
>   sheets/plugins/CMakeLists.txt 6a45389 
>   stage/CMakeLists.txt eaf8ecf 
>   words/CMakeLists.txt 033db4d 
>   words/part/CMakeLists.txt 2bf1b0b 
>   words/part/tests/CMakeLists.txt 6fd9b0c 
>   words/plugins/CMakeLists.txt 229cff8 
> 
> Diff: https://git.reviewboard.kde.org/r/118510/diff/
> 
> 
> Testing
> -------
> 
> 
> File Attachments
> ----------------
> 
> Dependencies graph
>   https://git.reviewboard.kde.org/media/uploaded/files/2014/06/04/b1958536-ca1c-4552-8c3d-120a9d8b786f__dependencies.svg
> Dependencies graph with just Kexi & Sheets built
>   https://git.reviewboard.kde.org/media/uploaded/files/2014/06/04/8924bbdf-b05c-426d-b469-d5bceb87bac7__kexisheetdependencies.svg
> 
> 
> Thanks,
> 
> Friedrich W. H. Kossebau
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/calligra-devel/attachments/20140610/7b9a5d2e/attachment.htm>


More information about the calligra-devel mailing list