[TIMOB-11902] Add ability to provide build-time properties for projects in a separate file
GitHub Issue | n/a |
---|---|
Type | New Feature |
Priority | Low |
Status | Open |
Resolution | Unresolved |
Affected Version/s | Release 3.0.0 |
Fix Version/s | n/a |
Components | CLI |
Labels | cb-tooling, titaniumlib |
Reporter | Ingo Muschenetz |
Assignee | Chris Barber |
Created | 2012-11-30T00:55:00.000+0000 |
Updated | 2020-03-06T21:36:30.000+0000 |
Description
Similar to ANT, we'd like a mechanism whereby individuals can supply a separate file for build-time properties and these would replace variables during the compilation step.
A good use case for this might be the secret keys in ACS. We'd like to not store them in tiapp.xml, and instead have a separate build.properties file that contains the key/value pairs. This file would then get a .gitignore, so we don't accidentally check it into source control.
An example:
{panel:title=tiapp.xml}
$\{acs-oauth-secret-production\}
{panel}
{panel:title=build.properties}
acs-oauth-secret-production=XXYYZZ
{panel}
There would need to be some way to indicate which file contained the properties.
This is brilliant! We currently required users to pass in their provisioning profile uuid, developer cert name, and dist cert name to the build command. It rarely changes, so it would be better to put this in a file. We can't use the
tiapp.xml
since apps could be developed by a team of people, each with different developer certs and such. I don't like the idea of a key/value file. I think it needs to be hierarchical. I don't think JSON would work since it doesn't allow comments and requires extra work to define a schema. If we had auser.xml
that shared a similar structure to thetiapp.xml
, then we could.gitignore
that one file and essentially have the build "merge" theuser.xml
on top of thetiapp.xml
. To make managing this file easier, we could whip up a quickti setup
screen for selecting their provisioning profile uuid, etc. Studio would have to get creative. It could simply load theuser.xml
in the tiapp editor, but with a much looser schema.