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

1712 Коммитов

Автор SHA1 Сообщение Дата
Alexander Köplinger e06fe7e7ae Rename master branch to main 2021-03-09 11:27:18 +01:00
Alexander Köplinger 3bbe342df1
Remove unused .travis.yml 2021-01-26 16:16:02 +01:00
Immo Landwerth d844acae53
Link Code of Conduct (#771) 2020-04-08 08:30:09 +02:00
Jonathan Peppers 9cd5d13e8c
VS 2019 Refresh (#739)
* Setup Azure DevOps for CI
  * Install Android NDK Bundle on Windows build agents
  * Workaround for `JAVA_HOME` on Windows build agents
* Support for Android NDK r19 and r20
* Updated Cake scripts to support VS 2019 on Windows
* Pin NuGet download URL to v4.7.3
* Bump to xamarin/xamarin-android-tools/master@294f447
  * Changes: 4c00c22...294f447
* Fix for `mono-support.h` on Windows

Fixes:

    c:\program files (x86)\mono\include\mono-2.0\mono\utils\mono-publib.h(94): error C2371: 'mono_unichar2': redefinition; different basic types [D:\a\1\s\tests\common\mk\common.Tests.vcxproj]
2019-09-09 16:23:22 -05:00
Chris Hamons c0f68d0d03
Fix android package URL (#735)
* Fix android package URL

* Update build/Android.cake

Co-Authored-By: Jonathan Peppers <jonathan.peppers@gmail.com>
2019-07-24 09:19:38 -07:00
rocktyt 834be56d42 [objcgen] fix error MM0073 for Xamarin.Mac 4.8~ (#733)
- Xamarin.Mac 4.8 only supports macOS 10.9 (Mavericks) or higher.
fixes https://github.com/mono/Embeddinator-4000/issues/732
2019-07-19 08:13:32 -07:00
Rolf Bjarne Kvinge 1584928268
[objcgen] Make sure to mask out any custom flags in the return value from 'xamarinGetGCHandle'. Fixes #724. (#726)
Fixes https://github.com/mono/Embeddinator-4000/issues/724.
2019-04-11 07:19:31 +02:00
Rolf Bjarne Kvinge 30b56719f7
[objcgen] Fix shellcheck warning. (#725)
Fixes this warning:

    In thin-framework.sh line 70:
    		let C++ || true
                    ^------^ SC2219: Instead of 'let expr', prefer (( expr )) .

    For more information:
      https://www.shellcheck.net/wiki/SC2219 -- Instead of 'let expr', prefer (( ...
    make: *** [shellcheck] Error 1
2019-04-10 15:27:15 +02:00
Jonathan Peppers c237e21b63 [build] changes to fix the CI
Context: https://travis-ci.org/mono/Embeddinator-4000/jobs/471012684
Context: https://travis-ci.org/mono/Embeddinator-4000/jobs/471026456
Context: https://travis-ci.org/mono/Embeddinator-4000/jobs/471037351

First issue we are hitting is a missing version of Cake on MyGet:

    Unable to find version '0.23.0' of package 'Cake'.
      https://www.myget.org/F/cake/api/v3/index.json: Package 'Cake.0.23.0' is not found on source 'https://www.myget.org/F/cake/api/v3/index.json'.

To fix this:

- Let's remove `MyGet.config` and just use NuGet
- Update Cake to 0.31, I recently used that version on another project

Next issue is that the build will not work using JDK 10:

    Compiling binding code...
        Invoking: /usr/libexec/java_home
            /Library/Java/JavaVirtualMachines/jdk-10.0.1.jdk/Contents/Home
        Invoking: /Library/Java/JavaVirtualMachines/jdk-10.0.1.jdk/Contents/Home/bin/javac
    ...
    Fatal Error: Unable to find package java.lang in classpath or bootclasspath

To fix this we should use the `-v 1.8` switch on every call to `java_home`.

Next issue is that we aren't specifying a version with the `#tool`
directive:

    The 'tool' directive is attempting to install the 'NUnit.ConsoleRunner' package
    without specifying a package version number.

After that we were hitting issues where Xamarin.iOS\Mac\Mono were having trouble being provisioned, so I bumped them all to current stable.

Then a few test fixes, including some from https://github.com/mono/Embeddinator-4000/pull/714 originally.

This fixes Jenkins and part fixes the other builds. @jonathanpeppers will look at those later
2018-12-21 18:01:16 -05:00
Jonathan Peppers d697cdfca5
[windows] .gitattributes for proper line endings settings (#667)
Context: https://help.github.com/articles/dealing-with-line-endings/

If you work on this repo on Windows, you quickly see the `.gitattributes` are not setup right for development on Windows.

1. Certain files had mixed line endings, which causes Visual Studio to prompt to adjust.

2. Running `premake` yields Windows line endings on Windows, and so every `*.csproj` file appears to have changes.

`xamarin-android` has a well-used `.gitattributes` file, so I used it as a starting point and added an entry for `*.cake` files.

The way it works (as I understand it):
- `git` stores everything with unix line endings
- on checkout, clients convert the line endings according to settings in the `.gitattributes` file

So, for example:
- All `*.csproj` files will have Windows line endings, as Visual Studio expects (both Mac and Windows)
- `*.cs` files will have Windows line endings on Windows, and unix line endings on Mac
2018-05-04 17:06:07 -05:00
Jonathan Peppers 53783834f2
[build] remove anything related to AppVeyor (#666)
As part of consolidating our CI setup, we now have Windows builds running on Jenkins. This means we no longer need to use AppVeyor at all, which is a good thing. AppVeyor is not a CI system well known by other folks working on the Xamarin or Mono teams, where Jenkins is mostly used.

Other changes:
- Updated `.gitignore` for files appearing on Windows: `UpgradeLog.htm` from VS upgrading projects and `*.obj` from running the C tests
2018-05-01 15:49:24 -05:00
Chris Hamons 27ffa489c8
Bump version to .5 as .4 is branched (#653) 2018-05-01 10:36:32 -05:00
Chris Hamons 22bea913da
Remove release notes which will move to official site (#652) 2018-05-01 10:36:24 -05:00
Jonathan Peppers d5fed87456
[build] Android API 26, setup Windows builds on Jenkins (#664)
- `Download-Xamarin-Android` needs to "copy" from temp, since the bots have temp in `D:\` and you can't do a "move" operation across drives
- Added a `Jenkins` cake target to replace `AppVeyor`
- Switch to Android API Level 26 and `TargetFrameworkVersion` v8.0 by default. Jenkins PR bots did not have an option to provision API 24.
- Updated to Android Support Libs 26.x

Changes for latest Android Studio + Windows 
- Updated `.gitignore`
- Removed files we don't need to check into source control
- Changed option for max heap size that was erroring on Windows
- Use `--stacktrace` option when running gradle, so we get error messages
- Updated Android test project to API 26, and support lib 26.x

TODO in future PRs:
- Drop everything that says "AppVeyor"
2018-04-27 15:10:46 -05:00
Jonathan Peppers 6f6560672d
[java] better logic for finding path to Java (#662)
One of the most common issues Windows developers face when using E4K is a message such as:

    Cannot find Java SDK: JAVA_HOME environment variable is not set.

In fact, most Windows users don't set `JAVA_HOME` at all, since it is not something done system-wide by any installer.

Solution? Let's add a fallback to use `AndroidSdk.JavaSdkPath`.

`AndroidSdk` from `xamarin-android-tools` has very reliable logic for finding Java on all platforms. However, we haven't been using it in E4K for locating Java, because it _implicitly_ requires the Android SDK (see class name) be installed in order to work. See where `AndroidSdkInfo` throws here: b159597b15/src/Xamarin.Android.Tools.AndroidSdk/AndroidSdkInfo.cs (L23)

Using it as a last resort will make things alot simpler for our Windows users. If they have Xamarin.Android installed from VS 2017, everything will "Just Work".
2018-04-25 15:24:45 -05:00
Chris Hamons ee11bba820
Restored: missing code for extension support on Mac + bitcode for iOS… (#656)
- Restored: partial missing of extension support + bitcode enabling for iOS
- Fix quoting issue somewhat unrelated to original PR
- [cake] Use DeleteDirectories to work around cake bug https://github.com/cake-build/cake/issues/2135
2018-04-24 09:08:50 -05:00
Chris Hamons 7664197eb8
Add redirect for github page (#651) 2018-04-16 13:38:49 -05:00
Chris Hamons 0a04d250c9
Remove docs/ since on docs.microsoft.com or stale (#649)
- Remove files covered under docs.microsoft.com
- Remove stale Contributing doc
- Remove stale android research docs
- Update readme with cake bits from old file
2018-04-16 13:19:15 -05:00
Jonathan Peppers 0e4fc9d5f8
Bump to xamarin-android-tools/938b4f4 (#648) 2018-04-10 15:18:11 -05:00
Chris Hamons 6017d8bd00
Add technical documents and improve readme (#646)
- https://github.com/mono/Embeddinator-4000/issues/160
- Contributing guide "borrowed" from xamarin-macios
2018-04-10 14:43:08 -05:00
Chris Hamons 398a2e017f
[ObjC] Initial nuget support (#643)
- https://github.com/mono/Embeddinator-4000/issues/642
- Fix existing cake script to Download-Xamarin-Android to generate external/Xamarin.Android folder
2018-04-06 09:54:04 -05:00
Chris Hamons cd94d69645
[ObjC] Update macOS getting started to use frameworks (#645)
- https://github.com/mono/Embeddinator-4000/issues/393
2018-04-06 09:52:37 -05:00
Chris Hamons 069e584b27
Add tests and documentation for ObjC exception PR (#640) 2018-04-02 10:17:24 -05:00
Chris Hamons c60d3c5589
[ObjC] Correctly marshall arrays of structrs (#641)
- https://github.com/mono/Embeddinator-4000/issues/636
- https://github.com/mono/Embeddinator-4000/issues/631
- Unlike single structs, which are boxed when we ask for them, arrays
must be handled special.
- We use mono_array_addr_with_size to get a pointer to the specific
element and then mono_value_box to box.
- This was discussed in https://github.com/mono/mono/issues/7808
2018-04-02 10:15:46 -05:00
Jonathan Peppers 88b1baacec
CODEOWNERS for all *.cake files (#639)
Should just list @jonathanpeppers
2018-03-27 15:24:09 -05:00
Jonathan Peppers 0352cea453
[build] remove Verbosity passed to MSBuild (#638)
We should just use the default verbosity for the MSBuild Cake alias, which follows the verbosity passed to Cake at the command line.

Such as:

    ./build.sh -v diagnostic

Previously we were always forcing this to `Verbosity.Minimal`.
2018-03-27 11:19:00 -05:00
Chris Hamons 3f77876da2
[objc] Fix issue blocking all F# libraries (#632)
- https://github.com/mono/Embeddinator-4000/issues/549
- Refactor ManagedTest to extract test info to pave way to F# tests
- Parts of the fsharp test https://github.com/mono/Embeddinator-4000/issues/631 / https://github.com/mono/Embeddinator-4000/issues/630 are failing for unknown reasons, possibly same as https://github.com/mono/Embeddinator-4000/issues/636
2018-03-27 10:20:41 -05:00
Chris Hamons bb02fe2ddc
First draft of CODEOWNERS (#635) 2018-03-23 13:02:47 -05:00
Chris Hamons 26da47ecbb
Add objc versions of existing C/Java tests that were missed (#634)
- Add abstract, array, keywords, and builtin missing tests
2018-03-23 10:51:12 -05:00
Peter Tribe 7f6683e6d1 Native exception handling (#629)
- https://github.com/mono/Embeddinator-4000/issues/484
2018-03-23 09:05:27 -05:00
Chris Hamons 1e6148607f
[objc] Only consider framework use cases supported (#627)
- https://github.com/mono/Embeddinator-4000/issues/197
2018-03-21 14:51:54 -05:00
Chris Hamons 9002a19779
Fix Xamarin.Embeddinator-4000 installer (#624)
- https://github.com/mono/Embeddinator-4000/issues/622
2018-03-21 07:40:22 -05:00
Jonathan Peppers 02710d0d15
[tests] NetStandard project wasn't referencing shared project (#625)
Relates to #518, but everything appeared to work on my Windows machine
2018-03-20 09:43:39 -05:00
Chris Hamons cc3c4af155
Add issue template (#623) 2018-03-19 09:29:16 -05:00
Chris Hamons b56e22dd56
Merge pull request #620 from mono/merge-objc
Merge objc branch into master
2018-03-16 12:54:00 -05:00
Chris Hamons c14cd916e6 Merge branch 'master' into merge-objc 2018-03-16 10:02:10 -05:00
Chris Hamons 8c4505246c Merge branch 'objc' into merge-objc 2018-03-14 16:22:09 -05:00
Sebastien Pouliot 4c111776a5 [objc] Support API with arrays of enums. Fix #561 (#618)
This is not optimal, since an `NSArray` of enums can't be done
without turning everything into `NSNumber`.

However the current code does not compile and that's worse that
an suboptimal API.

Fix https://github.com/mono/Embeddinator-4000/issues/561
2018-03-14 16:21:07 -05:00
Sebastien Pouliot fc3a90f6f0 [objc] Show macos-[modern|full|system] platforms when displaying help. Fix #534 (#619)
Fixes https://github.com/mono/Embeddinator-4000/issues/534
2018-03-14 16:20:05 -05:00
Jonathan Peppers fdf7296329
[fsharp] update test projects (#617)
Test projects failing to build on Linux on TravisCI, perhaps this will
fix it? This seems to be happening since #616, but I think it is a change on
the TravisCI build bots.

Changes:
- FSharp Android project shouldn't have `AndroidUseLatestPlatformSdk` on
- We don't need System.ValueTuple
- The `Build-C-Tests` Cake task should also copy `FSharp.Core.dll` as using
the system one doesn't seem to be working reliably on TravisCI
2018-03-12 12:51:30 -05:00
Tom Bulatewicz 822150f311 Manually loading the monosgen-2.0 library to support API < 18 (#616)
Fixes #615
2018-03-10 13:59:33 -06:00
Chris Hamons d2e7878c01 Merge branch 'objc' into merge-objc 2018-03-09 10:26:08 -06:00
Sebastien Pouliot 704d24bea8 [objc] Fix local variable names used for parameter conversion. Fix #594 (#613)
reference:
https://github.com/mono/Embeddinator-4000/issues/594
2018-03-09 09:53:46 -06:00
Chris Hamons ca5f3e69dc
Merge pull request #610 from chamons/objc-master-merge
Merge master into objc branch
2018-03-07 11:39:11 -06:00
Chris Hamons 476efa6bda Update system-dependencies.sh to insist on xcode-select being what we expect 2018-03-07 10:25:45 -06:00
Chris Hamons 3cfb81f99b Merge branch 'objc' into objc-master-merge 2018-03-06 14:09:48 -06:00
Chris Hamons 8cc22b5dd8 Code review changes 2018-03-06 13:18:58 -06:00
Chris Hamons 9f5f851f7a
Fix headers \ source to compiler under ObjC++ (#608) 2018-03-06 13:05:07 -06:00
Chris Hamons a0d694d083 Remove \ at end of ALL_MANAGED_DLLS that was breaking builds by blapping else 2018-03-05 14:07:43 -06:00
Chris Hamons 53c532df4e Fix mono_embeddinator.c to compile as non-objc code 2018-03-05 10:56:00 -06:00