diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2019-02-18 17:38:37 +0100 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2019-02-27 11:55:49 +0000 |
commit | 50eb4d183ccb526874cefe73c7f4c2129769aa4a (patch) | |
tree | b5fc6895c8d05f9e76c714274c33083425646464 /share/qbs/modules | |
parent | 4fd17d627106fde01284075038e15cc0680611bc (diff) |
Android: Check for valid package name upon package creation
That's nicer than letting users get a cryptic error message when they
try to install their package on the device.
Change-Id: Ie5321a28475f879f991c4440c7e64c1c3ebd5a9d
Fixes: QBS-1428
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'share/qbs/modules')
-rw-r--r-- | share/qbs/modules/Android/sdk/sdk.qbs | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/share/qbs/modules/Android/sdk/sdk.qbs b/share/qbs/modules/Android/sdk/sdk.qbs index 79ec9ad81..14ad92fdf 100644 --- a/share/qbs/modules/Android/sdk/sdk.qbs +++ b/share/qbs/modules/Android/sdk/sdk.qbs @@ -257,7 +257,16 @@ Module { var rootElem = manifestData.documentElement(); if (!rootElem || !rootElem.isElement() || rootElem.tagName() != "manifest") throw "No manifest tag found in '" + input.filePath + "'."; - rootElem.setAttribute("package", product.Android.sdk.packageName); + + // Quick sanity check. Don't try to be fancy; let's not risk rejecting valid names. + var packageName = product.Android.sdk.packageName; + if (!packageName.match(/^[^.]+(?:\.[^.]+)+$/)) { + throw "Package name '" + packageName + "' is not valid. Please set " + + "Android.sdk.packageName to a name following the " + + "'com.mycompany.myproduct' pattern." + } + rootElem.setAttribute("package", packageName); + manifestData.save(output.filePath, 4); } return cmd; |