Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-11902] Add ability to provide build-time properties for projects in a separate file

GitHub Issuen/a
TypeNew Feature
PriorityLow
StatusOpen
ResolutionUnresolved
Affected Version/sRelease 3.0.0
Fix Version/sn/a
ComponentsCLI
Labelscb-tooling, titaniumlib
ReporterIngo Muschenetz
AssigneeChris Barber
Created2012-11-30T00:55:00.000+0000
Updated2020-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.

Comments

  1. Chris Barber 2016-08-26

    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 a user.xml that shared a similar structure to the tiapp.xml, then we could .gitignore that one file and essentially have the build "merge" the user.xml on top of the tiapp.xml. To make managing this file easier, we could whip up a quick ti setup screen for selecting their provisioning profile uuid, etc. Studio would have to get creative. It could simply load the user.xml in the tiapp editor, but with a much looser schema.

JSON Source