Embeddinator-4000/docs/Contributing.md

2.1 KiB

General

The Embeddinator-4000 project is under the Mono umbrella and most of the contribution rules, tools and process are identical. Even if it is a bit out of date, the spirit of Mono Contribution HowTo still applies, including the DO WRITE TESTS!!!

Objective-C

The work on the Objective-C generator occurs in the objc branch. Here are the steps to build it from our repository/branch:

> git clone https://github.com/mono/Embeddinator-4000.git
> cd Embeddinator-4000
> git branch objc
> git pull && git submodule update --init --recursive
> nuget restore
> msbuild

Once complete you should be able to run the tool with

$ mono objcgen/bin/Debug/objcgen.exe

Tests can be executed by running make from the tests/objc-cli directory.

The installer can be built by running make installer in the objcgen directory.

Specific Goals

In addition to mapping .NET APIs to Objective-C we aim to:

  • Generate modern and pleasing APIs to use from Objective-C;
  • Bridge similar concepts between .NET and Objective-C, e.g. convert interfaces into protocols;
  • Increase interoperability with Foundation.framework, e.g. map all System.String to NSString;
  • Expose extra types from .NET base class libraries (BCL) when required (and when no native alternative exists);