General Services
These are operations that do not fit into any of the other categories. They are automatically available in any Qbs project file or JavaScript file.
Available Operations
qbs.currentEnv
qbs.currentEnv(): { [key: string]: string; }
Returns the environment of Qbs in the current context as an object whose properties are the environment variables.
qbs.getEnv
qbs.getEnv(key: string): string
Tries to find a variable with the given name in the build environment and returns its value. If no such variable could be found, undefined
is returned.
qbs.getHash
qbs.getHash(key: string): string
Calculates a 16-byte hash of the input and returns it. Rules in modules should use this function to find unique locations for output artifacts in the build directory without duplicating the whole directory structure of the respective input file (to deal with the case of two files with the same name in different subdirectories of the same product).
qbs.rfc1034Identifier
qbs.rfc1034Identifier(str: string): string
Returns an RFC 1034 compliant identifier based on the given string by replacing each character that is not Latin alphanumeric or .
with -
.
loadFile
loadFile(filePath: string): any
Loads a JavaScript file and returns an object that contains the evaluated context of this file. This function is only available in JavaScript files. For example:
var MyFunctions = loadFile("myfunctions.js"); MyFunctions.doSomething();
loadExtension
loadExtension(extensionName: string): any
Loads a Qbs extension and returns an object that contains all functions of that extension. This function is only available in JavaScript files. For example:
var FileInfo = loadExtension("qbs.FileInfo"); var fileName = FileInfo.fileName(filePath);
Extensions to JavaScript Built-in Objects
Array.contains
Array.contains(e: any): boolean
Returns true
if the array contains the element e
. Returns false
otherwise.
Array.uniqueConcat
Array.uniqueConcat(other: any[]): any[]
Returns a copy of this array joined with the array other
. Duplicates that would originate from the concatenation are removed. The order of elements is preserved.
String.contains
String.contains(s: string): boolean
Returns true
if the string contains the substring s
. Returns false
otherwise.
startsWith
String.startsWith(s: string): boolean
Returns true
if the string starts with the substring s
. Returns false
otherwise.
endsWith
String.endsWith(s: string): boolean
Returns true
if the string ends with the substring s
. Returns false
otherwise.