Skip to content

cli to easily build WaveMaker Mobile projects

License

Notifications You must be signed in to change notification settings

wavemaker/wm-cordova-cli

Repository files navigation

wm-cordova-cli

A command line untility to build mobile apps created using WaveMaker product.

The main goal of wm-cordova-cli is to simplify generation of APK or IPA for WaveMaker developers. wm-cordova-cli combines multiple cordova commands into a single command. First, one has to make sure all the required hardware and software are available and installed. Then execute the command with the appropriate values for arguments.

ANDROID build

Requirements

Command

wm-cordova build android <src_dir> <dest_dir> [additional_arguments]

                   Argument                    Description
src_dir DEFAULT: current working directory.
Path to the cordova zip (or) path to the cordova project folder.
dest_dir OPTIONAL: Path to the directory where all build files are to be kept.
--cordovaVersion OPTIONAL: Cordova cli version to use
--cordovaAndroidVersion OPTIONAL: Version of cordova-ios to use
--aKeyStore Absolute path of the key store. If keystore is not given then android debug key is used.
--aStorePassword Password to key store
--aKeyAlias Alias name of the key
--aKeyPassword Key Password
--packageType DEFAULT: apk
'apk' or 'bundle' (for aab)
--buildType DEFAULT: development
development or production
Use ‘production’ with keystore specified.
--allowHooks DEFAULT: true
this flag can be used to turn on and off cordova hooks functionality.

Example 1

wm-cordova build android "/path/to/src"

Example 2

wm-cordova build android "/path/to/src" \
--aKeyStore="/path/to/file.keystore" \
--aStorePassword="store_password" \
--aKeyAlias="key_alias_name" \
--aKeyPassword="key" \
--buildType="production"

IOS build

Requirements

NOTE: Before building an app, please make sure that neither iPhone nor iPad is not connected to Mac. This is open issue on cordova-ios.

Command

wm-cordova build ios <src_dir> <dest_dir> [additional_arguments]

                   Argument                      Description
src_dir DEFAULT: current working directory.
Path to the cordova zip (or) path to the cordova project folder.
dest_dir OPTIONAL: Path to the directory where all build files are to be kept.
--cordovaVersion OPTIONAL: Cordova cli version to use
--cordovaIosVersion OPTIONAL: Version of cordova-ios to use
--iCertificate Absolute path of P12 certificate location
--iCertificatePassword Password to unlock the certificate.
--iProvisioningFile Absolute path of provisioning file
--buildType DEFAULT: development
development or production
Use ‘production’ with an AppStore distribution certificate.
--allowHooks DEFAULT: true
this flag can be used to turn on and off cordova hooks functionality.

Example

wm-cordova build ios "/path/to/src" \
--iCertificate="/path/to/distribution.p12" \
--iCertificatePassword="unlock_password" \
--iProvisioningFile="/path/to/profile.mobileprovision" \
--buildType="production"

Cordova versions used for a build

  1. Based upon the value of 'phonegap-cli' preference value, versions mentioned in the below table are used by default.
PHONEGAP-CLI CORDOVA CORDOVA-ANDROID CORDOVA-IOS
cli-9.0.0 9.0.0 8.0.0 5.1.1
cli-8.1.1 8.1.1 7.1.2 4.5.5
cli-8.0.0 8.0.0 7.0.0 4.5.4
  1. In config.xml, the above cordova values can be overridden by setting preferences with the below mentioned names.

    wm-cordova
    wm-cordova-android
    wm-cordova-ios

  2. Cordova versions can also be mentioned as command line arguments.

Additional Information

  1. Destination folder path is logged at the start of the build.
  2. Build log files are present at <destination_folder>/output/logs
  3. The artifact built is available at <destination_folder>/output/<platform_type>/. The complete path is printed in log also.

License

MIT License Copyright (c) 2020 WaveMaker