Warning, /sdk/cutehmi/extensions/extensions.qbs is written in an unsupported language. File is not indexed.

0001 import qbs.File
0002 
0003 Project {
0004         references: extensionsProbe.extensionDirs
0005 
0006         /*
0007           This probe performs a recursive search for extension directories. It first scans current directory for its subdirectories.
0008           Each directory, which contains `project.qbs` file or a `.qbs` file with the same base name as name of the directory, where it
0009           resides is considered to be an extension directory. If subdirectory does not contain any of these files, then it is
0010           recursively scanned for extension directories. Extension directories are stored in `extensionDirs` property.
0011          */
0012         Probe {
0013                 id: extensionsProbe
0014 
0015                 property pathList extensionDirs: []
0016 
0017                 configure: {
0018                         /*
0019                           Recursive function that searches for extension directories.
0020                           @param rootPath root path, where the search should start.
0021                           @param dir directory relative to root path, which is going to be scanned for extension directories. Do not add
0022                                 trailing "/" (slash) upon external call.
0023                           @param result array containing list of extension directories.
0024                          */
0025                         function findExtensionDirs(rootPath, dir, result) {
0026                                 var dirs = File.directoryEntries(rootPath + "/" + dir, File.Dirs | File.NoDotAndDotDot)
0027                                 for (var i = 0; i < dirs.length; i++) {
0028                                         var qbsFileDir = rootPath + "/" + dir + dirs[i] + "/"
0029                                         if (File.exists(qbsFileDir + "project.qbs") || File.exists(qbsFileDir + dirs[i] + ".qbs"))
0030                                                 result.push(dir + dirs[i])
0031                                         else
0032                                                 findExtensionDirs(rootPath, dir + dirs[i] + "/", result)        // Internally trailing slash has to be appended however.
0033                                 }
0034                         }
0035 
0036                         var result = []
0037                         findExtensionDirs(path, "", result)
0038                         extensionDirs = result
0039                 }
0040         }
0041 }