cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nikhil Khandelwal <nikhi...@microsoft.com>
Subject build.json file
Date Mon, 18 May 2015 17:25:11 GMT
I want to bring this to the attention of everyone that I have added a build.json for specifying
signing parameters for different platforms as part of cordova build. Here are the design principles
I used:

-          build.json should be used over config.xml for specifying build time behavior (as
opposed to runtime). In the case of signing, it did not make sense to have paths to certs,
passwords, signing identity info etc. to be part of config.xml and be packaged with the app
itself.

-          build.json file has the following schema:
{
                     "<platformName>" : {
                                "debug" : {
                                                "<propertyName>" : "<propertyValue>"
                                },
                                "release" : {
                                                "<propertyName>" : "<propertyValue>"
                                },
                }

-          So far all properties that can be specified using build.json can be specified using
command line args. Command line args take precedence if it's specified at both places.

-          By convention, a file named 'build.json' on the project root alongside 'config.xml'
will be passed to platform CLI scripts with its location using the '--buildConfig' argument.
There is a PR for this here: https://github.com/apache/cordova-lib/pull/215

Ideas for future:

-          Cordova CLI will allow to specify a custom build.json

-          Add docs for this talking about build.json

-          Unify parsing logic for build.json & command line args across platforms in
a shared module.

-          Move some of the config.xml properties to build.json since they belong better there.

Let me know if you have any questions, ideas or concerns related to this.

Thanks,
Nikhil



Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message