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