Version in Manifest not Parameterized

Currently, you can't write version="@Strings.AppVersion" in your manifest.xml.

If you do, you get an exception like


BUILD: ERROR: com.garmin.connectiq.common.manifest.ManifestException: Problem validating the manifest file: cvc-pattern-valid: Value '@Strings.AppVersion' is not facet-valid with respect to pattern '[0-9]+\.[0-9]+\.[0-9]+(\.[0-9a-zA-Z_]+)?' for type 'versionInfo'.
  • As it says near the top of the manifest.xml, you shouldn't be modifying the file directly. The manifest editor won't allow you to do this, so it doesn't seem that this particular issue is a bug.

    That said, I'm assuming that you already have a version string resource (presumably for displaying in the app) and you don't want to have to maintain multiple copies of this data. That seems like a legitimate enhancement request that I'd be happy to file.
  • Travis - I'll suggest an alternative for the version.

    Right now, the only place it comes into play is when you export a barrel project, and then the version in the manifest is used as part of the exported barrel name. Right now, the manifest editor allows for a way to easily change that version number. What about a way to export the manifest's version="x.y.z" to an app?

    Adding it as a string could be more complex, as if different targets use a different set of strings, and all would have to be changed when the version changes. And Barrels could be confused :). By just grabbing it from the manifest.xml directly, it's only in one place.

    "Sys.getMyAppVersion()" or something...
  • I've amended my bug report to use Jim's suggestion. :)
  • Having a link to a string for the version, like the name field does now, would help the case where there is more than one manifest file that you could choose in the jungle file.