Qbs

Blog Documentation Get Qbs
  • Qbs Manual
  • QbsLanguageItems
  • Scanner
  • Qbs 2.1.1
  • Scanner QML Type

    Creates custom dependency scanners in modules. More...

    Import Statement: import QbsLanguageItems

    Properties

    Detailed Description

    A Scanner item can appear inside a Module item, and allows to extract dependencies for artifacts from the artifacts' file contents. For example, this is what a scanner for "qrc" files might look like:

    import qbs.Xml
    
    Module {
      Scanner {
        inputs: 'qrc'
        scan: {
          var xml = new Xml.DomDocument(input.filePath);
          dependencies = [];
          // retrieve <file> entries from the XML document
          return dependencies;
        }
      }
    }

    Property Documentation

    condition: bool

    If true, the scanner is enabled, otherwise it does nothing.

    Default: true


    inputs: stringList

    A list of file tags the input artifacts must match.

    Default: Undefined


    recursive: bool

    Determines whether to scan the returned dependencies using the same scanner.

    Default: false


    scan: script

    A script that reads the input artifact and returns a string list with dependencies.

    The code in this script is treated as a function with the signature function(project, product, input, filePath), where input is the artifact at which the scan originated, and filePath is the currently scanned file. For non-recursive scans, filePath is always equal to input.filePath.

    Default: Undefined


    searchPaths: script

    A script that returns the paths where to look for dependencies.

    The code in this script is treated as a function with the signature function(project, product, input).

    Default: Undefined