Uploaded image for project: 'Qbs ("Cubes")'
  1. Qbs ("Cubes")
  2. QBS-1658

support multiple sources for one module

    XMLWordPrintable

    Details

    • Type: Suggestion
    • Status: Reported
    • Priority: Not Evaluated
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Labels:
      None

      Description

      as mentioned in QBS-61, modules may come from both within the project (in form of Products) as well as outside the project (in form of Modules).

      external modules may be provided either by the external library itself, or be generated by providers. even though externally provided modules are "native" to qbs, they shouldn't be invariably preferred over generated ones, as they may be botched, too (in particular if generated by "alien" build systems). therefore, it makes sense to be able to disable them as a source. one may view external modules as going through a "zero transform" module provider and therefore subsume them under QBS-1604, but the case seems special enough to justify treating them as a source of their own (though this is debatable, in particular in the context of QBS-1603).

      assuming we want a single property which allows selecting and prioritizing sources at the same time (congruently with as QBS-1604 does within the provider source), we arrive at a property qbsModuleSources which is a string list with the default ['product', 'native', 'provider'] (which is also the exhaustive set of possible values).

      note that unlike simply disabling the products in question, changing the priority using this new property allows defining a soft preference. this mixes particularly well with QBS-581 (and maybe QBS-576).

      by extension that means that a product that isn't used due to being out-competed by modules usually should not be built at all. however, that would require a corresponding declaration in the product itself, as otherwise things would become rather non-obvious. but given such a declaration in the product itself, having an additional external property to select the source appears redundant. therefore, it may make sense to fully subsume this task under QBS-581 (or a spin-off thereof).

        Attachments

          Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            Activity

              People

              Assignee:
              kandeler Christian Kandeler
              Reporter:
              buddenha Oswald Buddenhagen
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Dates

                Created:
                Updated:

                  Gerrit Reviews

                  There are no open Gerrit changes