Uploaded image for project: 'Titanium SDK/CLI'
  1. Titanium SDK/CLI
  2. TIMOB-16869

CLI: Allow build configuration overrides in the tiapp.xml

    Details

    • Type: New Feature
    • Status: Open
    • Priority: Low
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: CLI

      Description

      This ticket is phase 2 of 3 phases:

      1. Decouple settings from the deploy type and expose the defaults in an XML file that is in the SDK (TIMOB-12025)
      2. Allow setting overrides in the tiapp.xml (this ticket)
      3. Expose build configurations via command line options that allow selection of custom build configuration (TIMOB-16870)

      Project level build configurations can override or extend the global build configurations. Below is an example where the "development" build configuration is overwritten and the "test" build configuration is extended.

      <ti:app xmlns:ti="http://ti.appcelerator.org">
          <id>com.appcelerator.testapp</id>
          <name>testapp</name>
          <version>1.0</version>
          <analytics>true</analytics> <!-- enable analytics for all build configurations unless a build configuration explicitly disables it -->
          <guid>0cf6aa04-a863-4a4c-8262-e8a04bc124f2</guid>
          <property name="ti.ui.defaultunit" type="string">system</property>
          <iphone/>
          <android xmlns:android="http://schemas.android.com/apk/res/android"/>
          <mobileweb/>
          <modules>
              <module platform="commonjs">ti.cloud</module>
          </modules>
          <deployment-targets/>
          <build-configurations>
              <configuration name="development">
                  <deploy-type>test</deploy-type> <!-- this overrides the default "development" unless --deploy-type was explicitly set -->
                  <property name="my-special-dev-only-prop" type="string">hello</property> <!-- this adds a new property only available for development builds -->
                  <analytics>false</analytics> <!-- this overrides the global value "true" -->
                  <minify-css>true</minify-css> <!-- this overrides the default value "false" -->
              </configuration>
              <configuration name="soasta-testing" extends="test">
                  <minify-js>false</minify-js>
                  <modules>
                      <module platform="android" version="1.0">com.soasta.touchtest</module>
                  </modules>
                  <mobileweb>
                      <analytics>
                          <use-xhr>true</use-xhr> <!-- override the default value of false -->
                      </analytics>
                  </mobileweb>
              </configuration>
          </build-configurations>
      </ti:app>
      

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                cbarber Chris Barber
                Reporter:
                cbarber Chris Barber
              • Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:

                  Backbone Issue Sync

                  • Backbone Issue Sync is enabled for your project, but we do not have any synchronization info for this issue.

                    Git Integration