diff options
author | Jake Petroules <jake.petroules@petroules.com> | 2013-10-31 17:33:55 -0400 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@digia.com> | 2014-04-24 14:56:52 +0200 |
commit | 16a7a5c531dcee4fdebe004dd3442122a1b0ade5 (patch) | |
tree | 7ad440349d5f5b665660549e2d72b55092a3a533 /share/qbs/modules/nsis | |
parent | 0877ac713c7ec1502137541d52602f3c692f8238 (diff) |
Add a PropertyValidator class to centralize Module.validate operations.
Utilize the new class where warranted. This provides consistent error
messages for users and makes module validation significantly simpler
for developers.
Change-Id: I3233392a80882ba08cc073ec613534b929abb1e9
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Diffstat (limited to 'share/qbs/modules/nsis')
-rwxr-xr-x | share/qbs/modules/nsis/NSISModule.qbs | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/share/qbs/modules/nsis/NSISModule.qbs b/share/qbs/modules/nsis/NSISModule.qbs index f0756178e..7c9f2adbe 100755 --- a/share/qbs/modules/nsis/NSISModule.qbs +++ b/share/qbs/modules/nsis/NSISModule.qbs @@ -70,10 +70,23 @@ Module { } validate: { + var validator = new ModUtils.PropertyValidator("nsis"); + // Only *require* the toolchain install path on Windows // On other (Unix-like) operating systems it'll probably be in the PATH - if (qbs.hostOS.contains("windows") && !toolchainInstallPath) - throw "nsis.toolchainInstallPath is not defined. Set nsis.toolchainInstallPath in your profile."; + if (qbs.targetOS.contains("windows")) + validator.setRequiredProperty("toolchainInstallPath", toolchainInstallPath); + + validator.setRequiredProperty("versionMajor", versionMajor); + validator.setRequiredProperty("versionMinor", versionMinor); + validator.setRequiredProperty("versionPatch", versionPatch); + validator.setRequiredProperty("versionBuild", versionBuild); + validator.addVersionValidator("version", version, 2, 4); + validator.addRangeValidator("versionMajor", versionMajor, 1); + validator.addRangeValidator("versionMinor", versionMinor, 0); + validator.addRangeValidator("versionPatch", versionPatch, 0); + validator.addRangeValidator("versionBuild", versionBuild, 0); + validator.validate(); } setupBuildEnvironment: { |