crossbundle 0.1.2

Build and publish apps for Android/iOS
Documentation

CrossBundle CLI

splash

The crossbundle is a command-line tool that encapsulates boring stuff of Android and iOS build/packaging processes and helps mobile developers to create and maintain applications written in rust programming language.

Installation

cargo install --git=https://github.com/dodorare/crossbow crossbundle

NOTE

For the correct work of the tool, you need to set up a development environment (ex. install some libraries and tools - such as Android SDK, Android NDK, XCode, etc). More information about how to set up the environment in the Android setup and iOS setup wiki pages.


Syntax

To see the complete documentation for each command/subcommand you can write -h or --help:

crossbundle -h
crossbundle build android -h
crossbundle run android -h

Command crossbundle

crossbundle <SUBCOMMAND> [FLAGS] [OPTIONS]
USAGE:
    crossbundle [OPTIONS] <SUBCOMMAND>

OPTIONS:
    -c, --current-dir <CURRENT_DIR>    The current directory where to run all commands
    -h, --help                         Print help information
    -q, --quiet                        No output printed to stdout
    -v, --verbose                      A level of verbosity, and can be used multiple times
    -V, --version                      Print version information

SUBCOMMANDS:
    build    Starts the process of building/packaging/signing of the rust crate
    help     Print this message or the help of the given subcommand(s)
    log      Attach logger to device with running application
    new      Creates a new Cargo package in the given directory. Project will be ready to build
             with `crossbundle`
    run      Executes `build` command and then deploy and launches the application on the
             device/emulator

Command crossbundle build android

crossbundle build android [FLAGS] [OPTIONS]
USAGE:
    crossbundle build android [OPTIONS]

OPTIONS:
        --aab
            Generating aab. By default crossbow generating apk

        --all-features
            Activate all available features of selected package

        --example <EXAMPLE>
            Build the specified example

        --features <FEATURES>...
            Space or comma separated list of features to activate. These features only apply to the
            current directory's package. Features of direct dependencies may be enabled with `<dep-
            name>/<feature-name>` syntax. This flag may be specified multiple times, which enables
            all specified features

    -h, --help
            Print help information

        --no-default-features
            Do not activate the `default` feature of the current directory's package

        --quad
            Specifies to build macroquad game engine

        --release
            Build optimized artifact with the `release` profile

        --sign-key-alias <SIGN_KEY_ALIAS>
            Signing key alias

        --sign-key-pass <SIGN_KEY_PASS>
            Signing key password

        --sign-key-path <SIGN_KEY_PATH>
            Path to the signing key

        --target <TARGET>...
            Build for the given android architecture. Supported targets are: `armv7-linux-
            androideabi`, `aarch64-linux-android`, `i686-linux-android`, `x86_64-linux-android`
            [default: aarch64-linux-android]

        --target-dir <TARGET_DIR>
            Directory for generated artifact and intermediate files

Command crossbundle build apple

crossbundle build apple [FLAGS] [OPTIONS]
USAGE:
    crossbundle build apple [OPTIONS]

OPTIONS:
        --all-features
            Activate all available features of selected package

        --bin <BIN>
            Specify custom cargo binary

        --example <EXAMPLE>
            Build the specified example

        --features <FEATURES>...
            Space or comma separated list of features to activate. These features only apply to the
            current directory's package. Features of direct dependencies may be enabled with `<dep-
            name>/<feature-name>` syntax. This flag may be specified multiple times, which enables
            all specified features

    -h, --help
            Print help information

        --identity <IDENTITY>
            The id of the identity used for signing. It won't start the signing process until you
            provide this flag

        --no-default-features
            Do not activate the `default` feature of the current directory's package

        --profile-name <PROFILE_NAME>
            Provisioning profile name to find in this directory:
            `~/Library/MobileDevice/Provisioning\ Profiles/`

        --profile-path <PROFILE_PATH>
            Absolute path to provisioning profile

        --quad
            Specifies to build macroquad game engine

        --release
            Build optimized artifact with the `release` profile

        --target <TARGET>...
            Build for the given apple architecture. Supported targets are: 'aarch64-apple-ios`,
            `armv7-apple-ios`, `armv7s-apple-ios`, `i386-apple-ios`, `x86_64-apple-ios` [default:
            aarch64-apple-ios]

        --target-dir <TARGET_DIR>
            Directory for generated artifact and intermediate files

        --team-identifier <TEAM_IDENTIFIER>
            The team identifier of your signing identity