Description

This tasks allows to embed all the managed assemblies into a native binary.

Parameters

Attribute Type Description Required
name String The name of the application. True
assembly File The path to the main assembly. True
todir Directory The destination directory. True
target-os MacOSVersion The target OS version. Valid values are MacOS105, MacOS106, MacOS107 or MacOS108. True
target-architecture MacOSArchitecture The target OS architecture. Valid values are X86, X8664, PPC, Universal32 or Universal3264. True
machine-configuration File The path to the machine.config file. This is required by some .NET assemblies. False

Nested Elements

search-in

This element has the structure than the fileset. They are folders where to locate assemblies when resolving dependencies.

include-assembly

These element indicate the additionnal assemblies to embed. This could be plugins or assemblies loaded at runtime.

exclude-assembly

These element indicate the assemblies to exclude from embedding. This is useful when license prevents the embedding.

include-library

These element indicate the additionnal native library to copy. The libraries will be relocated in such way that they can be bundle along with the native executable.

Usage

Typical usage:

<embed-app name="${app.name}"
    assembly="${build.dir}/${app.name}.exe"
    todir="${build.dir}"
    target-os="MacOS106"
    target-architecture="X86"
    machine-configuration="/Library/Frameworks/Mono.framework/Home/etc/mono/4.0/machine.config">
    <search-in basedir="${pkg-config::get-variable('monobjc-10.6', 'pkglibdir')}"/>
</embed-app>