Граф коммитов

497 Коммитов

Автор SHA1 Сообщение Дата
Joao Matos 88b0fda54b [build] Only include objcgen project when targetting VS action. 2017-04-05 16:27:17 +01:00
Joao Matos aef921d051 [build] Added objcgen to generated build files. 2017-04-05 15:36:24 +01:00
Joao Matos 72303fccaf [objc] Merge branch 'objc' of github.com:mono/embeddinator-4000 2017-04-05 15:30:10 +01:00
Joao Matos 40b991c7f7 [java] Added JUnit Java unit testing libraries. 2017-04-05 15:19:27 +01:00
Sebastien Pouliot 9db995bfe1 [objc] Add support for non-default init* methods (constructors) (#59) 2017-04-05 08:46:12 +02:00
Sebastien Pouliot ca5545cae4 [objc][tests] Add more unit tests for existing features (#56)
For
* instance properties (uncomment them);
* namespaces;
* exceptions inside `init`;
2017-04-04 09:43:01 +02:00
Sebastien Pouliot e899b7510d [objc][generator] Use the already filtered `types` at generation time (#57)
so we don't have to to it twice - as filtering will only become more
complex over time.

Also sort the types so it's easier to find them (e.g. when listed in the
class forwarders) and adjust some WriteLine so make generated code easier
to read.
2017-04-04 09:41:05 +02:00
Rolf Bjarne Kvinge d6003c415b [objc][tests] Remove the 'libmanaged' target from the Xcode cli test project. (#55)
Remove the 'libmanaged' target from the Xcode test project, and instead link
with the libmanaged.dylib that the embeddinator compiles. This ensures we're
not compiling with different compiler flags in the Xcode project.

This also requires adding an rpath to the built library so that the test
executable can find it.

Also add makefile target to run the Xcode test project from the command line.
2017-04-03 13:25:34 -05:00
Sebastien Pouliot b560ed5c39 [objc] Add -c[ompile] option to the driver (#54) 2017-04-03 11:53:21 -05:00
Rolf Bjarne Kvinge b89e3cf8a0 [objc] Add support for building the native library with debug information. (#53) 2017-04-03 10:55:50 -05:00
Rolf Bjarne Kvinge c0b00f4222 [objc] Add support for more primitive types. (#51) 2017-04-03 10:42:32 -05:00
Rolf Bjarne Kvinge 7c09a324ef [objc][tests] Automatically rebuild the generator before running tests. (#52) 2017-04-03 10:14:25 -05:00
Sebastien Pouliot d49fc8c666 [objc] Add support for -o (output directory) and -v (verbosity) and add some error codes (#39)
* EM0000 is now shown for unhandled exceptions - asking for a bug report
  to be submitted;

* EM0001 is reported when the output directory cannot be found;

* EM1000 is reported when the generator throws a NotImplementedException,
  no bug report is required, but contributions are welcome :)
2017-04-03 09:24:36 -05:00
Rolf Bjarne Kvinge 0ff824da7c [objc][tests] Always rebuild managed.dll before running cli tests. (#50) 2017-04-03 08:55:42 -05:00
Rolf Bjarne Kvinge 3553b9951d [objc][tests] Build the project file instead of having separate build logic. (#49) 2017-04-03 08:55:14 -05:00
Sebastien Pouliot d4775744bf [objc] Add support for default .ctor/init and namespaces (#38) 2017-04-03 08:23:57 -05:00
Sebastien Pouliot fdb0041515 [objc] Add xcode support for objc-cli to build the libmanaged.dylib and it's unit tests (#42)
This allows debugging the generated code with Xcode as well as
running the native unit tests with XCTest (which might not be the
best tool but it's good to support).

This commit requires a addition to mono_embeddinator so we can
override where the assemblies are loaded from - we cannot assume
they will be with the executable (e.g. plugin) and we hit this
case with Xcode unit tests.
2017-04-03 14:33:05 +02:00
Sebastien Pouliot 83ec1a965d [objc] Merge master. (#46)
This should fix travis-ci marking all macOS builds as broken/red.
2017-04-02 13:37:16 -05:00
Sebastien Pouliot 514e20f437 [docs] Start a limitations document and add read me for the new directories created in the objc branch (#45) 2017-04-02 13:25:42 -05:00
Sebastien Pouliot 7d1ac85de2 [build] .gitignore had an entry for Makefile so some were not committed previously (#44) 2017-04-02 13:13:47 -05:00
Sebastien Pouliot ef1f06ff4b [docs] Initial version of the best practices document (#40) 2017-04-02 13:12:59 -05:00
Joao Matos f936ffaaa0 Remove Linux configuration from CI since we're not supporting it yet. 2017-04-01 23:14:42 +01:00
Joao Matos 767b60d433 Added missing tests/Makefile. 2017-04-01 23:02:29 +01:00
Sebastien Pouliot 6e35580f8f [tests] Remove generated files from tests/objc-cli (#41) 2017-04-01 16:28:36 -05:00
Joao Matos 5728bcc34a [tests] Added language-specific naming and tags and to the individual tests. 2017-03-31 21:34:41 +01:00
Joao Matos f6a3da4697 [tests] Added Objective-C support to the test suite.
Tests will be ported from the C unit tests next.
2017-03-31 21:30:06 +01:00
Rolf Bjarne Kvinge 257711b8c0 [objc] 'Generate' if assemblies were passed in. (#37) 2017-03-31 13:57:24 -05:00
Rolf Bjarne Kvinge da70fce5b3 [objc] Use Mono.Options. (#36) 2017-03-31 13:17:05 -05:00
Rolf Bjarne Kvinge 34ee3f3376 [objc] Don't ignore native build failures. (#35) 2017-03-31 13:15:36 -05:00
Rolf Bjarne Kvinge 2c7052bf69 [objc] Add support for running tests from the command line. (#34)
* [objc] Add support for running tests from the command line.

* [objc][test] Write test results in NUnit v2 format.

So that Jenkins understands it.
2017-03-31 13:13:51 -05:00
Joao Matos a279858cd1 Fixed test suite running script to work from outside directories. 2017-03-31 19:13:46 +01:00
Rolf Bjarne Kvinge 7d22482959 [objc] Add error handling. (#33) 2017-03-31 13:12:12 -05:00
Sebastien Pouliot 2b8c858e9c [tests][objc-cli] Remove generated files and update .gitignore so new ones won't be added by mistake again (#32) 2017-03-31 19:22:40 +02:00
Rolf Bjarne Kvinge 599f2cceeb [objc] Add packages.config to tests. (#30) 2017-03-31 11:47:22 -05:00
Rolf Bjarne Kvinge 45d727c98d [objc] Use IKVM.Reflection. (#31) 2017-03-31 11:44:33 -05:00
Joao Matos 80eb0313a8 [tests] Fallback on xbuild if msbuild is not available on the system. 2017-03-31 17:36:39 +01:00
Joao Matos fd96aa556a Run the test suite in the Travis build. 2017-03-31 16:24:05 +01:00
Joao Matos 9fb084adc3 Overhaul the test suite running system so it works with generated Makefile and shell scripts. 2017-03-31 16:22:33 +01:00
Sebastien Pouliot 5cc5ea587d [objc] Simpler generator that, so far, only handle static properties (#29)
The ObjC syntax for properties match the proposal from PR #25 [1].

Unit tests added for the matching features.

[1] https://github.com/mono/Embeddinator-4000/pull/25
2017-03-31 10:21:23 -05:00
Joao Matos 0baf77bb26 Code formatting changes on support code. 2017-03-30 13:16:03 +01:00
Joao Matos ca77db338c [c] Move the generated __method_exception_thrown to support API as mono_embeddinator_throw_exception. 2017-03-28 17:38:14 +01:00
Joao Matos 441705866a Improved formatting of support API header declarations. 2017-03-28 17:27:10 +01:00
Joao Matos 203316b247 [c] Move the generated __method_lookup to support API as mono_embeddinator_lookup_method. 2017-03-28 17:23:01 +01:00
Joao Matos 38068939fd Minor refactoring and rename GenerateMethodGCHandleLookup to GenerateMethodInitialization. 2017-03-28 17:13:14 +01:00
Joao Matos 2988d478ff [c] Refactored support object initialization code for C based backends. 2017-03-28 16:14:30 +01:00
Joao Matos 2ba49e5e6a [driver] Fixed generation of support files to not happen in non-C-based generators. 2017-03-28 02:40:54 +01:00
Joao Matos 25fa53ebcd [c] Fixed generated Mono class name variables naming convention.
From type_class to class_type.
2017-03-28 02:39:29 +01:00
Joao Matos 7849d4666c Convert more explicit formats to interpolated strings. 2017-03-28 02:38:23 +01:00
Joao Matos b099f3cdd5 Improved code formatting. 2017-03-28 02:37:44 +01:00
Joao Matos f330ac2def Improve generated code for method and ctor invocations in C generator. 2017-03-27 19:29:34 +01:00