Class RuntimeBuilderSettings
- java.lang.Object
- com.iizix.run.RuntimeBuilderSettings
public class RuntimeBuilderSettings extends java.lang.Object
The build settings loaded from the property container.- Author:
- Christopher Mindus
Field Summary
Fields Modifier and Type Field Description PlainKString
app_descr
Descriptive text of the app, use text table externalized for multiple languagesjava.lang.String
app_id
Specifies the app's reverse-domain identifier, e.g.java.lang.String
app_id_android
Specifies the app's reverse-domain identifier, e.g.java.lang.String
app_id_ios
Specifies the app's reverse-domain identifier, e.g.java.lang.String
app_id_windows
Specifies the app's reverse-domain identifier, e.g.PlainKString
app_locName
Name of the app displayed to the user.java.lang.String
app_name
Short name of the app without spaces.java.lang.String
app_textTable
Base text table for iiziRun texts.static boolean
areAndroidIconsTransparent
Flag for opacity for Android icons.static boolean
areiOSIconsTransparent
Flag for opacity for iOS icons.java.lang.String
assets_folder
The Assets folder for "icons" and "splash" screens.java.lang.String
author_email
Email to author for app.java.lang.String
author_href
Web site of author for app.PlainKString
author_name
Name of author.boolean
build_android
Builds the customized iiziRun for Android, default true.boolean
build_ios
Builds the customized iiziRun for iOS, default true.java.lang.String
build_remote
Specifies the address of the Remote iiziRun Builder machine.boolean
build_remote_all
Build all remotely.boolean
build_remote_tls
Secured with TLS.int
build_target_types
Targets to build: 0=debug, 1=release, 2=both.java.lang.String
build_version
Full version number expressed in major.minor.patch notation (default 1.0.0).java.lang.String
cert_C
Certificate "C": Two letter country code, e.g.java.lang.String
cert_CN
The Common Name of the author for certificates.java.lang.String
cert_L
Certificate "L": Locality (city) name, e.g.java.lang.String
cert_O
Certificate "O": Large organization name, e.g.java.lang.String
cert_OU
Certificate "OU": Small organization name, e.g.java.lang.String
cert_ST
Certificate "ST": State name, e.g.int
deepLink_op
The operation that are allowed for Deep Linking.java.lang.String
deepLink_urlscheme
Enables Deep Linking by means of an URL scheme.static java.lang.String[]
ICON_DENSITY_ANDROID
Icon densities for Android, null for none.static java.lang.String[]
ICON_NAMES_ANDROID
The transparent icon names for Android required in the icons directory.static java.lang.String[]
ICON_NAMES_COMMON
The transparent icon names for Common use (Web, etc) required in the icons directory.static java.lang.String[]
ICON_NAMES_COMMON_MUST_BE_PRESENT
The transparent icon names for Common use (Web, etc) required in the icons directory.static java.lang.String[]
ICON_NAMES_IOS
The opaque icon names for iOS required in the icons directory.java.lang.String
jdk_path
Path to the root of the Java 1.8 Development Kit.java.lang.String
login_password
The initial password for a default login.java.lang.String
login_user
The initial user name for a default login.boolean
output_clear
Flag indicating if the user should be prompted to clear the build output directory or if it should automatically be done.java.lang.String
output_path
Path where the build output of the customized iiziRun will be placed.boolean
plugin_camera
Enables taking pictures and for choosing images from the system's image library.boolean
plugin_contacts
Enables the access to the contacts database of the device.boolean
plugin_fingerprint
Enables fingerprint authentication with Android Fingerprint scanner or iOS Touch ID.boolean
plugin_firebase
Enables push notifications, analytics, event tracking, crash reporting and more from Google Firebase.boolean
plugin_geolocation
Enables the geolocation functions.boolean
plugin_geolocation_BG_android
Enables the background geolocation functions for Android.boolean
plugin_geolocation_BG_ios
Enables the background geolocation functionsfor iOS.boolean
plugin_inappbrowser
Enables the in-app browser to display web pages much like the external web browser.boolean
plugin_media
This plugin provides the ability to record and play back audio files on a device.boolean
plugin_media_capture
This plugin provides access to the device's audio, image, and video capture capabilities.boolean
plugin_vibration
Enables simple vibrations on the device.RuntimeBuilderProps
props
The settings property.java.lang.String
server_addr
Address of the iiziServer.int
server_port
Server port number, normally 443 for secure TLS connections (default), otherwise e.g.boolean
server_secure
Indicates the server port is configured for secure TLS communication, default true.boolean
server_validate
Validates that the server is really present and an iiziServer.static java.lang.String[]
SPLASH_FILES
Splash screens are opaque.static int[]
SPLASH_IOS_SIZES
Splash screen sizes for iOS: first width, then height.java.lang.String
srv_app_descr
The iiziServer App Description.java.lang.String
srv_app_id
The iiziServer App ID.protected TextTable
textTable
The text table, null if it comes from a remote party.static int
TOTAL_ICON_COUNT
Count of icons needed (for wizard to display).java.lang.String
windows_publisher_id
The windows publisher ID as e.g.java.lang.String
windows_store_identity_name
The Windows Store identity name, e.g.
Constructor Summary
Constructors Constructor Description RuntimeBuilderSettings(RuntimeBuilderProps pc)
The constructor.
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static java.io.File
generateAndroidDebugKeyStore(RuntimeBuilderProps props, java.io.File assetsDir)
Generates the Android debug key store and saves it to the properties.java.io.File
generateAndroidDebugKeyStore(java.io.File assetsDir)
Generates the Android debug key store and saves it to the properties.static java.io.File
generateAndroidReleaseKeyStore(RuntimeBuilderProps props, javax.security.auth.x500.X500Principal owner, java.io.File assetsDir)
Generates the Android release key store and saves it to the properties.java.io.File
generateAndroidReleaseKeyStore(javax.security.auth.x500.X500Principal owner, java.io.File assetsDir)
Generates the Android release key store and saves it to the properties.javax.security.auth.x500.X500Principal
getAndroidCertificateOwner()
Gets the Android app owner used when signing release APK's, an X.500 principal used for certificate creation.static java.lang.String
getAndroidDebugAlias()
Gets the Android debug code alias in the keystore ("androiddebugkey").static javax.security.auth.x500.X500Principal
getAndroidDebugOwner()
Gets the Android Debug owner for signing apps.static java.lang.String
getAndroidDebugPassword()
Gets the Android debug code signing password.static java.lang.String
getAndroidReleaseAlias()
Gets the Android release code alias in the keystore ("iizi").java.lang.String
getAndroidReleasePassword()
Gets the Android release code signing password.static java.lang.String
getAndroidReleasePassword(RuntimeBuilderProps props)
Gets the Android release code signing password.java.io.File
getAssetsSubdirectory()
Gets the projects subdirectory in the Assets folder.TextTable[]
getDerivedTextTables()
Gets all tables in all open projects that derives from this text table.java.lang.String
getLocalizedString(PlainKString pks, java.lang.String languageCode)
Resolves a PlainKString that refers to the text table with the specified language code.java.io.File
getOutputDirectory()
Gets the output directory where to place the builds.TextTable
getTextTable()
Gets the text table.boolean
hasAndroidKeyStore(boolean isRelease)
Checks for presence of Android keystore of debug or release type.static boolean
hasAndroidKeyStore(RuntimeBuilderProps props, boolean isRelease)
Checks for presence of Android keystore of debug or release type.boolean
isInternalBuild()
Checks for internal build.void
verify(boolean isDesigner, boolean doCheckAll, java.io.File projectDir, java.util.Set<java.lang.String> textTableIDs, java.util.ArrayList<BuilderError> errors)
Performs verification of the settings.static java.lang.String
writeAndroidKeyStore(RuntimeBuilderProps props, java.io.File file, boolean isRelease)
Writes an Android KeyStore to file.java.lang.String
writeAndroidKeyStore(java.io.File file, boolean isRelease)
Writes an Android KeyStore to file.
Field Detail
ICON_NAMES_COMMON
public static final java.lang.String[] ICON_NAMES_COMMON
The transparent icon names for Common use (Web, etc) required in the icons directory.
ICON_NAMES_COMMON_MUST_BE_PRESENT
public static final java.lang.String[] ICON_NAMES_COMMON_MUST_BE_PRESENT
The transparent icon names for Common use (Web, etc) required in the icons directory.
areAndroidIconsTransparent
public static final boolean areAndroidIconsTransparent
Flag for opacity for Android icons.- See Also:
- Constant Field Values
ICON_NAMES_ANDROID
public static final java.lang.String[] ICON_NAMES_ANDROID
The transparent icon names for Android required in the icons directory.
ICON_DENSITY_ANDROID
public static final java.lang.String[] ICON_DENSITY_ANDROID
Icon densities for Android, null for none.
areiOSIconsTransparent
public static final boolean areiOSIconsTransparent
Flag for opacity for iOS icons.- See Also:
- Constant Field Values
ICON_NAMES_IOS
public static final java.lang.String[] ICON_NAMES_IOS
The opaque icon names for iOS required in the icons directory.Note that there are TWO names that begins with "ios/" and needs a subdirectory. These icons are not square.
SPLASH_FILES
public static final java.lang.String[] SPLASH_FILES
Splash screens are opaque.
SPLASH_IOS_SIZES
public static final int[] SPLASH_IOS_SIZES
Splash screen sizes for iOS: first width, then height.
TOTAL_ICON_COUNT
public static final int TOTAL_ICON_COUNT
Count of icons needed (for wizard to display).
props
public final RuntimeBuilderProps props
The settings property.
build_version
public final java.lang.String build_version
Full version number expressed in major.minor.patch notation (default 1.0.0).
build_android
public final boolean build_android
Builds the customized iiziRun for Android, default true.
build_ios
public final boolean build_ios
Builds the customized iiziRun for iOS, default true.
build_target_types
public final int build_target_types
Targets to build: 0=debug, 1=release, 2=both.
build_remote
public final java.lang.String build_remote
Specifies the address of the Remote iiziRun Builder machine. Format is 'addr:port'. All communication is done over secured TLS connections.
build_remote_tls
public final boolean build_remote_tls
Secured with TLS.
build_remote_all
public final boolean build_remote_all
Build all remotely.
app_id
public final java.lang.String app_id
Specifies the app's reverse-domain identifier, e.g. 'com.iizix.run.devel'. This name cannot be changed once the app has been published.
app_name
public final java.lang.String app_name
Short name of the app without spaces. This name cannot be localized. This name cannot be changed once the app has been published.
assets_folder
public final java.lang.String assets_folder
The Assets folder for "icons" and "splash" screens.
app_textTable
public final java.lang.String app_textTable
Base text table for iiziRun texts. When multiple languages are used, this is the base language text file.
textTable
protected TextTable textTable
The text table, null if it comes from a remote party.
app_locName
public final PlainKString app_locName
Name of the app displayed to the user. The name can contain spaces and can be localized. It can also be changed after publishing of the app.
app_descr
public final PlainKString app_descr
Descriptive text of the app, use text table externalized for multiple languages
author_name
public final PlainKString author_name
Name of author. Use text table to localize name.
author_email
public final java.lang.String author_email
Email to author for app.
author_href
public final java.lang.String author_href
Web site of author for app.
cert_CN
public final java.lang.String cert_CN
The Common Name of the author for certificates. If unspecified, it is the author's name in the default language (English).
cert_O
public final java.lang.String cert_O
Certificate "O": Large organization name, e.g. "Onizuka, Inc.". If unspecified, it is the author's name in the default language (English).
cert_OU
public final java.lang.String cert_OU
Certificate "OU": Small organization name, e.g. "Purchasing".
cert_L
public final java.lang.String cert_L
Certificate "L": Locality (city) name, e.g. "Palo Alto".
cert_ST
public final java.lang.String cert_ST
Certificate "ST": State name, e.g. "California".
cert_C
public final java.lang.String cert_C
Certificate "C": Two letter country code, e.g. "CH".
server_addr
public final java.lang.String server_addr
Address of the iiziServer. The address can be a DNS name (recommended) but can also be an IP address. This address does not necessarily have to be public on the internet.
server_port
public final int server_port
Server port number, normally 443 for secure TLS connections (default), otherwise e.g. 80 for unsecure connections.
server_secure
public final boolean server_secure
Indicates the server port is configured for secure TLS communication, default true.
server_validate
public final boolean server_validate
Validates that the server is really present and an iiziServer. This is done in order to ensure that the server settings are correct. Default is true.
srv_app_id
public final java.lang.String srv_app_id
The iiziServer App ID. This value MUST be specified and VALID.
srv_app_descr
public final java.lang.String srv_app_descr
The iiziServer App Description.null
or an empty string means that no description is available. This value is used merely for the interface on the client side for choosing the app, when this is possible.
login_user
public final java.lang.String login_user
The initial user name for a default login.In order to avoid a login prompt and to handle the login process inside the app, provide a valid and authorized User name and Password. This user should just have access to the app initially.
The default is "iiziRun Developer" with "secret" password.
login_password
public final java.lang.String login_password
The initial password for a default login.The default is "iiziRun Developer" with "secret" password.
deepLink_urlscheme
public final java.lang.String deepLink_urlscheme
Enables Deep Linking by means of an URL scheme. The user can use the browser on the device to perform operations when clicking on special links.null
means not enabled.
deepLink_op
public final int deepLink_op
The operation that are allowed for Deep Linking. Be very careful when choosing the 'run another' or 'redefine' as this could present a security risk for users, unless the server is controlled in e.g. a private or corporate network (i.e. not the internet).Values:
- 0 = launch (default)
- 1 = run another
- 2 = redefine
output_path
public final java.lang.String output_path
Path where the build output of the customized iiziRun will be placed. The default is the directory 'iiziRun' in the module project.
output_clear
public final boolean output_clear
Flag indicating if the user should be prompted to clear the build output directory or if it should automatically be done.
jdk_path
public final java.lang.String jdk_path
Path to the root of the Java 1.8 Development Kit. The default will attempt to use the Eclipse settings.
plugin_camera
public final boolean plugin_camera
Enables taking pictures and for choosing images from the system's image library.
plugin_contacts
public final boolean plugin_contacts
Enables the access to the contacts database of the device.
plugin_firebase
public final boolean plugin_firebase
Enables push notifications, analytics, event tracking, crash reporting and more from Google Firebase.
plugin_geolocation
public final boolean plugin_geolocation
Enables the geolocation functions.Enabled by default.
plugin_geolocation_BG_android
public final boolean plugin_geolocation_BG_android
Enables the background geolocation functions for Android. This makes it possible for the server to receive the location of the device even if the app is not running.
plugin_geolocation_BG_ios
public final boolean plugin_geolocation_BG_ios
Enables the background geolocation functionsfor iOS. This makes it possible for the server to receive the location of the device even if the app is not running.Note: the App Store is very strict for this setting and will only allow your app to use it if you can "prove" that the app functions requires it.
plugin_inappbrowser
public final boolean plugin_inappbrowser
Enables the in-app browser to display web pages much like the external web browser. This plugin is required for apps using external login sources such as Facebook, LinkedIn or Twitter.
plugin_media
public final boolean plugin_media
This plugin provides the ability to record and play back audio files on a device.
plugin_media_capture
public final boolean plugin_media_capture
This plugin provides access to the device's audio, image, and video capture capabilities.WARNING: Collection and use of images, video, or audio from the device's camera or microphone raises important privacy issues. Your app's privacy policy should discuss how the app uses such sensors and whether the data recorded is shared with any other parties. In addition, if the app's use of the camera or microphone is not apparent in the user interface, you should provide a just-in-time notice before the app accesses the camera or microphone (if the device operating system doesn't do so already). That notice should provide the same information noted above, as well as obtaining the user's permission (e.g., by presenting choices for 'OK' and 'No Thanks'). Note that some app marketplaces may require your app to provide just-in-time notice and obtain permission from the user prior to accessing the camera or microphone.
plugin_fingerprint
public final boolean plugin_fingerprint
Enables fingerprint authentication with Android Fingerprint scanner or iOS Touch ID.
plugin_vibration
public final boolean plugin_vibration
Enables simple vibrations on the device.
app_id_android
public final java.lang.String app_id_android
Specifies the app's reverse-domain identifier, e.g. 'com.iizix.run.devel'. This name cannot be changed once the app has been published. This name is used to override the Android app ID. This name can be null, in which case the default "app_id" is used instead.
app_id_ios
public final java.lang.String app_id_ios
Specifies the app's reverse-domain identifier, e.g. 'com.iizix.run.devel'. This name cannot be changed once the app has been published. This name is used to override the iOS app ID. This name can be null, in which case the default "app_id" is used instead.
app_id_windows
public final java.lang.String app_id_windows
Specifies the app's reverse-domain identifier, e.g. 'com.iizix.run.devel'. This name cannot be changed once the app has been published. This name is used to override the Windows app ID. This name can be null, in which case the default "app_id" is used instead.
windows_publisher_id
public final java.lang.String windows_publisher_id
The windows publisher ID as e.g. "CN=6920B79C-CBA3-4690-AFF5-2009140DBCE7".
windows_store_identity_name
public final java.lang.String windows_store_identity_name
The Windows Store identity name, e.g. "NexumTechnologies.56143987FFAF6".
Constructor Detail
RuntimeBuilderSettings
public RuntimeBuilderSettings(RuntimeBuilderProps pc)
The constructor.- Parameters:
pc
- The runtime builder properties container.
Method Detail
verify
public void verify(boolean isDesigner, boolean doCheckAll, java.io.File projectDir, java.util.Set<java.lang.String> textTableIDs, java.util.ArrayList<BuilderError> errors)
Performs verification of the settings.- Parameters:
isDesigner
- Flag for Designer.doCheckAll
- Final check-all verification to also check URL's etc.projectDir
- The project directory (for Eclipse, for Remote Server it is null.textTableIDs
- Text table IDs required, null for no checking.errors
- The errors array to fill in.
getOutputDirectory
public java.io.File getOutputDirectory()
Gets the output directory where to place the builds.- Returns:
- The directory, it might not to be present, but the parent directory is.
getLocalizedString
public java.lang.String getLocalizedString(PlainKString pks, java.lang.String languageCode)
Resolves a PlainKString that refers to the text table with the specified language code.- Parameters:
pks
- The plain KString.languageCode
- The language code supported by the application, null for default English or if language code is not found.- Returns:
- The localized String.
Note: If the text fails to resolve, a severe error is logged, and the original raw string is returned instead.
getAssetsSubdirectory
public java.io.File getAssetsSubdirectory()
Gets the projects subdirectory in the Assets folder.- Returns:
- The directory, or null if not verified.
hasAndroidKeyStore
public boolean hasAndroidKeyStore(boolean isRelease)
Checks for presence of Android keystore of debug or release type.- Parameters:
isRelease
- true for release, false for debug.- Returns:
- true if created, false otherwise.
hasAndroidKeyStore
public static boolean hasAndroidKeyStore(RuntimeBuilderProps props, boolean isRelease)
Checks for presence of Android keystore of debug or release type.- Parameters:
props
- The runtime builder properties.isRelease
- true for release, false for debug.- Returns:
- true if created, false otherwise.
getAndroidDebugAlias
public static java.lang.String getAndroidDebugAlias()
Gets the Android debug code alias in the keystore ("androiddebugkey").- Returns:
- The alias "androiddebugkey".
getAndroidReleaseAlias
public static java.lang.String getAndroidReleaseAlias()
Gets the Android release code alias in the keystore ("iizi").- Returns:
- The alias "iizi".
getAndroidDebugPassword
public static java.lang.String getAndroidDebugPassword()
Gets the Android debug code signing password.- Returns:
- The password "android".
getAndroidReleasePassword
public java.lang.String getAndroidReleasePassword()
Gets the Android release code signing password.- Returns:
- The password, null if no code signing is configured.
getAndroidReleasePassword
public static java.lang.String getAndroidReleasePassword(RuntimeBuilderProps props)
Gets the Android release code signing password.- Parameters:
props
- The runtime builder properties.- Returns:
- The password, null if no code signing is configured.
getAndroidDebugOwner
public static javax.security.auth.x500.X500Principal getAndroidDebugOwner()
Gets the Android Debug owner for signing apps.- Returns:
- The Android owner.
getAndroidCertificateOwner
public javax.security.auth.x500.X500Principal getAndroidCertificateOwner() throws java.lang.Exception
Gets the Android app owner used when signing release APK's, an X.500 principal used for certificate creation.- Returns:
- The principal.
- Throws:
java.lang.Exception
- For errors.
generateAndroidDebugKeyStore
public java.io.File generateAndroidDebugKeyStore(java.io.File assetsDir) throws java.security.InvalidKeyException, java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException, java.lang.IllegalStateException, java.security.SignatureException, java.security.KeyStoreException, java.security.cert.CertificateException, java.io.IOException, PropException
Generates the Android debug key store and saves it to the properties.- Parameters:
assetsDir
- The directory where the project Assets are located, to write the android-debug.p12 file into. If null, no such PKCS#12 file is created.- Returns:
- "The keystore.p12" file name written, null for none.
- Throws:
java.io.IOException
- For I/O errors.java.security.cert.CertificateException
- If any of the certificates in the keystore could not be saved.java.security.NoSuchAlgorithmException
- If the algorithm used to check the integrity of the keystore cannot be found.java.security.KeyStoreException
- If no Provider supports a KeyStoreSpi implementation for the PKCS#12 type.java.security.SignatureException
- If the signature is in error.java.lang.IllegalStateException
- If the state is invalid to generate a keystore.java.security.NoSuchProviderException
- If no provider for the certificate is available.java.security.InvalidKeyException
- If the key in invalid.PropException
- If there is a Property Exception.
generateAndroidDebugKeyStore
public static java.io.File generateAndroidDebugKeyStore(RuntimeBuilderProps props, java.io.File assetsDir) throws java.security.InvalidKeyException, java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException, java.lang.IllegalStateException, java.security.SignatureException, java.security.KeyStoreException, java.security.cert.CertificateException, java.io.IOException, PropException
Generates the Android debug key store and saves it to the properties.- Parameters:
props
- The runtime builder properties.assetsDir
- The directory where the project Assets are located, to write the android-debug.p12 file into. If null, no such PKCS#12 file is created.- Returns:
- "The keystore.p12" file name written, null for none.
- Throws:
java.io.IOException
- For I/O errors.java.security.cert.CertificateException
- If any of the certificates in the keystore could not be saved.java.security.NoSuchAlgorithmException
- If the algorithm used to check the integrity of the keystore cannot be found.java.security.KeyStoreException
- If no Provider supports a KeyStoreSpi implementation for the PKCS#12 type.java.security.SignatureException
- If the signature is in error.java.lang.IllegalStateException
- If the state is invalid to generate a keystore.java.security.NoSuchProviderException
- If no provider for the certificate is available.java.security.InvalidKeyException
- If the key in invalid.PropException
- If there is a Property Exception.
generateAndroidReleaseKeyStore
public java.io.File generateAndroidReleaseKeyStore(javax.security.auth.x500.X500Principal owner, java.io.File assetsDir) throws java.security.InvalidKeyException, java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException, java.lang.IllegalStateException, java.security.SignatureException, java.security.KeyStoreException, java.security.cert.CertificateException, java.io.IOException, PropException
Generates the Android release key store and saves it to the properties.- Parameters:
owner
- The certificate owner.assetsDir
- The directory where the project Assets are located, to write the android-release.p12 file into. If null, no such PKCS#12 file is created.- Returns:
- "The keystore.p12" file name written, null for none.
- Throws:
java.io.IOException
- For I/O errors.java.security.cert.CertificateException
- If any of the certificates in the keystore could not be saved.java.security.NoSuchAlgorithmException
- If the algorithm used to check the integrity of the keystore cannot be found.java.security.KeyStoreException
- If no Provider supports a KeyStoreSpi implementation for the PKCS#12 type.java.security.SignatureException
- If the signature is in error.java.lang.IllegalStateException
- If the state is invalid to generate a keystore.java.security.NoSuchProviderException
- If no provider for the certificate is available.java.security.InvalidKeyException
- If the key in invalid.PropException
- If there is a Property Exception.
generateAndroidReleaseKeyStore
public static java.io.File generateAndroidReleaseKeyStore(RuntimeBuilderProps props, javax.security.auth.x500.X500Principal owner, java.io.File assetsDir) throws java.security.InvalidKeyException, java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException, java.lang.IllegalStateException, java.security.SignatureException, java.security.KeyStoreException, java.security.cert.CertificateException, java.io.IOException, PropException
Generates the Android release key store and saves it to the properties.- Parameters:
props
- The runtime builder properties.owner
- The certificate owner.assetsDir
- The directory where the project Assets are located, to write the android-release.p12 file into. If null, no such PKCS#12 file is created.- Returns:
- "The keystore.p12" file name written, null for none.
- Throws:
java.io.IOException
- For I/O errors.java.security.cert.CertificateException
- If any of the certificates in the keystore could not be saved.java.security.NoSuchAlgorithmException
- If the algorithm used to check the integrity of the keystore cannot be found.java.security.KeyStoreException
- If no Provider supports a KeyStoreSpi implementation for the PKCS#12 type.java.security.SignatureException
- If the signature is in error.java.lang.IllegalStateException
- If the state is invalid to generate a keystore.java.security.NoSuchProviderException
- If no provider for the certificate is available.java.security.InvalidKeyException
- If the key in invalid.PropException
- If there is a Property Exception.
writeAndroidKeyStore
public java.lang.String writeAndroidKeyStore(java.io.File file, boolean isRelease) throws NotFoundException, java.security.KeyStoreException, java.security.NoSuchAlgorithmException, java.security.cert.CertificateException, java.io.IOException
Writes an Android KeyStore to file.- Parameters:
file
- Destination file for a PKCS#12 KeyStore (i.e. "file-name.p12").isRelease
- The release KeyStore when true, debug when false.- Returns:
- The password for the keystore.
- Throws:
NotFoundException
- If properties are not found.java.io.IOException
- For I/O errors.java.security.cert.CertificateException
- If any of the certificates in the keystore could not be saved.java.security.NoSuchAlgorithmException
- If the algorithm used to check the integrity of the keystore cannot be found.java.security.KeyStoreException
- If no Provider supports a KeyStoreSpi implementation for the PKCS#12 type.
writeAndroidKeyStore
public static java.lang.String writeAndroidKeyStore(RuntimeBuilderProps props, java.io.File file, boolean isRelease) throws NotFoundException, java.security.KeyStoreException, java.security.NoSuchAlgorithmException, java.security.cert.CertificateException, java.io.IOException
Writes an Android KeyStore to file.- Parameters:
props
- The runtime builder properties.file
- Destination file for a PKCS#12 KeyStore (i.e. "file-name.p12").isRelease
- The release KeyStore when true, debug when false.- Returns:
- The password for the keystore.
- Throws:
NotFoundException
- If properties are not found.java.io.IOException
- For I/O errors.java.security.cert.CertificateException
- If any of the certificates in the keystore could not be saved.java.security.NoSuchAlgorithmException
- If the algorithm used to check the integrity of the keystore cannot be found.java.security.KeyStoreException
- If no Provider supports a KeyStoreSpi implementation for the PKCS#12 type.
getTextTable
public TextTable getTextTable()
Gets the text table.- Returns:
- The text table used, null for none.
getDerivedTextTables
public TextTable[] getDerivedTextTables()
Gets all tables in all open projects that derives from this text table.In runtime, this method returns an empty array!
- Returns:
- An array of all derived tables, in runtime always empty, only defined in the Designer!
isInternalBuild
public boolean isInternalBuild()
Checks for internal build.- Returns:
- true if internal build, false for external.