Skip to content

Command Line Interface

pydjinni

Usage:

pydjinni [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--version boolean Show the version and exit. False
--option, -o text Overwrite or extend configuration. Example: -o generate.java.out=java_out None
--config, -c Path Path to the config file. Set to None if no config should be parsed. File format is determined based on the file extension. Supported extensions: .yaml, .yml, .json, .toml pydjinni.yaml
--log-level, -l choice (debug | info | warn | error) Log level info
--help boolean Show this message and exit. False

generate

Generate glue-code from the provided IDL file.

COMMAND specifies the target languages.

Usage:

pydjinni generate [OPTIONS] IDL COMMAND1 [ARGS]... [COMMAND2 [ARGS]...]...

Options:

Name Type Description Default
--clean boolean If enabled, deletes all specified output directories before generating new output. Caution: This deletes the entire output folders, including all files that are inside it! False
--help boolean Show this message and exit. False

cpp

Generate C++ interfaces.

Usage:

pydjinni generate IDL cpp [OPTIONS]

Options:

Name Type Description Default
--help boolean Show this message and exit. False

cppcli

Generate C++/CLI interfaces.

Usage:

pydjinni generate IDL cppcli [OPTIONS]

Options:

Name Type Description Default
--help boolean Show this message and exit. False

java

Generate Java interface and JNI gluecode.

This target generates a public Java interface as well as the required JNI gluecode to interact with the C++ interface.

Usage:

pydjinni generate IDL java [OPTIONS]

Options:

Name Type Description Default
--help boolean Show this message and exit. False

objc

Generate Objective-C interface and Objective-C++ gluecode.

The output of this can also be used to interface with Swift, when the bridging-header generation is enabled.

Usage:

pydjinni generate IDL objc [OPTIONS]

Options:

Name Type Description Default
--help boolean Show this message and exit. False

yaml

Generate YAML type interfaces.

Usage:

pydjinni generate IDL yaml [OPTIONS]

Options:

Name Type Description Default
--help boolean Show this message and exit. False

package

Bundle an artifact for distribution.

Usage:

pydjinni package [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--configuration text The build configuration of the resulting package and all contained binaries None
--clean boolean If enabled, deletes all used build directories before building new output. Caution: This deletes the entire folders, including all files that are inside it! False
--help boolean Show this message and exit. False

aar

Android Archive

Usage:

pydjinni package aar [OPTIONS] COMMAND1 [ARGS]... [COMMAND2 [ARGS]...]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False
android

Usage:

pydjinni package aar android [OPTIONS]

Options:

Name Type Description Default
--arch choice (x86 | x86_64 | armv7 | armv8) Architectures that the library should be built for. Overrides the defaults configured in the configuration file. None
--help boolean Show this message and exit. False

nuget

NuGet Package

Usage:

pydjinni package nuget [OPTIONS] COMMAND1 [ARGS]... [COMMAND2 [ARGS]...]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False
windows

Usage:

pydjinni package nuget windows [OPTIONS]

Options:

Name Type Description Default
--arch choice (x86 | x86_64 | armv7 | armv8) Architectures that the library should be built for. Overrides the defaults configured in the configuration file. None
--help boolean Show this message and exit. False

swiftpackage

Swift package

Usage:

pydjinni package swiftpackage [OPTIONS] COMMAND1 [ARGS]... [COMMAND2
                              [ARGS]...]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False
ios

Usage:

pydjinni package swiftpackage ios [OPTIONS]

Options:

Name Type Description Default
--arch choice (armv8) Architectures that the library should be built for. Overrides the defaults configured in the configuration file. None
--help boolean Show this message and exit. False
ios_simulator

Usage:

pydjinni package swiftpackage ios_simulator [OPTIONS]

Options:

Name Type Description Default
--arch choice (x86_64 | armv8) Architectures that the library should be built for. Overrides the defaults configured in the configuration file. None
--help boolean Show this message and exit. False
macos

Usage:

pydjinni package swiftpackage macos [OPTIONS]

Options:

Name Type Description Default
--arch choice (x86_64 | armv8) Architectures that the library should be built for. Overrides the defaults configured in the configuration file. None
--help boolean Show this message and exit. False

publish

Publish an artifact to a registry/repository.

Usage:

pydjinni publish [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--configuration text The build configuration that should be published None
--help boolean Show this message and exit. False

aar

Android Archive

Usage:

pydjinni publish aar [OPTIONS]

Options:

Name Type Description Default
--help boolean Show this message and exit. False

nuget

NuGet Package

Usage:

pydjinni publish nuget [OPTIONS]

Options:

Name Type Description Default
--help boolean Show this message and exit. False

swiftpackage

Swift package

Usage:

pydjinni publish swiftpackage [OPTIONS]

Options:

Name Type Description Default
--help boolean Show this message and exit. False

Return Codes

In the event of an error, the CLI tries to provide a helpful return code for further error handling in addition to the error message.

Code Description
2 The file or directory could not be found
120 Unknown target
130 External command execution has failed
140 Parsing input has failed
141 Error loading the configuration
150 IDL Parsing error
160 Generation error
161 Invalid identifier
170 Type resolving error
180 Build step failed