Description
If the version number in TiApp overview is 3.2.0.GA for example then building the application for BlackBerry device will throw errors saying 3.2.0.GA.1 is an invalid value.
Inside the generated bar-descriptor.xml is:
<versionNumber>3.2.0.GA</versionNumber>
<buildId>1</buildId>
<!--<versionLabel></versionLabel>-->
However if it was:
<versionNumber>3.2.0</versionNumber>
<buildId>1</buildId>
<versionLabel>GA</versionLabel>
then it will work.
Steps To Reproduce
1. Import the sample kitchen sink project
2. Build the application to BlackBerry device ensuring that the version number is X.X.X.GA
3. Check the console output
Expected Result
App should install without error
Actual Result
App installs with error output:
[ERROR] MANIFEST.MF: Invalid value '3.12.1.GA.1' for attribute 'Application-Version'.
[ERROR] MANIFEST.MF: Invalid value '3.12.1.GA.1' for attribute 'Package-Version'.
[ERROR] MANIFEST.MF: Invalid value '3.12.1.GA.1' for attribute 'Application-Version'.
Marking this as invalid. The error is because the version in tiapp.xml has letters in it. This version gets copied into the BlackBerry's bar-descriptor.xml. According to BlackBerry the versionNumber must be: {quote} A string value of the format <0-999>.<0-999>.<0-999> that represents application version which can be used to check for application upgrade. Values can also be 1-part or 2-part. It is not necessary to have a 3-part value. An updated version of application must have a versionNumber value higher than the previous version. {quote}
Closing per [~penrique] comment. Verified the expected behavior with: Appcelerator Studio, build: 3.3.0.201404221437 Titanium SDK, build 3.3.0.v20140424130915 Node.JS Version: v0.10.13 NPM Version: 1.3.2 ├── acs@1.0.14 ├── alloy@1.4.0-dev ├── node-appc@0.2.2 ├── npm@1.3.2 ├── titanium@3.3.0-dev └── titanium-code-processor@1.1.1-beta1 npm -g ls titanium: /usr/local/lib └── titanium@3.3.0-dev (git://github.com/appcelerator/titanium.git#93414d143051df4578b7aa42670008e5ef02c422) BB10_2_0X.1803 simulator