diff options
Diffstat (limited to 'share')
77 files changed, 146 insertions, 118 deletions
diff --git a/share/qbs/imports/qbs/Probes/AndroidNdkProbe.qbs b/share/qbs/imports/qbs/Probes/AndroidNdkProbe.qbs index 1aac95fba..c73a7f2d3 100644 --- a/share/qbs/imports/qbs/Probes/AndroidNdkProbe.qbs +++ b/share/qbs/imports/qbs/Probes/AndroidNdkProbe.qbs @@ -29,7 +29,6 @@ ** ****************************************************************************/ -import qbs import qbs.Environment import qbs.File import qbs.FileInfo diff --git a/share/qbs/imports/qbs/Probes/AndroidSdkProbe.qbs b/share/qbs/imports/qbs/Probes/AndroidSdkProbe.qbs index 1dc2a4919..076b36d72 100644 --- a/share/qbs/imports/qbs/Probes/AndroidSdkProbe.qbs +++ b/share/qbs/imports/qbs/Probes/AndroidSdkProbe.qbs @@ -28,7 +28,6 @@ ** ****************************************************************************/ -import qbs import qbs.Environment import qbs.File import qbs.FileInfo diff --git a/share/qbs/imports/qbs/Probes/BinaryProbe.qbs b/share/qbs/imports/qbs/Probes/BinaryProbe.qbs index 7dec8757c..16fde72cb 100644 --- a/share/qbs/imports/qbs/Probes/BinaryProbe.qbs +++ b/share/qbs/imports/qbs/Probes/BinaryProbe.qbs @@ -28,8 +28,6 @@ ** ****************************************************************************/ -import qbs 1.0 - PathProbe { nameSuffixes: qbs.hostOS.contains("windows") ? [".com", ".exe", ".bat", ".cmd"] : undefined platformPaths: hostOS.contains("unix") ? ["/usr/bin", "/usr/local/bin"] : [] diff --git a/share/qbs/imports/qbs/Probes/FrameworkProbe.qbs b/share/qbs/imports/qbs/Probes/FrameworkProbe.qbs index 196e776fc..544759150 100644 --- a/share/qbs/imports/qbs/Probes/FrameworkProbe.qbs +++ b/share/qbs/imports/qbs/Probes/FrameworkProbe.qbs @@ -28,8 +28,6 @@ ** ****************************************************************************/ -import qbs 1.0 - PathProbe { platformPaths: [ "~/Library/Frameworks", diff --git a/share/qbs/imports/qbs/Probes/GccBinaryProbe.qbs b/share/qbs/imports/qbs/Probes/GccBinaryProbe.qbs index 9908d8239..1db1291cc 100644 --- a/share/qbs/imports/qbs/Probes/GccBinaryProbe.qbs +++ b/share/qbs/imports/qbs/Probes/GccBinaryProbe.qbs @@ -1,4 +1,3 @@ -import qbs import qbs.Environment import qbs.FileInfo import "path-probe.js" as PathProbeConfigure diff --git a/share/qbs/imports/qbs/Probes/GccProbe.qbs b/share/qbs/imports/qbs/Probes/GccProbe.qbs index 8dceb531a..4e1aecbed 100644 --- a/share/qbs/imports/qbs/Probes/GccProbe.qbs +++ b/share/qbs/imports/qbs/Probes/GccProbe.qbs @@ -28,7 +28,6 @@ ** ****************************************************************************/ -import qbs import qbs.File import qbs.ModUtils import "../../../modules/cpp/gcc.js" as Gcc diff --git a/share/qbs/imports/qbs/Probes/GccVersionProbe.qbs b/share/qbs/imports/qbs/Probes/GccVersionProbe.qbs index c0044f307..f45c0a8e8 100644 --- a/share/qbs/imports/qbs/Probes/GccVersionProbe.qbs +++ b/share/qbs/imports/qbs/Probes/GccVersionProbe.qbs @@ -28,7 +28,6 @@ ** ****************************************************************************/ -import qbs import qbs.File import "../../../modules/cpp/gcc.js" as Gcc diff --git a/share/qbs/imports/qbs/Probes/IcoUtilsVersionProbe.qbs b/share/qbs/imports/qbs/Probes/IcoUtilsVersionProbe.qbs index d6f3a0587..90c3a06b1 100644 --- a/share/qbs/imports/qbs/Probes/IcoUtilsVersionProbe.qbs +++ b/share/qbs/imports/qbs/Probes/IcoUtilsVersionProbe.qbs @@ -28,7 +28,6 @@ ** ****************************************************************************/ -import qbs import "../../../modules/ico/ico.js" as IcoUtils Probe { diff --git a/share/qbs/imports/qbs/Probes/IncludeProbe.qbs b/share/qbs/imports/qbs/Probes/IncludeProbe.qbs index 5b90671e9..fa2e44dd4 100644 --- a/share/qbs/imports/qbs/Probes/IncludeProbe.qbs +++ b/share/qbs/imports/qbs/Probes/IncludeProbe.qbs @@ -28,8 +28,6 @@ ** ****************************************************************************/ -import qbs 1.0 - PathProbe { pathSuffixes: [ "include" ] platformEnvironmentPaths: { diff --git a/share/qbs/imports/qbs/Probes/InnoSetupProbe.qbs b/share/qbs/imports/qbs/Probes/InnoSetupProbe.qbs index d0e756d19..2c06a6a0b 100644 --- a/share/qbs/imports/qbs/Probes/InnoSetupProbe.qbs +++ b/share/qbs/imports/qbs/Probes/InnoSetupProbe.qbs @@ -28,7 +28,6 @@ ** ****************************************************************************/ -import qbs import qbs.Utilities PathProbe { diff --git a/share/qbs/imports/qbs/Probes/JdkProbe.qbs b/share/qbs/imports/qbs/Probes/JdkProbe.qbs index 9eaa3c36c..2f72f552b 100644 --- a/share/qbs/imports/qbs/Probes/JdkProbe.qbs +++ b/share/qbs/imports/qbs/Probes/JdkProbe.qbs @@ -29,7 +29,6 @@ ** ****************************************************************************/ -import qbs import qbs.Environment import "../../../modules/java/utils.js" as JavaUtils diff --git a/share/qbs/imports/qbs/Probes/JdkVersionProbe.qbs b/share/qbs/imports/qbs/Probes/JdkVersionProbe.qbs index 299ebbb01..786d62f75 100644 --- a/share/qbs/imports/qbs/Probes/JdkVersionProbe.qbs +++ b/share/qbs/imports/qbs/Probes/JdkVersionProbe.qbs @@ -28,7 +28,6 @@ ** ****************************************************************************/ -import qbs import "../../../modules/java/utils.js" as JavaUtils Probe { diff --git a/share/qbs/imports/qbs/Probes/MsvcProbe.qbs b/share/qbs/imports/qbs/Probes/MsvcProbe.qbs index 700c579f5..d7e26b8e1 100644 --- a/share/qbs/imports/qbs/Probes/MsvcProbe.qbs +++ b/share/qbs/imports/qbs/Probes/MsvcProbe.qbs @@ -28,7 +28,6 @@ ** ****************************************************************************/ -import qbs import qbs.File import qbs.FileInfo import qbs.ModUtils diff --git a/share/qbs/imports/qbs/Probes/NodeJsProbe.qbs b/share/qbs/imports/qbs/Probes/NodeJsProbe.qbs index 64ab32019..45623553b 100644 --- a/share/qbs/imports/qbs/Probes/NodeJsProbe.qbs +++ b/share/qbs/imports/qbs/Probes/NodeJsProbe.qbs @@ -28,7 +28,6 @@ ** ****************************************************************************/ -import qbs import qbs.Environment import qbs.FileInfo diff --git a/share/qbs/imports/qbs/Probes/NpmProbe.qbs b/share/qbs/imports/qbs/Probes/NpmProbe.qbs index a13fd3615..55f848965 100644 --- a/share/qbs/imports/qbs/Probes/NpmProbe.qbs +++ b/share/qbs/imports/qbs/Probes/NpmProbe.qbs @@ -28,7 +28,6 @@ ** ****************************************************************************/ -import qbs import qbs.ModUtils import "path-probe.js" as PathProbeConfigure import "../../../modules/nodejs/nodejs.js" as NodeJs diff --git a/share/qbs/imports/qbs/Probes/PathProbe.qbs b/share/qbs/imports/qbs/Probes/PathProbe.qbs index 73ce2e049..1f6ff33ea 100644 --- a/share/qbs/imports/qbs/Probes/PathProbe.qbs +++ b/share/qbs/imports/qbs/Probes/PathProbe.qbs @@ -28,7 +28,6 @@ ** ****************************************************************************/ -import qbs 1.0 import "path-probe.js" as PathProbeConfigure Probe { diff --git a/share/qbs/imports/qbs/Probes/PkgConfigProbe.qbs b/share/qbs/imports/qbs/Probes/PkgConfigProbe.qbs index 5f60c17a2..fe665b227 100644 --- a/share/qbs/imports/qbs/Probes/PkgConfigProbe.qbs +++ b/share/qbs/imports/qbs/Probes/PkgConfigProbe.qbs @@ -28,7 +28,6 @@ ** ****************************************************************************/ -import qbs 1.0 import qbs.Process import qbs.FileInfo diff --git a/share/qbs/imports/qbs/Probes/TypeScriptProbe.qbs b/share/qbs/imports/qbs/Probes/TypeScriptProbe.qbs index da2116660..3eeb95342 100644 --- a/share/qbs/imports/qbs/Probes/TypeScriptProbe.qbs +++ b/share/qbs/imports/qbs/Probes/TypeScriptProbe.qbs @@ -28,7 +28,6 @@ ** ****************************************************************************/ -import qbs import qbs.File import qbs.FileInfo import qbs.ModUtils diff --git a/share/qbs/imports/qbs/Probes/WiXProbe.qbs b/share/qbs/imports/qbs/Probes/WiXProbe.qbs index c754162b7..561b275cf 100644 --- a/share/qbs/imports/qbs/Probes/WiXProbe.qbs +++ b/share/qbs/imports/qbs/Probes/WiXProbe.qbs @@ -28,7 +28,6 @@ ** ****************************************************************************/ -import qbs import qbs.Utilities PathProbe { diff --git a/share/qbs/imports/qbs/Probes/XcodeProbe.qbs b/share/qbs/imports/qbs/Probes/XcodeProbe.qbs index ed3e1a1ea..e0ed99346 100644 --- a/share/qbs/imports/qbs/Probes/XcodeProbe.qbs +++ b/share/qbs/imports/qbs/Probes/XcodeProbe.qbs @@ -28,7 +28,6 @@ ** ****************************************************************************/ -import qbs import qbs.File import qbs.FileInfo import qbs.Process diff --git a/share/qbs/imports/qbs/base/AndroidApk.qbs b/share/qbs/imports/qbs/base/AndroidApk.qbs index d881b791f..1f123827d 100644 --- a/share/qbs/imports/qbs/base/AndroidApk.qbs +++ b/share/qbs/imports/qbs/base/AndroidApk.qbs @@ -28,7 +28,6 @@ ** ****************************************************************************/ -import qbs import qbs.File import qbs.FileInfo diff --git a/share/qbs/imports/qbs/base/AppleApplicationDiskImage.qbs b/share/qbs/imports/qbs/base/AppleApplicationDiskImage.qbs index d1d4988c6..134f4dee0 100644 --- a/share/qbs/imports/qbs/base/AppleApplicationDiskImage.qbs +++ b/share/qbs/imports/qbs/base/AppleApplicationDiskImage.qbs @@ -41,7 +41,6 @@ AppleDiskImage { Rule { multiplex: true - inputs: ["qbs"] outputFileTags: ["dmg.input", "dmg.input.symlink"] outputArtifacts: Array.prototype.map.call(product.symlinks, function (symlink) { var symlinkTarget = symlink.split(':')[0]; diff --git a/share/qbs/imports/qbs/base/Application.qbs b/share/qbs/imports/qbs/base/Application.qbs index e16a93761..ddc824756 100644 --- a/share/qbs/imports/qbs/base/Application.qbs +++ b/share/qbs/imports/qbs/base/Application.qbs @@ -28,12 +28,20 @@ ** ****************************************************************************/ -import qbs - NativeBinary { type: { if (isForAndroid && !consoleApplication) return ["dynamiclibrary", "android.nativelibrary"]; return ["application"]; } + + installDir: isBundle ? "Applications" : "bin" + + Group { + condition: install + fileTagsFilter: isBundle ? "bundle.content" : "application"; + qbs.install: true + qbs.installDir: installDir + qbs.installSourceBase: isBundle ? destinationDirectory : outer + } } diff --git a/share/qbs/imports/qbs/base/ApplicationExtension.qbs b/share/qbs/imports/qbs/base/ApplicationExtension.qbs index e02c7c7e5..140475909 100644 --- a/share/qbs/imports/qbs/base/ApplicationExtension.qbs +++ b/share/qbs/imports/qbs/base/ApplicationExtension.qbs @@ -28,8 +28,6 @@ ** ****************************************************************************/ -import qbs - XPCService { Depends { name: "xcode" } diff --git a/share/qbs/imports/qbs/base/AutotestRunner.qbs b/share/qbs/imports/qbs/base/AutotestRunner.qbs index 4f175d662..ab9ba15f7 100644 --- a/share/qbs/imports/qbs/base/AutotestRunner.qbs +++ b/share/qbs/imports/qbs/base/AutotestRunner.qbs @@ -28,11 +28,9 @@ ** ****************************************************************************/ -import qbs import qbs.File import qbs.FileInfo import qbs.ModUtils -import qbs.Utilities Product { name: "autotest-runner" @@ -57,11 +55,7 @@ Product { Rule { inputsFromDependencies: "application" auxiliaryInputs: product.auxiliaryInputs - Artifact { - filePath: Utilities.getHash(input.filePath) + ".result.dummy" // Will never exist. - fileTags: "autotest-result" - alwaysUpdated: false - } + outputFileTags: "autotest-result" prepare: { // TODO: This is hacky. Possible solution: Add autotest tag to application // in autotest module and have that as inputsFromDependencies instead of application. @@ -76,14 +70,29 @@ Product { commandFilePath = ModUtils.artifactInstalledFilePath(input); if (!commandFilePath || !File.exists(commandFilePath)) commandFilePath = input.filePath; + var workingDir = product.workingDir ? product.workingDir + : FileInfo.path(commandFilePath); + var arguments = product.arguments; + var allowFailure = false; + if (input.autotest) { + // FIXME: We'd like to let the user override with an empty list, but + // qbscore turns undefined lists into empty ones at the moment. + if (input.autotest.arguments && input.autotest.arguments.length > 0) + arguments = input.autotest.arguments; + + if (input.autotest.workingDir) + workingDir = input.autotest.workingDir; + allowFailure = input.autotest.allowFailure; + } var fullCommandLine = product.wrapper .concat([commandFilePath]) - .concat(product.arguments); + .concat(arguments); var cmd = new Command(fullCommandLine[0], fullCommandLine.slice(1)); cmd.description = "Running test " + input.fileName; cmd.environment = product.environment; - cmd.workingDirectory = product.workingDir ? product.workingDir - : FileInfo.path(commandFilePath); + cmd.workingDirectory = workingDir; + if (allowFailure) + cmd.maxExitCode = 32767; return cmd; } } diff --git a/share/qbs/imports/qbs/base/CppApplication.qbs b/share/qbs/imports/qbs/base/CppApplication.qbs index 9b7de2bf8..bc7ba50e6 100644 --- a/share/qbs/imports/qbs/base/CppApplication.qbs +++ b/share/qbs/imports/qbs/base/CppApplication.qbs @@ -28,8 +28,6 @@ ** ****************************************************************************/ -import qbs 1.0 - Application { Depends { name: "cpp" } } diff --git a/share/qbs/imports/qbs/base/DynamicLibrary.qbs b/share/qbs/imports/qbs/base/DynamicLibrary.qbs index 32d8fec41..267519a42 100644 --- a/share/qbs/imports/qbs/base/DynamicLibrary.qbs +++ b/share/qbs/imports/qbs/base/DynamicLibrary.qbs @@ -28,8 +28,26 @@ ** ****************************************************************************/ -import qbs - Library { type: ["dynamiclibrary"].concat(isForAndroid ? ["android.nativelibrary"] : []) + + installDir: isBundle ? "Library/Frameworks" : qbs.targetOS.contains("windows") + ? "bin" : "lib" + property bool installImportLib: false + property string importLibInstallDir: "lib" + + Group { + condition: install + fileTagsFilter: isBundle ? "bundle.content" : ["dynamiclibrary", "dynamiclibrary_symlink"] + qbs.install: true + qbs.installDir: installDir + qbs.installSourceBase: isBundle ? destinationDirectory : outer + } + + Group { + condition: installImportLib + fileTagsFilter: "dynamiclibrary_import" + qbs.install: true + qbs.installDir: importLibInstallDir + } } diff --git a/share/qbs/imports/qbs/base/InnoSetup.qbs b/share/qbs/imports/qbs/base/InnoSetup.qbs index c4873412a..5ea076eb3 100644 --- a/share/qbs/imports/qbs/base/InnoSetup.qbs +++ b/share/qbs/imports/qbs/base/InnoSetup.qbs @@ -28,8 +28,6 @@ ** ****************************************************************************/ -import qbs - Product { Depends { name: "innosetup"; condition: qbs.targetOS.contains("windows") } type: ["innosetup.exe"] diff --git a/share/qbs/imports/qbs/base/InstallPackage.qbs b/share/qbs/imports/qbs/base/InstallPackage.qbs index 9e621aed0..e85fe3821 100644 --- a/share/qbs/imports/qbs/base/InstallPackage.qbs +++ b/share/qbs/imports/qbs/base/InstallPackage.qbs @@ -28,7 +28,6 @@ ** ****************************************************************************/ -import qbs import qbs.FileInfo import qbs.ModUtils import qbs.TextFile diff --git a/share/qbs/imports/qbs/base/Library.qbs b/share/qbs/imports/qbs/base/Library.qbs index 4f0b45789..615c2319f 100644 --- a/share/qbs/imports/qbs/base/Library.qbs +++ b/share/qbs/imports/qbs/base/Library.qbs @@ -28,8 +28,6 @@ ** ****************************************************************************/ -import qbs - NativeBinary { type: { if (qbs.targetOS.contains("ios") && parseInt(cpp.minimumIosVersion, 10) < 8) diff --git a/share/qbs/imports/qbs/base/LoadableModule.qbs b/share/qbs/imports/qbs/base/LoadableModule.qbs index 607a7d8d2..34579e4de 100644 --- a/share/qbs/imports/qbs/base/LoadableModule.qbs +++ b/share/qbs/imports/qbs/base/LoadableModule.qbs @@ -28,8 +28,6 @@ ** ****************************************************************************/ -import qbs - DynamicLibrary { type: isForDarwin ? ["loadablemodule"] : base } diff --git a/share/qbs/imports/qbs/base/NSISSetup.qbs b/share/qbs/imports/qbs/base/NSISSetup.qbs index 6401a17c4..1362f2713 100644 --- a/share/qbs/imports/qbs/base/NSISSetup.qbs +++ b/share/qbs/imports/qbs/base/NSISSetup.qbs @@ -28,8 +28,6 @@ ** ****************************************************************************/ -import qbs - Product { Depends { name: "nsis"; condition: qbs.targetOS.contains("windows") } type: ["nsissetup"] diff --git a/share/qbs/imports/qbs/base/NativeBinary.qbs b/share/qbs/imports/qbs/base/NativeBinary.qbs index 0a772b60c..3597f348f 100644 --- a/share/qbs/imports/qbs/base/NativeBinary.qbs +++ b/share/qbs/imports/qbs/base/NativeBinary.qbs @@ -28,13 +28,15 @@ ** ****************************************************************************/ -import qbs - Product { property bool isForAndroid: qbs.targetOS.contains("android") property bool isForDarwin: qbs.targetOS.contains("darwin") + property bool isBundle: isForDarwin && bundle.isBundle + + property bool install: false + property string installDir - Depends { name: "bundle" } + Depends { name: "bundle"; condition: isForDarwin } aggregate: { if (!isForDarwin) diff --git a/share/qbs/imports/qbs/base/QtApplication.qbs b/share/qbs/imports/qbs/base/QtApplication.qbs index b9e8f2603..32800d294 100644 --- a/share/qbs/imports/qbs/base/QtApplication.qbs +++ b/share/qbs/imports/qbs/base/QtApplication.qbs @@ -28,8 +28,6 @@ ** ****************************************************************************/ -import qbs - CppApplication { Depends { name: "Qt.core" } } diff --git a/share/qbs/imports/qbs/base/QtGuiApplication.qbs b/share/qbs/imports/qbs/base/QtGuiApplication.qbs index 1d92142fa..ead671efb 100644 --- a/share/qbs/imports/qbs/base/QtGuiApplication.qbs +++ b/share/qbs/imports/qbs/base/QtGuiApplication.qbs @@ -28,8 +28,6 @@ ** ****************************************************************************/ -import qbs - CppApplication { Depends { name: "Qt.gui" } Depends { diff --git a/share/qbs/imports/qbs/base/StaticLibrary.qbs b/share/qbs/imports/qbs/base/StaticLibrary.qbs index 1609bdcea..4eea3c991 100644 --- a/share/qbs/imports/qbs/base/StaticLibrary.qbs +++ b/share/qbs/imports/qbs/base/StaticLibrary.qbs @@ -28,8 +28,15 @@ ** ****************************************************************************/ -import qbs - Library { type: ["staticlibrary"] + + installDir: isBundle ? "Library/Frameworks" : "lib" + Group { + condition: install + fileTagsFilter: isBundle ? "bundle.content" : "staticlibrary"; + qbs.install: true + qbs.installDir: installDir + qbs.installSourceBase: isBundle ? destinationDirectory : outer + } } diff --git a/share/qbs/imports/qbs/base/WindowsInstallerPackage.qbs b/share/qbs/imports/qbs/base/WindowsInstallerPackage.qbs index d624be864..791fc9473 100644 --- a/share/qbs/imports/qbs/base/WindowsInstallerPackage.qbs +++ b/share/qbs/imports/qbs/base/WindowsInstallerPackage.qbs @@ -28,8 +28,6 @@ ** ****************************************************************************/ -import qbs - Product { Depends { name: "wix"; condition: qbs.targetOS.contains("windows") } type: ["msi"] diff --git a/share/qbs/imports/qbs/base/XPCService.qbs b/share/qbs/imports/qbs/base/XPCService.qbs index 0e8e1eb7c..16c25900c 100644 --- a/share/qbs/imports/qbs/base/XPCService.qbs +++ b/share/qbs/imports/qbs/base/XPCService.qbs @@ -28,8 +28,6 @@ ** ****************************************************************************/ -import qbs - Application { type: base.concat(["xpcservice"]) diff --git a/share/qbs/modules/Android/ndk/ndk.qbs b/share/qbs/modules/Android/ndk/ndk.qbs index 226423d61..5d4322731 100644 --- a/share/qbs/modules/Android/ndk/ndk.qbs +++ b/share/qbs/modules/Android/ndk/ndk.qbs @@ -28,7 +28,6 @@ ** ****************************************************************************/ -import qbs import qbs.File import qbs.FileInfo import qbs.ModUtils diff --git a/share/qbs/modules/Android/sdk/sdk.qbs b/share/qbs/modules/Android/sdk/sdk.qbs index 84cee56e9..d12da0768 100644 --- a/share/qbs/modules/Android/sdk/sdk.qbs +++ b/share/qbs/modules/Android/sdk/sdk.qbs @@ -28,7 +28,6 @@ ** ****************************************************************************/ -import qbs import qbs.Environment import qbs.File import qbs.FileInfo diff --git a/share/qbs/modules/Exporter/pkgconfig/pkgconfig.qbs b/share/qbs/modules/Exporter/pkgconfig/pkgconfig.qbs index aecad6126..8cc55f885 100644 --- a/share/qbs/modules/Exporter/pkgconfig/pkgconfig.qbs +++ b/share/qbs/modules/Exporter/pkgconfig/pkgconfig.qbs @@ -1,4 +1,3 @@ -import qbs import qbs.FileInfo import qbs.TextFile diff --git a/share/qbs/modules/Exporter/qbs/qbsexporter.qbs b/share/qbs/modules/Exporter/qbs/qbsexporter.qbs index 351edfefe..861483ef0 100644 --- a/share/qbs/modules/Exporter/qbs/qbsexporter.qbs +++ b/share/qbs/modules/Exporter/qbs/qbsexporter.qbs @@ -28,7 +28,6 @@ ** ****************************************************************************/ -import qbs import qbs.FileInfo import qbs.TextFile diff --git a/share/qbs/modules/archiver/archiver.qbs b/share/qbs/modules/archiver/archiver.qbs index c70b57bf4..2b2515084 100644 --- a/share/qbs/modules/archiver/archiver.qbs +++ b/share/qbs/modules/archiver/archiver.qbs @@ -28,7 +28,6 @@ ** ****************************************************************************/ -import qbs import qbs.Environment import qbs.File import qbs.FileInfo diff --git a/share/qbs/modules/autotest/autotest.qbs b/share/qbs/modules/autotest/autotest.qbs new file mode 100644 index 000000000..ba280169e --- /dev/null +++ b/share/qbs/modules/autotest/autotest.qbs @@ -0,0 +1,5 @@ +Module { + property stringList arguments + property bool allowFailure: false + property string workingDir +} diff --git a/share/qbs/modules/bundle/BundleModule.qbs b/share/qbs/modules/bundle/BundleModule.qbs index 7752ee65e..85a1a7388 100644 --- a/share/qbs/modules/bundle/BundleModule.qbs +++ b/share/qbs/modules/bundle/BundleModule.qbs @@ -28,7 +28,6 @@ ** ****************************************************************************/ -import qbs import qbs.BundleTools import qbs.DarwinTools import qbs.Environment @@ -264,7 +263,8 @@ Module { Rule { condition: qbs.targetOS.contains("darwin") multiplex: true - inputs: ["qbs", "infoplist", "partial_infoplist"] + requiresInputs: false // TODO: The resources property should probably be a tag instead. + inputs: ["infoplist", "partial_infoplist"] outputFileTags: ["bundle.input", "aggregate_infoplist"] outputArtifacts: { diff --git a/share/qbs/modules/cli/CLIModule.qbs b/share/qbs/modules/cli/CLIModule.qbs index 866580029..d0ca120ef 100644 --- a/share/qbs/modules/cli/CLIModule.qbs +++ b/share/qbs/modules/cli/CLIModule.qbs @@ -1,5 +1,4 @@ // base for Common Language Infrastructure modules -import qbs import qbs.FileInfo import qbs.ModUtils import "cli.js" as CLI diff --git a/share/qbs/modules/cli/mono.qbs b/share/qbs/modules/cli/mono.qbs index c679c4bf0..30e8c4726 100644 --- a/share/qbs/modules/cli/mono.qbs +++ b/share/qbs/modules/cli/mono.qbs @@ -1,4 +1,3 @@ -import qbs import qbs.File import qbs.Probes diff --git a/share/qbs/modules/cli/windows-dotnet.qbs b/share/qbs/modules/cli/windows-dotnet.qbs index b1b29d7a9..6fde50b85 100644 --- a/share/qbs/modules/cli/windows-dotnet.qbs +++ b/share/qbs/modules/cli/windows-dotnet.qbs @@ -1,4 +1,3 @@ -import qbs import qbs.Utilities CLIModule { diff --git a/share/qbs/modules/cpp/DarwinGCC.qbs b/share/qbs/modules/cpp/DarwinGCC.qbs index 16176b4eb..690f69219 100644 --- a/share/qbs/modules/cpp/DarwinGCC.qbs +++ b/share/qbs/modules/cpp/DarwinGCC.qbs @@ -28,7 +28,6 @@ ** ****************************************************************************/ -import qbs import qbs.DarwinTools import qbs.File import qbs.FileInfo diff --git a/share/qbs/modules/cpp/GenericGCC.qbs b/share/qbs/modules/cpp/GenericGCC.qbs index 792e8ef4c..61cbe6ca6 100644 --- a/share/qbs/modules/cpp/GenericGCC.qbs +++ b/share/qbs/modules/cpp/GenericGCC.qbs @@ -28,7 +28,6 @@ ** ****************************************************************************/ -import qbs 1.0 import qbs.File import qbs.FileInfo import qbs.ModUtils @@ -390,7 +389,7 @@ CppModule { || product.multiplexConfigurationId Rule { - id: dynamicLibraryLinker + name: "dynamicLibraryLinker" condition: product.cpp.shouldLink multiplex: true inputs: { @@ -452,7 +451,7 @@ CppModule { } Rule { - id: staticLibraryLinker + name: "staticLibraryLinker" condition: product.cpp.shouldLink multiplex: true inputs: ["obj", "linkerscript"] @@ -494,7 +493,7 @@ CppModule { } Rule { - id: loadableModuleLinker + name: "loadableModuleLinker" condition: product.cpp.shouldLink multiplex: true inputs: { @@ -531,7 +530,7 @@ CppModule { } Rule { - id: applicationLinker + name: "applicationLinker" condition: product.cpp.shouldLink multiplex: true inputs: { @@ -567,7 +566,7 @@ CppModule { } Rule { - id: compiler + name: "compiler" inputs: ["cpp", "c", "objcpp", "objc", "asm_cpp"] auxiliaryInputs: ["hpp"] explicitlyDependsOn: ["c_pch", "cpp_pch", "objc_pch", "objcpp_pch"] @@ -592,7 +591,7 @@ CppModule { } Rule { - id: assembler + name: "assembler" inputs: ["asm"] Artifact { diff --git a/share/qbs/modules/cpp/LinuxGCC.qbs b/share/qbs/modules/cpp/LinuxGCC.qbs index 371e519dc..e93a5d7e7 100644 --- a/share/qbs/modules/cpp/LinuxGCC.qbs +++ b/share/qbs/modules/cpp/LinuxGCC.qbs @@ -28,7 +28,6 @@ ** ****************************************************************************/ -import qbs 1.0 import qbs.Process UnixGCC { diff --git a/share/qbs/modules/cpp/UnixGCC.qbs b/share/qbs/modules/cpp/UnixGCC.qbs index ec26cffb6..e5b99cd98 100644 --- a/share/qbs/modules/cpp/UnixGCC.qbs +++ b/share/qbs/modules/cpp/UnixGCC.qbs @@ -28,7 +28,6 @@ ** ****************************************************************************/ -import qbs 1.0 import qbs.File GenericGCC { diff --git a/share/qbs/modules/cpp/android-gcc.qbs b/share/qbs/modules/cpp/android-gcc.qbs index 057e77476..c546488d6 100644 --- a/share/qbs/modules/cpp/android-gcc.qbs +++ b/share/qbs/modules/cpp/android-gcc.qbs @@ -28,7 +28,6 @@ ** ****************************************************************************/ -import qbs import qbs.File import qbs.FileInfo import qbs.ModUtils diff --git a/share/qbs/modules/cpp/freebsd-gcc.qbs b/share/qbs/modules/cpp/freebsd-gcc.qbs index 724f242ff..b5a4b89f3 100644 --- a/share/qbs/modules/cpp/freebsd-gcc.qbs +++ b/share/qbs/modules/cpp/freebsd-gcc.qbs @@ -28,7 +28,6 @@ ** ****************************************************************************/ -import qbs import "freebsd.js" as FreeBSD UnixGCC { diff --git a/share/qbs/modules/cpp/ios-gcc.qbs b/share/qbs/modules/cpp/ios-gcc.qbs index 408bc3aec..735766650 100644 --- a/share/qbs/modules/cpp/ios-gcc.qbs +++ b/share/qbs/modules/cpp/ios-gcc.qbs @@ -28,7 +28,6 @@ ** ****************************************************************************/ -import qbs 1.0 import qbs.DarwinTools import qbs.File import qbs.FileInfo diff --git a/share/qbs/modules/cpp/macos-gcc.qbs b/share/qbs/modules/cpp/macos-gcc.qbs index e2c930c80..612b46ae8 100644 --- a/share/qbs/modules/cpp/macos-gcc.qbs +++ b/share/qbs/modules/cpp/macos-gcc.qbs @@ -28,7 +28,6 @@ ** ****************************************************************************/ -import qbs 1.0 import qbs.ModUtils import qbs.Utilities diff --git a/share/qbs/modules/cpp/qnx-qcc.qbs b/share/qbs/modules/cpp/qnx-qcc.qbs index 28c9ce266..a39a6a998 100644 --- a/share/qbs/modules/cpp/qnx-qcc.qbs +++ b/share/qbs/modules/cpp/qnx-qcc.qbs @@ -28,7 +28,6 @@ ** ****************************************************************************/ -import qbs import qbs.FileInfo UnixGCC { diff --git a/share/qbs/modules/cpp/tvos-gcc.qbs b/share/qbs/modules/cpp/tvos-gcc.qbs index ae4dd5c5b..19bc9b787 100644 --- a/share/qbs/modules/cpp/tvos-gcc.qbs +++ b/share/qbs/modules/cpp/tvos-gcc.qbs @@ -28,8 +28,6 @@ ** ****************************************************************************/ -import qbs - DarwinGCC { priority: 1 condition: qbs.targetOS.contains('tvos') && diff --git a/share/qbs/modules/cpp/watchos-gcc.qbs b/share/qbs/modules/cpp/watchos-gcc.qbs index c8bd0a55d..46e4bf874 100644 --- a/share/qbs/modules/cpp/watchos-gcc.qbs +++ b/share/qbs/modules/cpp/watchos-gcc.qbs @@ -29,8 +29,6 @@ ** ****************************************************************************/ -import qbs - DarwinGCC { priority: 1 condition: qbs.targetOS.contains('watchos') && diff --git a/share/qbs/modules/cpp/windows-mingw.qbs b/share/qbs/modules/cpp/windows-mingw.qbs index 3e3ba409d..27382742f 100644 --- a/share/qbs/modules/cpp/windows-mingw.qbs +++ b/share/qbs/modules/cpp/windows-mingw.qbs @@ -28,7 +28,6 @@ ** ****************************************************************************/ -import qbs 1.0 import qbs.ModUtils import qbs.TextFile import qbs.Utilities diff --git a/share/qbs/modules/cpp/windows-msvc.qbs b/share/qbs/modules/cpp/windows-msvc.qbs index 3164e08b5..bf0b6af7a 100644 --- a/share/qbs/modules/cpp/windows-msvc.qbs +++ b/share/qbs/modules/cpp/windows-msvc.qbs @@ -28,7 +28,6 @@ ** ****************************************************************************/ -import qbs 1.0 import qbs.File import qbs.FileInfo import qbs.ModUtils @@ -170,7 +169,7 @@ CppModule { } Rule { - id: compiler + name: "compiler" inputs: ["cpp", "c"] auxiliaryInputs: ["hpp"] explicitlyDependsOn: ["c_pch", "cpp_pch"] @@ -191,7 +190,7 @@ CppModule { } Rule { - id: applicationLinker + name: "applicationLinker" multiplex: true inputs: ['obj', 'native.pe.manifest'] inputsFromDependencies: ['staticlibrary', 'dynamiclibrary_import', "debuginfo_app"] @@ -221,7 +220,7 @@ CppModule { } Rule { - id: dynamicLibraryLinker + name: "dynamicLibraryLinker" multiplex: true inputs: ['obj', 'native.pe.manifest'] inputsFromDependencies: ['staticlibrary', 'dynamiclibrary_import', "debuginfo_dll"] @@ -256,7 +255,7 @@ CppModule { } Rule { - id: libtool + name: "libtool" multiplex: true inputs: ["obj"] inputsFromDependencies: ["staticlibrary", "dynamiclibrary_import"] diff --git a/share/qbs/modules/cpufeatures/cpufeatures.qbs b/share/qbs/modules/cpufeatures/cpufeatures.qbs index a7ef95193..17e6b851e 100644 --- a/share/qbs/modules/cpufeatures/cpufeatures.qbs +++ b/share/qbs/modules/cpufeatures/cpufeatures.qbs @@ -1,5 +1,3 @@ -import qbs - Module { property bool arm_neon property bool arm_vfpv4 diff --git a/share/qbs/modules/dmg/DMGModule.qbs b/share/qbs/modules/dmg/DMGModule.qbs index 09e31f696..c5d097a0b 100644 --- a/share/qbs/modules/dmg/DMGModule.qbs +++ b/share/qbs/modules/dmg/DMGModule.qbs @@ -28,7 +28,6 @@ ** ****************************************************************************/ -import qbs import qbs.DarwinTools import qbs.File import qbs.FileInfo @@ -140,7 +139,7 @@ Module { Rule { multiplex: true - inputs: ["qbs", "dmg.input", "dmg.license", "icns", "tiff"] + inputs: ["dmg.input", "dmg.license", "icns", "tiff"] Artifact { fileTags: ["dmg.dmg"] diff --git a/share/qbs/modules/ib/IBModule.qbs b/share/qbs/modules/ib/IBModule.qbs index 66d76aede..1324108e9 100644 --- a/share/qbs/modules/ib/IBModule.qbs +++ b/share/qbs/modules/ib/IBModule.qbs @@ -28,7 +28,6 @@ ** ****************************************************************************/ -import qbs import qbs.BundleTools import qbs.DarwinTools import qbs.File diff --git a/share/qbs/modules/ico/IcoModule.qbs b/share/qbs/modules/ico/IcoModule.qbs index 444fcd597..7157aab09 100644 --- a/share/qbs/modules/ico/IcoModule.qbs +++ b/share/qbs/modules/ico/IcoModule.qbs @@ -1,4 +1,3 @@ -import qbs import qbs.File import qbs.FileInfo import qbs.ModUtils diff --git a/share/qbs/modules/innosetup/InnoSetupModule.qbs b/share/qbs/modules/innosetup/InnoSetupModule.qbs index bc5b74460..1caf39dc8 100644 --- a/share/qbs/modules/innosetup/InnoSetupModule.qbs +++ b/share/qbs/modules/innosetup/InnoSetupModule.qbs @@ -28,7 +28,6 @@ ** ****************************************************************************/ -import qbs import qbs.FileInfo import qbs.ModUtils import qbs.Probes diff --git a/share/qbs/modules/java/JavaModule.qbs b/share/qbs/modules/java/JavaModule.qbs index 928684a4f..1eba96d37 100644 --- a/share/qbs/modules/java/JavaModule.qbs +++ b/share/qbs/modules/java/JavaModule.qbs @@ -28,7 +28,6 @@ ** ****************************************************************************/ -import qbs import qbs.FileInfo import qbs.ModUtils import qbs.Probes diff --git a/share/qbs/modules/lex_yacc/lexyacc.qbs b/share/qbs/modules/lex_yacc/lexyacc.qbs index 20982f7aa..48af1d793 100644 --- a/share/qbs/modules/lex_yacc/lexyacc.qbs +++ b/share/qbs/modules/lex_yacc/lexyacc.qbs @@ -1,4 +1,3 @@ -import qbs import "lexyacc.js" as HelperFunctions Module { diff --git a/share/qbs/modules/nodejs/NodeJS.qbs b/share/qbs/modules/nodejs/NodeJS.qbs index b40ea2d9e..484496685 100644 --- a/share/qbs/modules/nodejs/NodeJS.qbs +++ b/share/qbs/modules/nodejs/NodeJS.qbs @@ -28,7 +28,6 @@ ** ****************************************************************************/ -import qbs import qbs.Environment import qbs.File import qbs.FileInfo diff --git a/share/qbs/modules/nsis/NSISModule.qbs b/share/qbs/modules/nsis/NSISModule.qbs index ef1d5b0e1..e426aee56 100644 --- a/share/qbs/modules/nsis/NSISModule.qbs +++ b/share/qbs/modules/nsis/NSISModule.qbs @@ -28,7 +28,6 @@ ** ****************************************************************************/ -import qbs 1.0 import qbs.File import qbs.FileInfo import qbs.ModUtils diff --git a/share/qbs/modules/qbs/common.qbs b/share/qbs/modules/qbs/common.qbs index 86ce27c59..f53a30e60 100644 --- a/share/qbs/modules/qbs/common.qbs +++ b/share/qbs/modules/qbs/common.qbs @@ -28,7 +28,6 @@ ** ****************************************************************************/ -import qbs 1.0 import qbs.Environment import qbs.FileInfo import qbs.ModUtils @@ -102,7 +101,7 @@ Module { property path installSourceBase property string installRoot: project.buildDirectory + "/install-root" property string installDir - property string installPrefix: "" + property string installPrefix: qbs.targetOS.contains("unix") ? "/usr/local" : "" property path sysroot PropertyOptions { diff --git a/share/qbs/modules/qnx/qnx.qbs b/share/qbs/modules/qnx/qnx.qbs index 49ebc36b6..87b54eca0 100644 --- a/share/qbs/modules/qnx/qnx.qbs +++ b/share/qbs/modules/qnx/qnx.qbs @@ -28,7 +28,6 @@ ** ****************************************************************************/ -import qbs import qbs.Environment import qbs.File import qbs.FileInfo diff --git a/share/qbs/modules/texttemplate/texttemplate.qbs b/share/qbs/modules/texttemplate/texttemplate.qbs new file mode 100644 index 000000000..c72929660 --- /dev/null +++ b/share/qbs/modules/texttemplate/texttemplate.qbs @@ -0,0 +1,64 @@ +import qbs.TextFile + +Module { + property var dict: ({}) + property string outputTag: "text" + property string outputFileName + FileTagger { + patterns: ["*.in"] + fileTags: ["texttemplate.input"] + } + Rule { + inputs: ["texttemplate.input"] + outputFileTags: [product.texttemplate.outputTag] + outputArtifacts: [ + { + fileTags: [product.texttemplate.outputTag], + filePath: input.texttemplate.outputFileName || input.completeBaseName + } + ] + prepare: { + var cmd = new JavaScriptCommand(); + cmd.silent = true; + cmd.sourceCode = function() { + try { + var src = new TextFile(input.filePath, TextFile.ReadOnly); + var dst = new TextFile(output.filePath, TextFile.WriteOnly); + var rex = /\${(\$|\w+)}/g; + var match; + while (!src.atEof()) { + rex.lastIndex = 0; + var line = src.readLine(); + var matches = []; + while (match = rex.exec(line)) + matches.push(match); + for (var i = matches.length; --i >= 0;) { + match = matches[i]; + var replacement; + if (match[1] === "$") { + replacement = "$"; + } else { + replacement = input.texttemplate.dict[match[1]]; + if (typeof replacement === "undefined") { + throw new Error("Placeholder '" + match[1] + + "' is not defined in textemplate.dict for '" + + input.fileName + "'."); + } + } + line = line.substr(0, match.index) + + replacement + + line.substr(match.index + match[0].length); + } + dst.writeLine(line); + } + } finally { + if (src) + src.close(); + if (dst) + dst.close(); + } + }; + return [cmd]; + } + } +} diff --git a/share/qbs/modules/typescript/TypeScriptModule.qbs b/share/qbs/modules/typescript/TypeScriptModule.qbs index 7cbd02265..d8e61b17f 100644 --- a/share/qbs/modules/typescript/TypeScriptModule.qbs +++ b/share/qbs/modules/typescript/TypeScriptModule.qbs @@ -28,7 +28,6 @@ ** ****************************************************************************/ -import qbs import qbs.File import qbs.FileInfo import qbs.ModUtils diff --git a/share/qbs/modules/vcs/vcs-module.qbs b/share/qbs/modules/vcs/vcs-module.qbs index ee7a34582..f3a47d2a6 100644 --- a/share/qbs/modules/vcs/vcs-module.qbs +++ b/share/qbs/modules/vcs/vcs-module.qbs @@ -1,4 +1,3 @@ -import qbs import qbs.File import qbs.FileInfo import qbs.Process diff --git a/share/qbs/modules/wix/WiXModule.qbs b/share/qbs/modules/wix/WiXModule.qbs index 3159822de..ad8586da1 100644 --- a/share/qbs/modules/wix/WiXModule.qbs +++ b/share/qbs/modules/wix/WiXModule.qbs @@ -28,7 +28,6 @@ ** ****************************************************************************/ -import qbs import qbs.File import qbs.FileInfo import qbs.ModUtils diff --git a/share/qbs/modules/xcode/xcode.qbs b/share/qbs/modules/xcode/xcode.qbs index 0df7f5204..922580505 100644 --- a/share/qbs/modules/xcode/xcode.qbs +++ b/share/qbs/modules/xcode/xcode.qbs @@ -1,4 +1,3 @@ -import qbs import qbs.BundleTools import qbs.Environment import qbs.File |