Seymour is a build helper for Apache Cordova projects.
It takes configuration from environment variables, making it ideal for use in continuous integration environments with a matrix of platforms and build types.
Install Seymour:
npm install --save-dev seymour
Run Seymour on your Cordova project:
npx seymour
Seymour requires your Cordova platforms and plugins to be listed in your config.xml file. It will effectively run the following:
cordova prepare
cordova build --device
You can control additional behaviour through environment variables.
To update the config.xml file without running a build, you can run Seymour with
the --config-only
flag.
- Collect the resulting build artefacts into a top-level
output
directory
The following environment variables will be used by Seymour to alter the resulting build:
- Valid options:
debug
,release
- Default value:
debug
- Valid options: A comma-separated list of Cordova platforms to build
- Default value: Use the platforms listed in config.xml
You cannot use this to add new platforms that are not listed in config.xml. You can only use this to restrict to a subset of platforms.
The name of a JSON file containing build signing information.
See the following Cordova documentation for JSON options:
This will override the build version number (not the application version) defined in config.xml.
This corresponds to the iOS CFBundleVersion
and the Android versionCode
.
This will override the application name defined in config.xml.
This will override the application display name defined in config.xml.
This will override the application identifier defined in config.xml.
This will override the application version defined in config.xml.
This will enable verbose logging from the Cordova build commands.
This will allow you to set and override preferences globally in config.xml.
For example, you could specify SEY_PREFERENCE_backgroundColor=FF0000FF
to
override the backgroundColor
preference in config.xml.
This will allow you to set and override platform specific preferences in config.xml.
For example, you could specify SEY_IOS_PREFERENCE_SasApiKey=123456789
to
override the SasApiKey
preference nested in the ios platform in config.xml.
Contributions of bug reports, feature requests, and pull requests are greatly appreciated!
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
Copyright © 2015-2023 Darryl Pogue & Ayogo Health Inc.
Licensed under the Apache 2.0 Licence.