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

1962 Коммитов

Автор SHA1 Сообщение Дата
Rolf Bjarne Kvinge ebfc7e131c [mtouch/mmp] Simplify some code to add assemblies to a target. 2020-08-14 18:33:29 +02:00
Rolf Bjarne Kvinge 29fd334456 [dotnet-linker] Implement Application.ProductName instead of Application.GetProductName in dotnet-linker work better with the shared code. 2020-08-14 18:33:29 +02:00
Rolf Bjarne Kvinge 3046ebc1d6 [dotnet-linker] Add TargetFramework to the configuration and set Driver.TargetFramework.
This way we can use the shared Application.Platform implementation.
2020-08-14 18:33:29 +02:00
Rolf Bjarne Kvinge 17aabebb03 [dotnet-linker] Add a using so that the static registrar sees LinkContext extension methods in the Mono.Linker namespace 2020-08-14 18:33:29 +02:00
Rolf Bjarne Kvinge 693f9423eb [dotnet-linker] Exclude Driver.Main from the build
The .NET linker code is a library, so it doesn't need a Main method.
2020-08-14 18:33:29 +02:00
Rolf Bjarne Kvinge 48620b43e7 [dotnet-linker] Stub out a few Driver members. 2020-08-14 18:33:29 +02:00
Rolf Bjarne Kvinge e304993c3e [dotnet-linker] Stub out an Application.SelectRegistrar 2020-08-14 18:33:29 +02:00
Rolf Bjarne Kvinge f7d55eea24 [dotnet-linker] We don't need to stub out Application.LoadSymbols anymore. 2020-08-14 18:33:29 +02:00
Rolf Bjarne Kvinge 31f7b6f84c [dotnet-linker] Set Application.DeploymentTarget and Application.SdkVersion so that we can use the shared implementation. 2020-08-14 18:33:29 +02:00
Rolf Bjarne Kvinge bb6e8d3f1b [dotnet-linker] Create compat API to make DerivedLinkContext compile. 2020-08-14 18:33:29 +02:00
Rolf Bjarne Kvinge f6cf39c72b [dotnet-linker] Add a DotNetResolver.
This is just a stub to make code compile, it's not needed at runtime.
2020-08-14 18:33:29 +02:00
Rolf Bjarne Kvinge c4186268b9 [dotnet-linker] Adjust ifdefs to make existing/shared code compile correctly. 2020-08-14 18:33:29 +02:00
Rolf Bjarne Kvinge 658d25f71e [dotnet-linker] Add a Target instance
The bundler (mtouch/mmp) code needs it to compile.
2020-08-14 18:33:29 +02:00
Rolf Bjarne Kvinge 578d84a0fd [dotnet-linker] Set Application.BuildTarget so that the shared Application.IsSimulatorBuild implementation can be used. 2020-08-14 18:33:29 +02:00
Rolf Bjarne Kvinge 08961a655b [dotnet-linker] Make Application take the input arguments, so that we can pass them to the cache to correctly determine cache validity. 2020-08-14 18:33:29 +02:00
Rolf Bjarne Kvinge 90914c1aab [dotnet-linker] Add a Constants class to the build.
The bundler (mtouch/mmp) code needs it to compile.
2020-08-14 18:33:29 +02:00
Rolf Bjarne Kvinge 0ac3879e6d [dotnet-linker] Enable unsafe code, since some of the bundler code is unsafe. 2020-08-14 18:33:29 +02:00
Rolf Bjarne Kvinge 1b093b8a7f [dotnet-linker] Include code we need from mtouch/mmp into our .NET linker code. 2020-08-14 18:33:29 +02:00
Sebastien Pouliot dafef3dfea
[tools] Fix message typo in device-tests.yml (#9373) 2020-08-14 09:02:03 -04:00
Rolf Bjarne Kvinge 33ecd581ac
[mtouch/mmp] Move Application.BuildTarget, Application.IsDeviceBuild and Application.IsSimulatorBuild to shared code. (#9363)
Also add a 'None' build target for the BuildTarget enum for when we're
building for neither simulator nor device (i.e. macOS). This means the default
value will change (since 'Simulator' is no longer the first value), but as far
as I can tell we're always assigning a specific value and not relying on the
default, so this should not make any difference.

This will be needed when the .NET code starts using these classes.
2020-08-13 15:33:13 +02:00
Rolf Bjarne Kvinge 0601d17507
[mtouch] Move Driver.IsFrameworkAvailableInSimulator to shared Application code. (#9365)
This will be needed when the .NET code starts using these classes.
2020-08-13 15:27:57 +02:00
Rolf Bjarne Kvinge b1e5a3faf8
[mtouch/mmp] Move a few Application.Is* properties to shared code. (#9364)
This will be needed when the .NET code starts using these classes.
2020-08-13 15:27:13 +02:00
Rolf Bjarne Kvinge 9fda2c6c9b
[tests] Add --dlsym:+nunit.framework.dll to all Xamarin.iOS test suites. (#9349)
This works around a build problem that occurs because NUnit ships with a
P/Invoke to a function that doesn't exist on Apple platforms:

    MTOUCH : error MT5210: Native linking failed, undefined symbol: _GetVersionEx. Please verify that all the necessary frameworks have been referenced and native libraries are properly linked in. [/Users/xamarinqa/myagent/_work/8/s/xamarin-macios/tests/xharness/tmp-test-dir/monotouch-test58/monotouch-test-tvos.csproj]
    MTOUCH : error MT5201: Native linking failed. Please review the build log and the user flags provided to gcc: -fembed-bitcode-marker [/Users/xamarinqa/myagent/_work/8/s/xamarin-macios/tests/xharness/tmp-test-dir/monotouch-test58/monotouch-test-tvos.csproj]
    clang : error : linker command failed with exit code 1 (use -v to see invocation) [/Users/xamarinqa/myagent/_work/8/s/xamarin-macios/tests/xharness/tmp-test-dir/monotouch-test58/monotouch-test-tvos.csproj]

Also fix an issue in mtouch where we would overwrite any previous --dlsym
values; they're now accumulative (`--dlsym:foo.dll --dlsym:bar.dll` works
as expected)

Ref: https://github.com/nunit/nunit/issues/3618
2020-08-12 09:42:53 +02:00
Rolf Bjarne Kvinge 82c6b03d0c
[mtouch/mmp] Add CoreFoundation and GSS to our list of known frameworks. (#9338)
* [mtouch/mmp] Add CoreFoundation and GSS to our list of known frameworks.

Putting these frameworks in our known list of frameworks means we won't try to
weak link them unless needed (when the deployment target is earlier than when
they were introduced), because if we encounter a framework we don't know
about, we'll weak link them to be on the safe side.

* GSS was available in at least macOS 10.1
2020-08-11 10:37:35 +02:00
Whitney Schmidt 6ff4eb6c97
[Xcode12][NearbyInteraction] New framework, updated through beta 4 (#9336)
* add new framework for xcode12
2020-08-10 16:06:02 -04:00
Rolf Bjarne Kvinge 855c2b09fc
[mtouch] Fix the MT0091 (now called MT0180) after recent code changes. Fixes xamarin/maccore@2280. (#9342)
Also fix a confusion between the M?0179 and M?0180 error message vs error number.

Fixes https://github.com/xamarin/maccore/issues/2280.
2020-08-10 15:49:50 -04:00
Rolf Bjarne Kvinge 2ab8d3f4f8
[mtouch/mmp] Move Application.RequiresXcodeHeaders to shared code. (#9321) 2020-08-10 17:39:33 +02:00
Rolf Bjarne Kvinge 200608ce77
[xharness] Look at the exact NUnit version an NUnit project is referencing to figure out how to run it in a makefile. (#9322) 2020-08-10 10:47:45 +02:00
Rolf Bjarne Kvinge 916e79b8d2
[mtouch/mmp] Move Driver's LOCAL_BUILD_DIR and FRAMEWORK_LOCATION_VARIABLE constants to Application instance fields. (#9320) 2020-08-10 10:47:35 +02:00
Rolf Bjarne Kvinge d8665ddd63
[mtouch/mmp] Remove the Error91LinkerSuggestion and implement it using two different error codes. (#9319)
* It makes the error message localizable.
* It makes the implementation shared between mtouch and mmp.
2020-08-10 10:41:25 +02:00
Rolf Bjarne Kvinge 44b2f00b39
[mtouch/mmp] Share Assembly.CopyAssembly. (#9310)
The shared version isn't used by mmp yet as far as I can tell (mmp has its own logic
to copy assemblies), but sharing this code is the first step towards having the same
implementation as well.
2020-08-07 08:24:09 +02:00
Rolf Bjarne Kvinge 08bb01e3b5
[mtouch] Sort the errors in Errors.resx. (#9308)
Also add a make check to ensure the errors stay sorted.

This makes it much easier to find unused numbers for new errors.
2020-08-07 08:23:44 +02:00
Rolf Bjarne Kvinge ccca0cd2c7
[mtouch/mmp] Move Target.Is32Build and Target.Is64Build to shared code. (#9306)
We'll need the iOS implementation for .NET, so use that everywhere.
2020-08-07 08:11:52 +02:00
Rolf Bjarne Kvinge 264fa44f6f
[mtouch/mmp] Move the Driver.PRODUCT constant to an Application.ProductName instance field. (#9280)
A few changes are required to have an Application instance at hand when we need to
get the ProductName from it.

This is necessary for .NET, since there will be a single linker library for all platforms,
which means we can't use a constant.
2020-08-06 16:10:06 +02:00
Rolf Bjarne Kvinge 9f06e4964d
[mtouch/mmp] Share the min Xcode version. (#9279) 2020-08-06 11:11:10 +02:00
Rolf Bjarne Kvinge e03fc9d72a
[mtouch/mmp] Share a few P/Invokes. (#9278)
This is just moving code, no functional changes.
2020-08-06 11:01:06 +02:00
Rolf Bjarne Kvinge 503188ab1e
[dotnet-linker] Rework the project file a bit. (#9277)
This makes the layout match the mtouch and mmp project files.

Ref: 570f5ad8a3
2020-08-06 11:00:46 +02:00
Alex Soto 42eaa54108
[xcode12] Initial bump to Xcode 12 Beta 4 (#9272)
* [xcode12] Bump to Xcode 12 Beta 4

* [Tests] Disable Trust_FullChain and Trust2_FullChain tests

These tests started showing a different error than the one we expect
I'll let our security expert chime in
2020-08-05 13:25:01 -04:00
Manuel de la Pena 57212bce8e
[CoreHaptics] Update framework for Xcode 12 beta 3. (#9273)
Update the framework to include Xcode beta3 and add support for tvOS.
As of Xcode12 beta 3 it cannot yet be compiled on macOS X, please refer
to https://github.com/xamarin/maccore/issues/2261
2020-08-05 11:43:44 -04:00
Rolf Bjarne Kvinge 21ee5a7f74
[mtouch] Don't try to copy invalid symbol files. (#9262)
This solves a rebuild problem if an assembly has an invalid or unsupported symbol
file, where we'd detect that the symbol file exists, and expect it to be copied,
but then the linker would drop it, causing us to always rebuild the app (this is
not the same as when a symbol file is out of date).

This happens for NUnitLite 3.12.0's nunit.framework.dll, which ships with an old-style
pdb.

Also add a warning that is shown when we detect that there's a symbol file, but it
couldn't be loaded for some reason.
2020-08-04 08:08:44 +02:00
Manuel de la Pena 53dcedc060
[DevOps] Add missing envi var to ensure we can set the status of the build. (#9263) 2020-08-03 16:21:52 -04:00
Rolf Bjarne Kvinge 6978026454
[mtouch/mmp] Add a few instructions to the list of instructions that we don't know how to calculate a constant value for. (#9260)
This improves (shrinks) the debug spew when running mtouch or mmp in the IDE.
2020-08-03 18:49:23 +02:00
Manuel de la Pena ec30ba0f6b
[DevOps] Report the correct bot used. (#9250)
* [DevOps] Report the correct bot used.

The tests are not executed in the same agent that sets the github
status, for that reason, the github comment is not giving the correct
bot name, but the name of the bot that executed the commit message and
not the tests.

Add an output var in the runTests step to set the bot name and pass it
to the comment job in a different bot.

* Update tools/devops/device-tests/scripts/GitHub.psm1

Co-authored-by: Whitney Schmidt <whschm@microsoft.com>

Co-authored-by: Whitney Schmidt <whschm@microsoft.com>
2020-07-30 21:29:02 -04:00
Manuel de la Pena f2ce1b885a
[DevOps] The powershell in Windows is older, we do not support the param. (#9223) 2020-07-30 17:36:21 -04:00
Manuel de la Pena 77965e03ce
[DevOps] Both labs use the same utility pool, lets keep it in one place. (#9225) 2020-07-30 10:08:14 -04:00
Alex Soto 3107356250
[Intents] Update bindings from Xcode 12 Beta 1 to Beta 3 (#9220)
* [Intents] Update bindings from Xcode 12 Beta 1 to Beta 3

* Apply suggestions from code review

Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>

* Implement feedback

* Fix more feedback

Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2020-07-30 09:36:59 -04:00
Manuel de la Pena c54065c2cf
[DevOps] If test fail but pipeline builds, set the correct status. (#9161)
Depending on the pipeline run, we should have the following result:

* failed: issues with bots or provisioning (red in the UI)
* partiallySucceeded: no issues with bots but failing tests.
* succeeded: no issues with bots and all tests pass.

This adds a psh cmdlet that allows to set the result AND sets the
correct result when we have test failures.


Co-authored-by: Whitney Schmidt <whschm@microsoft.com>
2020-07-29 16:58:47 -04:00
Manuel de la Pena 820859b7ab
[DevOps] Clean all before we run the tests. (#9172) (#9182) 2020-07-28 16:35:59 -04:00
Rolf Bjarne Kvinge 600c90fa66
[mmp] Remove inexistent file from csproj. (#9180) 2020-07-27 10:39:28 +02:00
Sebastien Pouliot dd6f12bb5d
[tools][tests] Update to use macOS 11.0 (instead of 10.16) (#9188) 2020-07-24 22:03:46 -04:00
Sebastien Pouliot 142ff3127b
[xcode12] Bump for beta 3 (#9162)
* Disable iOS 32bits simulator based tests
2020-07-24 08:52:33 -04:00
Rolf Bjarne Kvinge 4a5dc20338
[dotnet] Only pass a single custom step to the linker. (#9173)
* [dotnet] Only pass a single custom step to the linker.

The linker will load the assemblies with the custom steps once per custom step
argument, which means that each step is effectively in a different assembly,
making it impossible to share state between steps.

This behavior is filed as a linker bug: https://github.com/mono/linker/issues/1314

Until this is fixed, we can just have a single step that injects all the other
steps programmatically.

* [tests] Adjust .NET tests according to new behavior.
2020-07-24 09:20:52 +02:00
Manuel de la Pena 5d60d6d1c9
[Devops] Use the deployment pool. (#9160) 2020-07-23 15:50:19 -04:00
Manuel de la Pena 685a616de0
[DevOps] Clean all before we run the tests. (#9172) 2020-07-23 15:45:55 -04:00
Rolf Bjarne Kvinge 8b9bfe2877
[dotnet] Add Verbosity to the linker configuration. (#9169) 2020-07-23 18:07:05 +02:00
Rolf Bjarne Kvinge 3ab85abd7a
[compare-commits] Add some diagnostics to try to figure out what's happening with #xamarin/maccore@1467. (#9164)
Ref:  https://github.com/xamarin/maccore/issues/1467
2020-07-23 15:32:40 +02:00
Rolf Bjarne Kvinge 4780f8b1f9
[tests] Move the aot.cs inside the mmptest directory, and remove some redundant code/files. (#9166) 2020-07-23 15:31:44 +02:00
Sebastien Pouliot f36b2ae7b8
[sensorkit] Update for Xcode 12 beta 2 (#9142) 2020-07-21 13:12:51 -04:00
Sebastien Pouliot 486ded93dc
[mediasetup] Update for Xcode 12 beta 2 (#9087)
The framework is not available (binary or even headers) for the iOS
simulator, only devices.

As such `tools/mtouch/Makefile` is not updated with a `-weak-framework`

Tracked with
* https://github.com/xamarin/maccore/issues/2266
* https://feedbackassistant.apple.com/feedback/8001312
2020-07-16 20:34:19 -04:00
Rolf Bjarne Kvinge 4235dfbff7
[mmp] Use the right pkg-config directory. (#9105) 2020-07-16 17:57:15 +02:00
Manuel de la Pena fcc410f36a
[DevOps] Add debugging messages from when we fail the ./configure (#9102)
Some bots are giving error with this step. Try to add some verbosity and
ensure that $? is 0 when done.
2020-07-15 20:13:57 -04:00
Manuel de la Pena 3fccc1e3e0
[DevOps] If we cannot clear the hd, continue. (#9101)
Few things:

1. Move from Write-Error to Write-Debug so that we do not set the exit
code and an error.
2. Ig we fail in the Clear-HD step, continue, we should be ok or cancel
if not enough space is found.
2020-07-15 20:13:34 -04:00
Manuel de la Pena f13fe4ba30
[DevOps] In a self-hosted pool we need to specify the os. (#9100) 2020-07-15 18:51:37 -04:00
Manuel de la Pena 2b35db02ae
[Accessibility] Add new Framework from Xcode 12 beta 1. (#9086)
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2020-07-15 16:29:15 -04:00
Manuel de la Pena 773df34fde
[DevOps] Fix issues with the xm storage path. (#9043)
* [DevOps] Fix issues with the xm stroage path.

For some reason, and it is very probably a bug in the azurepipelines,
the following bash code creates a path with an extra single quote at the
end:

```bash
 P=jenkins/xamarin-macios/$BUILD_LANE/$BUILD_REVISION/$ID/device-tests

echo "##vso[task.setvariable variable=XM_STORAGE_PATH]$P"
```

* Should it do it? Not, it should not.
* Does it do it? Yes, it does.

We work around it via td -d \'\" and remove all single and double quotes
in the string. How long did it take to discover this? More than it
should have.

There is another interesting bug with the variable expansion, the
following
```bash
echo '##vso[task.setvariable variable=XAMARIN_STORAGE_PATH;isOutput=true]$P'
```
Does not equal
```bash
echo '##vso[task.setvariable variable=XAMARIN_STORAGE_PATH;isOutput=true]'$P
```

The first will not expand the variable, the second one will. We do need
the value of $P not '$P'.


Co-authored-by: Whitney Schmidt <51677938+whitneyschmidt@users.noreply.github.com>
2020-07-10 17:19:59 -04:00
Sebastien Pouliot e5100b74d3
[uniformtypeidentifiers] Update for Xcode 12 beta 2 (#9039)
Includes support for `UTType`-based `[Field]` in the generator as an
hundred (or so) of them were added. Unit test shows the field-based
properties are working as expected.
2020-07-09 08:50:57 -04:00
Manuel de la Pena f76253b0a8
[CallKit] Add support for Xcode 12 beta 1. (#9004)
There are two method not bound due to a dependency on AVAudioSession that
does not seem to be exposed on Mac OS X.

Related issue: https://github.com/xamarin/maccore/issues/2257

Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2020-07-08 22:53:47 -04:00
Manuel de la Pena 9eff2f2964
[DevOps] Move back to self hosted windows pools. (#9040)
The microsoft hosted images have a limit of 10gb, or logs are getting
close to that size when expanded, therefore we will get into issues.
Move back to the self-hosted pool before we have problems.
2020-07-08 18:57:56 -04:00
Rolf Bjarne Kvinge 80c3cc0028
[src] Create a Constants.cs file for Constants that are in all platforms. (#9031) 2020-07-08 18:04:38 +02:00
Sebastien Pouliot de306cd96d
Bump for Xcode 12 beta 2 (#9027)
* [arkit] Remove fields (from beta2) to fix introspection
* [tests][introspection] AVMutableMediaSelection is as bad as it's non mutable parent
* [tools] Update IsFrameworkBroken (remove CoreAudioTypes and MediaPlayer)
* [tests][monotouch-test] MKPinAnnotationView seems fixed in beta 2
* [tests][xtro] Update ARKit todo (with previous fix)
2020-07-08 09:26:24 -04:00
Manuel de la Pena f4d165863a
[DevOps] Clean all workspaces and try to fix our space problems. (#9028) 2020-07-07 18:45:50 -04:00
Sebastien Pouliot 579ef29d52
[replaykit] Update for xcode12 beta 1 (#9025) 2020-07-07 13:45:52 -04:00
Manuel de la Pena 599249fd27
[ClassKit] Add support for Xcode 12 beta 1. (#9008) 2020-07-06 10:56:54 -04:00
Rolf Bjarne Kvinge 739ab8dfd4
Merge pull request #8980 from rolfbjarne/dotnet-xharness-introspection
[dotnet] Make the introspection tests pass in the 64-bit iOS simulator.
2020-07-06 11:14:40 +02:00
Rolf Bjarne Kvinge 46b6d3787d
[mtouch] Regenerate Errors.designer.cs after some entries were removed from Errors.resx. (#8994) 2020-07-03 17:40:25 +02:00
Rolf Bjarne Kvinge 5d5a47b990 [tools] Don't link with a framework that isn't available in the simulator. 2020-07-03 11:14:03 +02:00
Rolf Bjarne Kvinge 6f6b8e281b Merge remote-tracking branch 'origin/main' into dotnet-xharness-introspection 2020-07-03 11:12:50 +02:00
Rolf Bjarne Kvinge d621e3a854
[dotnet] Use the exact same dotnet version in our global.jsons as in Make.config. (#8984)
This avoids a possible difference in behavior, because in our system
dependency check we verify that the system has a specific version (which might
succeed), but if we don't pick a specific dotnet version in global.json,
dotnet will pick the latest version, which may behave differently than the one
we have in Make.config.

Thus always use the exact same version, so that we don't run into a difference
in behavior between developers and/or bots.
2020-07-01 17:08:46 +02:00
Manuel de la Pena ce244b7ccd
[DevOps] Release device bots as soon as possible. (#8979)
The upload of the results takes 2 hours:

* 1 hour uploading to vsts test results.
* 1 hour uploading to vsdrops.

This means that we are blocking a device bot for an extra hours (since
the vsdrops is done in a windows bot) when it is not needed. We could
add both uploads to the vsdrops job, but since steps cannot be ran in
parallel, it means that we re waiting for 2 hours when we really do not
have to.

We create two jobs to parallelize the upload of files and we release the
device bot ASAP. That means that our device bots can be free to get new
jobs (and they are the bottle neck) while the windows bots perform the
different uploads.

To make things easier a template that downloads the artifacts was added
so that there is not much code repetition.
2020-06-30 22:19:54 -04:00
Manuel de la Pena b0bcbb2272
[DevOps] Explicitly allow empty xamarin storage paths. (#8977) 2020-06-30 13:15:54 -04:00
Rolf Bjarne Kvinge 5cfbd9fd4d [dotnet-linker] Add a GatherFrameworksStep and use the output when linking the native executable.
Add a GatherFrameworksStep that computes the frameworks an app needs, and
returns the result to the MSBuild tasks.

Then we use that list of frameworks to link the native executable correctly.
2020-06-30 19:01:07 +02:00
Rolf Bjarne Kvinge 6f0ed03515 [dotnet-linker] Make an Application instance available from the linker configuration, and add more properties to the compat Application type.
This way it's easier to reuse existing mtouch/mmp code that need an Application instance.
2020-06-30 19:01:07 +02:00
Rolf Bjarne Kvinge 9b3916f974 [dotnet-linker] Pass DeploymentTarget, IsSimulatorBuild and SdkVersion to the linker configuration. 2020-06-30 19:01:07 +02:00
Sebastien Pouliot c21caece19
[xcode12][usernotificationui] Update for beta 1 (add macOS support) (#8970) 2020-06-26 21:54:25 -04:00
Sebastien Pouliot 039f58c876
[xcode12][linkpresentation] Update for beta 1 (add tvOS support) (#8965) 2020-06-26 20:00:54 -04:00
Manuel de la Pena 2372a6cfcd
[DevOps] Fix stupid param mistake. (#8971) 2020-06-26 18:27:43 -04:00
Sebastien Pouliot 1bb720b687
[xcode12][appclip] Update for beta 1 (#8964) 2020-06-26 17:13:30 -04:00
Manuel de la Pena 9c91a4ec3c
[DevOp] Allow $amarinStorage to be empty. (#8963)
pwsh will complain if a mandatory parameter is empty. Remove the attr
and allow it to be empty since the if statements do check fir it.
2020-06-26 16:51:21 -04:00
Sebastien Pouliot f427b5e91d
[xcode12] Bump for beta 1 (#8935)
Known issues https://github.com/xamarin/xamarin-macios/issues/8943
2020-06-26 14:02:44 -04:00
Manuel de la Pena 74dc21d71e
[DevOps] fix quotes. (#8959) 2020-06-26 08:02:05 -04:00
Rolf Bjarne Kvinge 8866707bdb
[mlaunch] Add a commit message with a pointer to the maccore hash that GitHub renders as a link. (#8956)
Add a commit message with a pointer to the maccore hash that GitHub renders as
a link when publishing an mlaunch binary to the macios-binaries repository.

This will hopefully make it _slightly_ easier to review since verifying the
maccore hash is now just a click away.
2020-06-26 10:55:51 +02:00
Whitney Schmidt 5580e873ca
[DevOps] Add error handling for incorrect storage path (#8958)
* add error handling for storage path

* Revert "add error handling for storage path"

This reverts commit 751e54c254.

* revert whitespace changes, only add real change

* small fixes
2020-06-25 18:10:54 -04:00
Manuel de la Pena 2daa9088cd
[DevOps] Add the agent name to find the porivioning issues faster. (#8953)
Add the name of the agent that is added by the pipeline on the comments
posted in github.
2020-06-25 09:54:07 -04:00
Manuel de la Pena bf57e81467
[DevOps] Fix broken link. (#8952) 2020-06-25 08:56:14 -04:00
Manuel de la Pena 00a8a13df8
[DevOps] Return a success even when Clear-HD has issues. (#8951)
This is a workaround since in some bot we hit issue https://github.com/PowerShell/PowerShell/issues/9246
2020-06-25 08:55:50 -04:00
Manuel de la Pena 13bd5d2d59
[DevOps] Clean summary message. (#8945) 2020-06-24 19:36:05 -04:00
Manuel de la Pena 88c9276a09
[DevOps] Using netcat over ssh to check if port is open. (#8946)
Nicer than failing on ssh and faster to check if the ssh port is open.
2020-06-24 19:35:37 -04:00
Manuel de la Pena 8c081605a0
[DevOps] Allow to use vsdrops AND xamarin storage. (#8916)
Use both in those labs that support xamarin-storage so that we have a
backup. To do so, move the parameter to be a bool but keep the rest of
the logic the same.


Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2020-06-24 18:01:51 -04:00
Rolf Bjarne Kvinge 8c963e84d6
[dotnet] Make the generated main function work. (#8908)
With this PR a very basic sample app will build and launch successfully in the simulator.

This PR is best reviewed commit-by-commit; each change is explained by its commit message.
2020-06-23 15:14:01 +02:00
Rolf Bjarne Kvinge b74b30ccbf Document code a bit. 2020-06-23 15:06:44 +02:00
Rolf Bjarne Kvinge e6afca196c
[xcode12] Backport a few linker changes. (#8926)
* [linker] Fix infinite queue found with nullability PR (#8337)

and removed previous workaround

Replace previous attempt https://github.com/xamarin/xamarin-macios/pull/8336

* [linker] Remove code to deal with ExportedTypes (#8632)

This is now supported by upstream mono/linker

* [linker] Remove internal [NullablePublicOnly] attribute from apps (#8568)

I've only seen it with .net5 so far but it's better handled in master
and flow back into the branch

* [linker] Update custom attributes that can be removed (#8535)

Some are no longer part of the SDK (or converted into new ones
at build time), others were new (and missing).

A full list of attributes and their usage frequency in what we ship can
be seen in https://gist.github.com/spouliot/ca03c6da7d4d75670ca77749350eb8a2

Also update tests: no need to check for removals of stuff that does not
exists anymore.

Co-authored-by: Sebastien Pouliot <sebastien.pouliot@gmail.com>
2020-06-23 09:01:36 +02:00
Rolf Bjarne Kvinge cd265f852c
[configure] Add an option to enable/disable install-source. (#8904)
Disable by default, but automatically enable for CI builds.

This makes running 'make install' with a fully built tree take ~8s instead of
20+s.
2020-06-22 10:26:21 +02:00
Manuel de la Pena 3cf2fc1316
[DevOps] Do not fail the tests is xamarin-storage cannot be reached. (#8912)
Try to create the folder in xamarin-storage, if that fails, rather than
stop with an error, execute the tests and st an env var.

Once the tests are complete, when adding the summaries, check if we did
fail to reach xamarin-storage and notify it.

This will make sure that tests won't fail if:

* xamarin-storage dies.
* bots are not in the vpn and could not reach xamarin-storage.
2020-06-19 20:18:35 -04:00
Rolf Bjarne Kvinge 6fd9e151ec [dotnet-linker] .NET Core doesn't support globalization yet.
Ref: https://github.com/xamarin/xamarin-macios/issues/8906

Otherwise .NET Core will run into this:

2020-06-10 17:07:55.450901+0200 MySingleView[72595:4489235] warning: CLR: Managed code called FailFast, saying "Infinite recursion during resource lookup within System.Private.CoreLib.  This may be a bug in System.Private.CoreLib, or potentially in certain extensibility points such as assembly resolve events or CultureInfo names.  Resource name: Arg_DllNotFoundException"

=================================================================
        Native Crash Reporting
=================================================================
Got a abrt while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================

=================================================================
        Native stacktrace:
=================================================================
        0x1064bef2b - /Users/rolf/Library/Developer/CoreSimulator/Devices/289E372A-501C-4499-A1A6-59C5B3B6A9AE/data/Containers/Bundle/Application/62875EFF-27D1-40D9-87BD-F223F45E4EC6/MySingleView.app/libmonosgen-2.0.dylib : mono_dump_native_crash_info
        0x10646b441 - /Users/rolf/Library/Developer/CoreSimulator/Devices/289E372A-501C-4499-A1A6-59C5B3B6A9AE/data/Containers/Bundle/Application/62875EFF-27D1-40D9-87BD-F223F45E4EC6/MySingleView.app/libmonosgen-2.0.dylib : mono_handle_native_crash
        0x1064be782 - /Users/rolf/Library/Developer/CoreSimulator/Devices/289E372A-501C-4499-A1A6-59C5B3B6A9AE/data/Containers/Bundle/Application/62875EFF-27D1-40D9-87BD-F223F45E4EC6/MySingleView.app/libmonosgen-2.0.dylib : sigabrt_signal_handler
        0x7fff51c005fd - /Applications/Xcode_11.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/system/libsystem_platform.dylib : _sigtramp
        0x0 - Unknown
        0x7fff51af0b7c - /Applications/Xcode_11.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/system/libsystem_c.dylib : abort
        0x10662f0a3 - /Users/rolf/Library/Developer/CoreSimulator/Devices/289E372A-501C-4499-A1A6-59C5B3B6A9AE/data/Containers/Bundle/Application/62875EFF-27D1-40D9-87BD-F223F45E4EC6/MySingleView.app/libmonosgen-2.0.dylib : ves_icall_System_Environment_FailFast
        0x10662f0d7 - /Users/rolf/Library/Developer/CoreSimulator/Devices/289E372A-501C-4499-A1A6-59C5B3B6A9AE/data/Containers/Bundle/Application/62875EFF-27D1-40D9-87BD-F223F45E4EC6/MySingleView.app/libmonosgen-2.0.dylib : ves_icall_System_Environment_FailFast_raw
        0x106b0a37f - Unknown
        0x106b0a2f3 - Unknown
        0x106b081bb - Unknown
        0x106b07ad3 - Unknown
        0x106b07a5b - Unknown
        0x106b079db - Unknown
        0x106b07813 - Unknown
        0x106b07961 - Unknown
        0x1063ee6f6 - /Users/rolf/Library/Developer/CoreSimulator/Devices/289E372A-501C-4499-A1A6-59C5B3B6A9AE/data/Containers/Bundle/Application/62875EFF-27D1-40D9-87BD-F223F45E4EC6/MySingleView.app/libmonosgen-2.0.dylib : mono_jit_runtime_invoke
        0x10657815e - /Users/rolf/Library/Developer/CoreSimulator/Devices/289E372A-501C-4499-A1A6-59C5B3B6A9AE/data/Containers/Bundle/Application/62875EFF-27D1-40D9-87BD-F223F45E4EC6/MySingleView.app/libmonosgen-2.0.dylib : do_runtime_invoke
        0x106574de1 - /Users/rolf/Library/Developer/CoreSimulator/Devices/289E372A-501C-4499-A1A6-59C5B3B6A9AE/data/Containers/Bundle/Application/62875EFF-27D1-40D9-87BD-F223F45E4EC6/MySingleView.app/libmonosgen-2.0.dylib : mono_runtime_object_init_handle
        0x10652bc41 - /Users/rolf/Library/Developer/CoreSimulator/Devices/289E372A-501C-4499-A1A6-59C5B3B6A9AE/data/Containers/Bundle/Application/62875EFF-27D1-40D9-87BD-F223F45E4EC6/MySingleView.app/libmonosgen-2.0.dylib : mono_exception_from_token
        0x106b09c0b - Unknown
        0x106b09b33 - Unknown
        0x106b09a5b - Unknown
        0x106b099a3 - Unknown
        0x106b09963 - Unknown
        0x106b098f3 - Unknown
        0x106b098b3 - Unknown
        0x106b09863 - Unknown
        0x106b0939b - Unknown
        0x106b083dd - Unknown
        0x106b07ad3 - Unknown
        0x106b07a5b - Unknown
        0x106b079db - Unknown
        0x106b07813 - Unknown
        0x106b07961 - Unknown
        0x1063ee6f6 - /Users/rolf/Library/Developer/CoreSimulator/Devices/289E372A-501C-4499-A1A6-59C5B3B6A9AE/data/Containers/Bundle/Application/62875EFF-27D1-40D9-87BD-F223F45E4EC6/MySingleView.app/libmonosgen-2.0.dylib : mono_jit_runtime_invoke
        0x10657815e - /Users/rolf/Library/Developer/CoreSimulator/Devices/289E372A-501C-4499-A1A6-59C5B3B6A9AE/data/Containers/Bundle/Application/62875EFF-27D1-40D9-87BD-F223F45E4EC6/MySingleView.app/libmonosgen-2.0.dylib : do_runtime_invoke
        0x106574de1 - /Users/rolf/Library/Developer/CoreSimulator/Devices/289E372A-501C-4499-A1A6-59C5B3B6A9AE/data/Containers/Bundle/Application/62875EFF-27D1-40D9-87BD-F223F45E4EC6/MySingleView.app/libmonosgen-2.0.dylib : mono_runtime_object_init_handle
        0x10652bc41 - /Users/rolf/Library/Developer/CoreSimulator/Devices/289E372A-501C-4499-A1A6-59C5B3B6A9AE/data/Containers/Bundle/Application/62875EFF-27D1-40D9-87BD-F223F45E4EC6/MySingleView.app/libmonosgen-2.0.dylib : mono_exception_from_token
        0x106b0775b - Unknown
        0x106b068eb - Unknown
        0x106b04d63 - Unknown
        0x106a590ce - Unknown
        0x1063ee6f6 - /Users/rolf/Library/Developer/CoreSimulator/Devices/289E372A-501C-4499-A1A6-59C5B3B6A9AE/data/Containers/Bundle/Application/62875EFF-27D1-40D9-87BD-F223F45E4EC6/MySingleView.app/libmonosgen-2.0.dylib : mono_jit_runtime_invoke
        0x10657815e - /Users/rolf/Library/Developer/CoreSimulator/Devices/289E372A-501C-4499-A1A6-59C5B3B6A9AE/data/Containers/Bundle/Application/62875EFF-27D1-40D9-87BD-F223F45E4EC6/MySingleView.app/libmonosgen-2.0.dylib : do_runtime_invoke
        0x10657545b - /Users/rolf/Library/Developer/CoreSimulator/Devices/289E372A-501C-4499-A1A6-59C5B3B6A9AE/data/Containers/Bundle/Application/62875EFF-27D1-40D9-87BD-F223F45E4EC6/MySingleView.app/libmonosgen-2.0.dylib : mono_runtime_class_init_full
        0x106414118 - /Users/rolf/Library/Developer/CoreSimulator/Devices/289E372A-501C-4499-A1A6-59C5B3B6A9AE/data/Containers/Bundle/Application/62875EFF-27D1-40D9-87BD-F223F45E4EC6/MySingleView.app/libmonosgen-2.0.dylib : mono_method_to_ir
        0x1063e4688 - /Users/rolf/Library/Developer/CoreSimulator/Devices/289E372A-501C-4499-A1A6-59C5B3B6A9AE/data/Containers/Bundle/Application/62875EFF-27D1-40D9-87BD-F223F45E4EC6/MySingleView.app/libmonosgen-2.0.dylib : mini_method_compile
        0x1063e6ce4 - /Users/rolf/Library/Developer/CoreSimulator/Devices/289E372A-501C-4499-A1A6-59C5B3B6A9AE/data/Containers/Bundle/Application/62875EFF-27D1-40D9-87BD-F223F45E4EC6/MySingleView.app/libmonosgen-2.0.dylib : mono_jit_compile_method_inner
        0x1063ea4f7 - /Users/rolf/Library/Developer/CoreSimulator/Devices/289E372A-501C-4499-A1A6-59C5B3B6A9AE/data/Containers/Bundle/Application/62875EFF-27D1-40D9-87BD-F223F45E4EC6/MySingleView.app/libmonosgen-2.0.dylib : mono_jit_compile_method_with_opt
        0x10646d5d8 - /Users/rolf/Library/Developer/CoreSimulator/Devices/289E372A-501C-4499-A1A6-59C5B3B6A9AE/data/Containers/Bundle/Application/62875EFF-27D1-40D9-87BD-F223F45E4EC6/MySingleView.app/libmonosgen-2.0.dylib : common_call_trampoline
        0x10646d07d - /Users/rolf/Library/Developer/CoreSimulator/Devices/289E372A-501C-4499-A1A6-59C5B3B6A9AE/data/Containers/Bundle/Application/62875EFF-27D1-40D9-87BD-F223F45E4EC6/MySingleView.app/libmonosgen-2.0.dylib : mono_magic_trampoline
        0x1069db396 - Unknown
        0x106b04a7b - Unknown
        0x106b02e83 - Unknown
        0x106b02d9b - Unknown
        0x106a590ce - Unknown
        0x1063ee6f6 - /Users/rolf/Library/Developer/CoreSimulator/Devices/289E372A-501C-4499-A1A6-59C5B3B6A9AE/data/Containers/Bundle/Application/62875EFF-27D1-40D9-87BD-F223F45E4EC6/MySingleView.app/libmonosgen-2.0.dylib : mono_jit_runtime_invoke
        0x10657815e - /Users/rolf/Library/Developer/CoreSimulator/Devices/289E372A-501C-4499-A1A6-59C5B3B6A9AE/data/Containers/Bundle/Application/62875EFF-27D1-40D9-87BD-F223F45E4EC6/MySingleView.app/libmonosgen-2.0.dylib : do_runtime_invoke
        0x10657545b - /Users/rolf/Library/Developer/CoreSimulator/Devices/289E372A-501C-4499-A1A6-59C5B3B6A9AE/data/Containers/Bundle/Application/62875EFF-27D1-40D9-87BD-F223F45E4EC6/MySingleView.app/libmonosgen-2.0.dylib : mono_runtime_class_init_full
        0x106414118 - /Users/rolf/Library/Developer/CoreSimulator/Devices/289E372A-501C-4499-A1A6-59C5B3B6A9AE/data/Containers/Bundle/Application/62875EFF-27D1-40D9-87BD-F223F45E4EC6/MySingleView.app/libmonosgen-2.0.dylib : mono_method_to_ir
        0x1063e4688 - /Users/rolf/Library/Developer/CoreSimulator/Devices/289E372A-501C-4499-A1A6-59C5B3B6A9AE/data/Containers/Bundle/Application/62875EFF-27D1-40D9-87BD-F223F45E4EC6/MySingleView.app/libmonosgen-2.0.dylib : mini_method_compile
        0x1063e6ce4 - /Users/rolf/Library/Developer/CoreSimulator/Devices/289E372A-501C-4499-A1A6-59C5B3B6A9AE/data/Containers/Bundle/Application/62875EFF-27D1-40D9-87BD-F223F45E4EC6/MySingleView.app/libmonosgen-2.0.dylib : mono_jit_compile_method_inner
        0x1063ea4f7 - /Users/rolf/Library/Developer/CoreSimulator/Devices/289E372A-501C-4499-A1A6-59C5B3B6A9AE/data/Containers/Bundle/Application/62875EFF-27D1-40D9-87BD-F223F45E4EC6/MySingleView.app/libmonosgen-2.0.dylib : mono_jit_compile_method_with_opt
        0x10646d5d8 - /Users/rolf/Library/Developer/CoreSimulator/Devices/289E372A-501C-4499-A1A6-59C5B3B6A9AE/data/Containers/Bundle/Application/62875EFF-27D1-40D9-87BD-F223F45E4EC6/MySingleView.app/libmonosgen-2.0.dylib : common_call_trampoline
        0x10646d07d - /Users/rolf/Library/Developer/CoreSimulator/Devices/289E372A-501C-4499-A1A6-59C5B3B6A9AE/data/Containers/Bundle/Application/62875EFF-27D1-40D9-87BD-F223F45E4EC6/MySingleView.app/libmonosgen-2.0.dylib : mono_magic_trampoline
        0x1069db396 - Unknown
        0x106b02d53 - Unknown
        0x106a590ce - Unknown
        0x1063ee6f6 - /Users/rolf/Library/Developer/CoreSimulator/Devices/289E372A-501C-4499-A1A6-59C5B3B6A9AE/data/Containers/Bundle/Application/62875EFF-27D1-40D9-87BD-F223F45E4EC6/MySingleView.app/libmonosgen-2.0.dylib : mono_jit_runtime_invoke
        0x10657815e - /Users/rolf/Library/Developer/CoreSimulator/Devices/289E372A-501C-4499-A1A6-59C5B3B6A9AE/data/Containers/Bundle/Application/62875EFF-27D1-40D9-87BD-F223F45E4EC6/MySingleView.app/libmonosgen-2.0.dylib : do_runtime_invoke
        0x10657545b - /Users/rolf/Library/Developer/CoreSimulator/Devices/289E372A-501C-4499-A1A6-59C5B3B6A9AE/data/Containers/Bundle/Application/62875EFF-27D1-40D9-87BD-F223F45E4EC6/MySingleView.app/libmonosgen-2.0.dylib : mono_runtime_class_init_full
        0x106414118 - /Users/rolf/Library/Developer/CoreSimulator/Devices/289E372A-501C-4499-A1A6-59C5B3B6A9AE/data/Containers/Bundle/Application/62875EFF-27D1-40D9-87BD-F223F45E4EC6/MySingleView.app/libmonosgen-2.0.dylib : mono_method_to_ir
        0x1063e4688 - /Users/rolf/Library/Developer/CoreSimulator/Devices/289E372A-501C-4499-A1A6-59C5B3B6A9AE/data/Containers/Bundle/Application/62875EFF-27D1-40D9-87BD-F223F45E4EC6/MySingleView.app/libmonosgen-2.0.dylib : mini_method_compile
        0x1063e6ce4 - /Users/rolf/Library/Developer/CoreSimulator/Devices/289E372A-501C-4499-A1A6-59C5B3B6A9AE/data/Containers/Bundle/Application/62875EFF-27D1-40D9-87BD-F223F45E4EC6/MySingleView.app/libmonosgen-2.0.dylib : mono_jit_compile_method_inner
        0x1063ea4f7 - /Users/rolf/Library/Developer/CoreSimulator/Devices/289E372A-501C-4499-A1A6-59C5B3B6A9AE/data/Containers/Bundle/Application/62875EFF-27D1-40D9-87BD-F223F45E4EC6/MySingleView.app/libmonosgen-2.0.dylib : mono_jit_compile_method_with_opt
        0x10646d5d8 - /Users/rolf/Library/Developer/CoreSimulator/Devices/289E372A-501C-4499-A1A6-59C5B3B6A9AE/data/Containers/Bundle/Application/62875EFF-27D1-40D9-87BD-F223F45E4EC6/MySingleView.app/libmonosgen-2.0.dylib : common_call_trampoline
        0x10646d07d - /Users/rolf/Library/Developer/CoreSimulator/Devices/289E372A-501C-4499-A1A6-59C5B3B6A9AE/data/Containers/Bundle/Application/62875EFF-27D1-40D9-87BD-F223F45E4EC6/MySingleView.app/libmonosgen-2.0.dylib : mono_magic_trampoline
        0x1069db396 - Unknown
        0x106afea83 - Unknown
        0x106afdc0b - Unknown
        0x106afd5eb - Unknown
        0x106afd223 - Unknown
        0x106afd04b - Unknown
        0x106afcf2b - Unknown
        0x106af98c3 - Unknown
        0x106aec7fb - Unknown
        0x106a646ab - Unknown
        0x106a64543 - Unknown
        0x106a644e3 - Unknown
        0x106a6433b - Unknown
        0x106a63f03 - Unknown
        0x106a63d93 - Unknown
        0x106a62b5b - Unknown
        0x10638dc47 - /Users/rolf/Library/Developer/CoreSimulator/Devices/289E372A-501C-4499-A1A6-59C5B3B6A9AE/data/Containers/Bundle/Application/62875EFF-27D1-40D9-87BD-F223F45E4EC6/MySingleView.app/libxamarin.dylib : xamarin_register_assembly
        0x106390394 - /Users/rolf/Library/Developer/CoreSimulator/Devices/289E372A-501C-4499-A1A6-59C5B3B6A9AE/data/Containers/Bundle/Application/62875EFF-27D1-40D9-87BD-F223F45E4EC6/MySingleView.app/libxamarin.dylib : xamarin_initialize
        0x1063984e0 - /Users/rolf/Library/Developer/CoreSimulator/Devices/289E372A-501C-4499-A1A6-59C5B3B6A9AE/data/Containers/Bundle/Application/62875EFF-27D1-40D9-87BD-F223F45E4EC6/MySingleView.app/libxamarin.dylib : xamarin_main
        0x1062d4f5d - /Users/rolf/Library/Developer/CoreSimulator/Devices/289E372A-501C-4499-A1A6-59C5B3B6A9AE/data/Containers/Bundle/Application/62875EFF-27D1-40D9-87BD-F223F45E4EC6/MySingleView.app/MySingleView : main
        0x7fff51a231fd - /Applications/Xcode_11.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/system/libdyld.dylib : start
        0x1 - Unknown

=================================================================
        Basic Fault Address Reporting
=================================================================
Memory around native instruction pointer (0x7fff51b6133a):0x7fff51b6132a  ff ff c3 90 90 90 b8 48 01 00 02 49 89 ca 0f 05  .......H...I....
0x7fff51b6133a  73 08 48 89 c7 e9 e5 a2 ff ff c3 90 90 90 b8 53  s.H............S
0x7fff51b6134a  00 00 02 49 89 ca 0f 05 73 08 48 89 c7 e9 cd a2  ...I....s.H.....
0x7fff51b6135a  ff ff c3 90 90 90 b8 83 01 00 02 49 89 ca 0f 05  ...........I....

=================================================================
        Managed Stacktrace:
=================================================================
          at <unknown> <0xffffffff>
          at System.Environment:FailFast <0x0006e>
          at System.Environment:FailFast <0x00022>
          at System.SR:InternalGetResourceString <0x001ba>
          at System.SR:GetResourceString <0x00062>
          at System.SR:GetResourceString <0x0002a>
          at System.SR:get_Arg_DllNotFoundException <0x0001a>
          at System.DllNotFoundException:.ctor <0x00022>
          at System.Object:runtime_invoke_void__this__ <0x000e0>
          at <unknown> <0xffffffff>
          at Globalization:GetDefaultLocaleName <0x0005a>
          at System.Globalization.CultureData:GetDefaultLocaleName <0x00052>
          at System.Globalization.CultureInfo:GetUserDefaultCulture <0x0005a>
          at System.Globalization.CultureInfo:InitializeUserDefaultCulture <0x00022>
          at System.Globalization.CultureInfo:GetUserDefaultUICulture <0x00012>
          at System.Globalization.CultureInfo:InitializeUserDefaultUICulture <0x00022>
          at System.Globalization.CultureInfo:get_UserDefaultUICulture <0x00032>
          at System.Globalization.CultureInfo:get_CurrentUICulture <0x00052>
          at System.Resources.ResourceManager:GetString <0x0006a>
          at System.SR:InternalGetResourceString <0x003dc>
          at System.SR:GetResourceString <0x00062>
          at System.SR:GetResourceString <0x0002a>
          at System.SR:get_Arg_DllNotFoundException <0x0001a>
          at System.DllNotFoundException:.ctor <0x00022>
          at System.Object:runtime_invoke_void__this__ <0x000e0>
          at <unknown> <0xffffffff>
          at Globalization:LoadICU <0x0005a>
          at System.Globalization.GlobalizationMode:GetGlobalizationInvariantMode <0x0007a>
          at System.Globalization.GlobalizationMode:.cctor <0x00012>
          at System.Object:runtime_invoke_void <0x0007d>
          at <unknown> <0xffffffff>
          at System.Globalization.CultureData:CreateCultureWithInvariantData <0x00cda>
          at System.Globalization.CultureData:get_Invariant <0x00032>
          at System.Globalization.CultureInfo:.cctor <0x0001a>
          at System.Object:runtime_invoke_void <0x0007d>
          at <unknown> <0xffffffff>
          at System.Globalization.CompareInfo:.cctor <0x00012>
          at System.Object:runtime_invoke_void <0x0007d>
          at <unknown> <0xffffffff>
          at ObjCMethod:get_IsPropertyAccessor <0x000c2>
          at Registrar.Registrar:GetBindAsAttribute <0x0015a>
          at ObjCMethod:get_NativeReturnType <0x000ea>
          at Registrar.Registrar:ComputeSignature <0x001c2>
          at ObjCMethod:ComputeSignature <0x0005a>
          at ObjCMethod:ValidateSignature <0x0005a>
          at ObjCType:Add <0x000c2>
          at Registrar.Registrar:RegisterTypeUnsafe <0x047fa>
          at Registrar.Registrar:RegisterType <0x0008a>
          at Registrar.DynamicRegistrar:Register <0x00042>
          at ObjCRuntime.Class:Register <0x00032>
          at ObjCRuntime.Runtime:RegisterAssembly <0x000ea>
          at ObjCRuntime.Runtime:RegisterAssembly <0x00062>
          at ObjCRuntime.Runtime:register_assembly <0x00042>
          at ObjCRuntime.Runtime:register_assembly <0x0006a>
=================================================================
Xamarin.Hosting: Simulated process has exited.
2020-06-19 18:07:00 +02:00
Rolf Bjarne Kvinge 2572b67a10 [dotnet-linker] Generate a main function that actually works. 2020-06-19 17:48:16 +02:00
Rolf Bjarne Kvinge 77488b8fbe [dotnet-linker] Pass AssemblyName to the linker. 2020-06-19 17:48:14 +02:00
Manuel de la Pena 670d68c86c
[DevOps] Improve the comments added in GitHub. (#8898)
Comments were ugly. Clean a little the markdown.
2020-06-19 11:45:21 -04:00
Rolf Bjarne Kvinge 53c285c097
Merge pull request #8887 from rolfbjarne/dotnet-linker-generate-main
[dotnet] Generate a main function, and use it to compile the main executable.
2020-06-19 17:45:05 +02:00
Rolf Bjarne Kvinge c181d26ae4 Improve diagnostic output. 2020-06-19 17:41:04 +02:00
Manuel de la Pena 78730b8ceb
[DevOps] Update contexts to be more clear. (#8896)
The contexts are the ones that link a status with a device run. Update
them so that we do know the labe used (and remove a typo where we used
TvOS).
2020-06-18 17:10:01 -04:00
Manuel de la Pena 1b6b5dec20
[Devops] Use correct variables template on ddfun tvos pipeline. (#8895) 2020-06-18 15:28:47 -04:00
Manuel de la Pena 96e14746b3
[Devops] Fix typo in beta device pipeline. (#8894) 2020-06-18 15:15:37 -04:00
Manuel de la Pena ed8a00152e
[Devops] Add support for yaml pipelines in the old device pipelines. (#8862)
This commit moves all the different pipelines we have to fully use yaml.
That includes the old ddfun pipeline that was using a mix between using
yaml and the UI interface to configure it.

The new pipelines are found under the tools/devops/device-tests
directory. All of the use a very similar structure and therefore we use
a template. The README.md inside the directory should explain most of
the logic and the devices-tests.yml contains comments for each of the
steps.

Most of the bash scripts have been moved to use pwsh which is inside the
scripts directory and contains tests. Tests can be ran via:

```bash
make -C tools/devops/device-tests/scripts run-tests
```

This commit will only affect the ddfun pipeline that will need to be
updated to use the new yml path. All the other pipelines are not
affected and they will be to be updated manually.

The pipelines support two different storages for the html report.

* xamarin-storage: Old school.
* vsdrops: New age.

Unfortunatly we yet do not know how to workaround the fact that vsdrops
does not serve the files, therefore we use the xamarin-storage in all
pipelines but those in the ddfun lab because they do not have the right
access.

This later can be easily changed editing the
tools/devops/device-tests/tempaltes/cambridge-variables.yml which will
update all the pipelines in the cambridge lab.

PS: Sorry for the size.
2020-06-18 14:15:59 -04:00
Rolf Bjarne Kvinge 72bbee78c0 [dotnet] Load the output from the GenerateMain step into the MSBuild targets.
The GenerateMain step needs to return the generated filename to the MSBuild targets, and it does so by writing out MSBuild xml which is then loaded into the MSBuild logic.
2020-06-18 15:57:01 +02:00
Rolf Bjarne Kvinge 1401624e09 [dotnet-linker] Add a GenerateMain step.
This generates a very basic Main method that doesn't do anything at all.
2020-06-18 15:57:01 +02:00
Rolf Bjarne Kvinge c6abc2fea1 [dotnet-linker] Add CacheDirectory and ItemsDirectory to the linker configuration. 2020-06-18 15:57:01 +02:00
Rolf Bjarne Kvinge da1db99954 [dotnet-linker] Pass TargetArchitectures to the linker. 2020-06-18 15:52:16 +02:00
Rolf Bjarne Kvinge 197026622e [dotnet-linker] Add the MachO.cs file to get the Abi enum.
This also requires adding support for the ErrorHandler machinery, which the
MachO.cs file needs.

I considered extracting the Abi enum from the MachO.cs file, but it's used in
several places (including externally, such as binding-tools-for-swift), which
means this would be a rather disruptive change.

I also considered modifying MachO.cs to make it possible to build without the
ErrorHandler machinery, but since we'll need it all anyway eventually, I
decided against this option as well.
2020-06-18 15:52:16 +02:00
Rolf Bjarne Kvinge c3bcfac582
Unify code for executing processes. (#8848)
* Create a simple Xamarin.Utils.Execution class that can handle all our
  process execution needs:
    * Captures or streams stdout/stderr (in UTF8).
    * Supports async
    * Supports a timeout
    * Does not depend on any other source file we have, only uses BCL API.
* Have the execution helper classes from mtouch/mmp
  (Xamarin.BundlerDriver.RunCommand) and the tests
  (Xamarin.Tests.ExecutionHelper) use this new class.
* Some simplifications were made:
    * All API that took a string array for the environment now takes a
      Dictionary<string, string>.
    * The Driver.RunCommand methods were split out to a separate file. This
      file also contains a Verbosity field, which is conditioned on not being
      in mtouch nor mmp, which makes including this file from other projects
      simpler (such as bgen - in particular bgen was modified to use this
      Verbosity field instead of its own).
2020-06-18 12:34:07 +02:00
Manuel de la Pena 602fb4a675
[d16-7][Devops] Move to main rather than using a testing branch. (#8878) 2020-06-17 17:02:03 -04:00
Manuel de la Pena 1d5557c328
[DevOps] Move away from a testing branch and use main. (#8874) 2020-06-17 12:59:44 -04:00
Manuel de la Pena a20f8ddcbe
[Devtools] Do not try to install tools via brew if present.] (#8872) 2020-06-17 11:27:26 -04:00
Rolf Bjarne Kvinge 95e42b9266
Rename master to main. (#8851)
* Fix links that point to master to point to main instead.
* Implement support in the sample tester for specifying the default branch for
  each sample repo.
* Fix various text / documentation to say 'main' instead of 'master.'
* Push to 'main' instead of 'master' in xamarin-macios-data.
* Fix xharness to make 'main' the special branch with regards to documentation tests as opposed to 'master'.
* Fix various CI to use 'main' instead of 'master'.
* Bump maccore

    New commits in xamarin/maccore:

    * xamarin/maccore@ed6d146822 Rename 'master' to 'main'. (#2233)

    Diff: 424fa26148..ed6d146822
2020-06-16 15:51:44 +02:00
Chris Hamons 78dcb51fe3
Remove notice from generated iOS Apps (#8857)
- The notice points to an out of date page, currently dead (will be redirected soon)
- https://github.com/xamarin/xamarin-macios/issues/8849 is the new home
2020-06-15 15:52:08 -05:00
Rolf Bjarne Kvinge 748612fbc2
[dotnet] Ship libxamarin.dylib and friends. (#8830)
* [dotnet] Ship libxamarin.dylib and friends.

Add libxamarin[-debug].[a|dylib] to the NuGets.

* [dotnet] Create a DOTNET_PLATFORMS variable in Make.config.

Create a DOTNET_PLATFORMS variable in Make.config and use it everywhere
instead of the PLATFORMS variable we were defining in multiple Makefiles.

Also move the creation of the DOTNET_<platform>_RUNTIME_IDENTIFIERS variables
from dotnet/Makefile to Make.config, it'll soon be needed elsewhere as well.

* [runtime] Conditionally include bits.

* Make the contents of the DOTNET_[PLATFORMS|RUNTIME_IDENTIFIERS] variables depend on the INCLUDE_[IOS|TVOS|WATCH] variables.
2020-06-15 17:47:18 +02:00
Chris Hamons 32c4999822
Add NOTICE.txt and cgmanifest tool (#8843)
- Add generated NOTICE.txt with hand included OpentTK license (https://github.com/mono/opentk/blob/master/Documentation/License.txt) not found by CG
- Add small dotnet core tool that updates cgmanifest.json based on new submodules/mono
- Internal User Story: https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1140262
2020-06-12 14:30:21 -05:00
Sebastien Pouliot a1063fc1c3
[mmp] Update generated code for `main.c` (#8842)
* Remove old imports that are not needed anymore (left over from DRM days)
* Fix formatting (missing tab)
2020-06-11 13:46:02 -04:00
monojenkins b7051c7f03
[apidiff] Fix range expression. (#8837)
The C# range expression is somewhat confusing: the lower bound is inclusive,
but the upper bound is exclusive. This means that [0..15] is 15 characters,
not the 16 characters we want here.

Fixes this during API comparison:

    System.ArgumentException: Byte array for GUID must be exactly 16 bytes long.
    Parameter name: b
      at System.Guid..ctor (System.ReadOnlySpan`1[T] b) [0x00111] in /Users/builder/jenkins/workspace/build-package-osx-mono/2020-02/external/bockbuild/builds/mono-x64/external/corefx/src/Common/src/CoreLib/System/Guid.cs:66
      at System.Guid..ctor (System.Byte[] b) [0x00000] in /Users/builder/jenkins/workspace/build-package-osx-mono/2020-02/external/bockbuild/builds/mono-x64/external/corefx/src/Common/src/CoreLib/System/Guid.cs:45
      at Merger.Process (System.String platform, System.String path, System.String os) [0x001d1] in /Users/builder/jenkins/workspace/xamarin-macios/xamarin-macios/tools/apidiff/merger.cs:60
      at Merger.Main (System.String[] args) [0x00002] in /Users/builder/jenkins/workspace/xamarin-macios/xamarin-macios/tools/apidiff/merger.cs:94
    make[2]: *** [tvos-markdown] Error 1

Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2020-06-11 15:47:42 +02:00
Rolf Bjarne Kvinge a6b55083ab
[apidiff] Fix range expression. (#8827)
The C# range expression is somewhat confusing: the lower bound is inclusive,
but the upper bound is exclusive. This means that [0..15] is 15 characters,
not the 16 characters we want here.

Fixes this during API comparison:

    System.ArgumentException: Byte array for GUID must be exactly 16 bytes long.
    Parameter name: b
      at System.Guid..ctor (System.ReadOnlySpan`1[T] b) [0x00111] in /Users/builder/jenkins/workspace/build-package-osx-mono/2020-02/external/bockbuild/builds/mono-x64/external/corefx/src/Common/src/CoreLib/System/Guid.cs:66
      at System.Guid..ctor (System.Byte[] b) [0x00000] in /Users/builder/jenkins/workspace/build-package-osx-mono/2020-02/external/bockbuild/builds/mono-x64/external/corefx/src/Common/src/CoreLib/System/Guid.cs:45
      at Merger.Process (System.String platform, System.String path, System.String os) [0x001d1] in /Users/builder/jenkins/workspace/xamarin-macios/xamarin-macios/tools/apidiff/merger.cs:60
      at Merger.Main (System.String[] args) [0x00002] in /Users/builder/jenkins/workspace/xamarin-macios/xamarin-macios/tools/apidiff/merger.cs:94
    make[2]: *** [tvos-markdown] Error 1
2020-06-11 11:44:39 +02:00
Alex Soto 52509f9925
[devops] Add Policheck tool to our pipeline (#8802)
New commits in xamarin/maccore:

* xamarin/maccore@714066a4b6 Add PoliCheckExclusions.xml (#2228) (#2229)

Diff: ef861db73e..714066a4b6
2020-06-08 15:16:04 -04:00
Alex Soto 33868e4036
[devops] Add Policheck tool to our pipeline (#8800)
New commits in xamarin/maccore:

* xamarin/maccore@d2ef9d7ee0 Add PoliCheckExclusions.xml (#2228)

Diff: 4bfce64847..d2ef9d7ee0
2020-06-08 14:13:40 -04:00
Rolf Bjarne Kvinge d4bd5a5b4a
[mtouch] Remove empty comment tags from localization resx files. (#8781)
Solves build errors like this:

     xamarin-macios/tools/dotnet-linker/packages/xlifftasks/1.0.0-beta.20154.1/build/XliffTasks.targets(91,5): error : 'Errors.cs.xlf' is out-of-date with 'Errors.resx'. Run `msbuild /t:UpdateXlf` to update .xlf files or set UpdateXlfOnBuild=true to update them on every build, but note that it is strongly discouraged to set UpdateXlfOnBuild=true in official/CI build environments as they should not modify source code during the build.

See also: https://github.com/xamarin/xamarin-macios/pull/8157
2020-06-05 17:08:36 +02:00
monojenkins 4e539bb3d6
satisfy the type-checking gods (#8777)
Co-authored-by: cadsit <connor.adsit@gmail.com>
2020-06-05 16:06:12 +02:00
Rolf Bjarne Kvinge 85e3113858
[dotnet-linker] Add support for passing configuration from the MSBuild targets to our linker steps. (#8780)
Add support for passing configuration from the MSBuild targets to our linker
steps using the linker's --custom-data option.

There are just two values being passed now, but this will grow significantly
over time as linker steps are implemented.
2020-06-05 16:04:53 +02:00
monojenkins fdaa8e01be
[tools] Remove MD5 from tooling (#8774)
Note: affected tools are not included in the code shipping inside the SDK

Usage of deprecated cryptographic algorithms is not approved anymore,
even if not used for cryptographic purpose.

MD5 was used to create immutable GUID since it's output is 128bits which
is just what a GUID wants as it's input (16 bytes). The same can be
achieved (even if a bit slower) with a newer/longer hash function

https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1128148
2020-06-05 09:02:41 -04:00
Sebastien Pouliot 97d2504d51
[tools] Remove MD5 from tooling (#8769)
Note: affected tools are not included in the code shipping inside the SDK

Usage of deprecated cryptographic algorithms is not approved anymore,
even if not used for cryptographic purpose.

MD5 was used to create immutable GUID since it's output is 128bits which
is just what a GUID wants as it's input (16 bytes). The same can be
achieved (even if a bit slower) with a newer/longer hash function

https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1128148
2020-06-04 22:14:13 -04:00
Rolf Bjarne Kvinge 374f2cf293
[tools] Fix printing failed command to print the actual arguments instead of the list itself. (#8749)
Fixes this:

    Process exited with code 1, command:
    /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tools/xibuild/xibuild System.Collections.Generic.List`1[System.String]
2020-06-04 16:40:37 +02:00
Rolf Bjarne Kvinge 75e6aadb9f
[dotnet-linker] Fix dependency tracking in the makefile. (#8753)
* Use our shared *.csproj.inc target in mk/rules.mk.
* Include the *.csproj.inc target before the variable within is needed. That
  way the variable is what we need it to be (the list of dependencies for the
  assembly we want to build) when we reference it.
2020-06-04 15:45:17 +02:00
Rolf Bjarne Kvinge cb637a08a0
Merge pull request #8733 from rolfbjarne/dotnet-linker
[dotnet] Add dotnet-linker, a project to contain custom linker steps for our net5.0 build.
2020-06-03 09:11:15 +02:00
Rolf Bjarne Kvinge c06ece7276 Add some documentation. 2020-06-03 09:10:27 +02:00
Jonathan Peppers 4e37ecf65c
[msbuild] missing localization comments - part 3 (#8721)
Fixes: https://github.com/xamarin/xamarin-macios/issues/8468

Added missing `<comment/>` fields for:

* BI1033
* BI1077
* MM2007
* MT0073
* MT0074
* MT0112_c
* MT0113_i
* MT4146
* MT4162

I had to split up the `MT4162` error message, introducing:

* `Errors.MT4162_BaseType` - a base type of
* `Errors.MT4162_Parameter` - a parameter in
* `Errors.MT4162_ReturnType` - a return type in
* `Errors.MT4162_PropertyType` - the property type of

This also removed an argument passed into `string.Format`.
2020-06-02 13:57:11 -05:00
Rolf Bjarne Kvinge 3ecac56e8b
[mtouch/mmp] Add CFNetwork to our list of frameworks for iOS and macOS. (#8723)
It's already in the list for tvOS and watchOS.
2020-06-02 16:17:51 +02:00
Rolf Bjarne Kvinge 8b8b79ac40
[mtouch] Remove XAMCORE_2_0 define from simlauncher build. (#8725)
It's not used anywhere in the source code anymore.
2020-06-02 16:04:27 +02:00
Rolf Bjarne Kvinge fcd8956d70 [tools] Add dotnet-linker, a project to contain custom linker steps for our net5.0 build. 2020-06-02 15:55:56 +02:00
Rolf Bjarne Kvinge 52686eab6a [tools] Add support for generating a csproj dependency file for net5.0 projects.
* Add support for using dotnet instead of msbuild to build the target project.
* cd into the target project's directory before building it, because there may
  be a global.json file there which must be taken into account.
2020-06-02 15:50:35 +02:00
Connor Adsit 47f74578b3
satisfy the type-checking gods (#8680) 2020-05-27 08:49:37 +02:00
Rolf Bjarne Kvinge 8c1f33bde7
[tools] Ignore generator.csproj when comparing generated code. (#8675)
Fixes an issue where generator.csproj would show up as a new file when
comparing generated output.

This probably regressed in 4b917ad2de.
2020-05-26 16:20:53 +02:00
Rolf Bjarne Kvinge 641a26e64b
[mmp] Use the GetPlatformFrameworkDirectory function to avoid duplicating code. (#8648) 2020-05-25 09:34:22 +02:00
Alex Soto 1614d569cc
[d16-7] Merge Xcode11.5 Support and include provisionator changes (#8645)
New commits in xamarin/maccore:

* xamarin/maccore@ef861db73e [devops] Enhance Xcode renaming script (#2208)

Diff: 92a06f7303..ef861db73e
2020-05-21 14:11:27 -04:00
Rolf Bjarne Kvinge 4166908f3c
[linker] Fix typo in comment. (#8646) 2020-05-21 18:49:30 +02:00
Alex Soto 5dc1b55dc6
[master] Merge Xcode11.5 Support and include provisionator changes (#8643)
New commits in xamarin/maccore:

* xamarin/maccore@4bfce64847 Update README.md
* xamarin/maccore@24682998f7 [devops] Enhance Xcode renaming script (#2206)
* xamarin/maccore@e03f16b862 [Localization][Mlaunch] Fix watchos timeout issue (#2196)

Diff: ad1696d6f3..4bfce64847
2020-05-21 12:16:33 -04:00
monojenkins ab8a0fcc56
[d16-7] page through github statuses for manifest URL (#8638)
* page through github statuses for manifest URL

* Check to see if the content has values (rather than being the empty string)

* Fix code style.

Co-authored-by: cadsit <connor.adsit@gmail.com>
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2020-05-21 16:39:01 +02:00
Sebastien Pouliot 6ecce641a2
[linker] Remove code to deal with ExportedTypes (#8632)
This is now supported by upstream mono/linker
2020-05-21 08:44:48 -04:00
Rolf Bjarne Kvinge 4bd68fd653 Fix code style. 2020-05-20 19:59:04 +02:00
cadsit c3676e77b6 Check to see if the content has values (rather than being the empty string) 2020-05-20 13:36:19 -04:00
cadsit 12e644a6d9 page through github statuses for manifest URL 2020-05-20 13:06:02 -04:00
Rolf Bjarne Kvinge 1b570ebb20
[msbuild] Update to NUnit 3.12 and NUnit.ConsoleRunner 3.11.1. (#8613) 2020-05-20 09:26:05 +02:00
Rolf Bjarne Kvinge 392200d930
[mtouch/mmp] Share numerous command-line arguments. (#8599)
* [mtouch/mmp] Share Application.IsDualBuild, Is32Build and Is64Build.

* [mtouch/mmp] Share --tls-provider and --http-message-handler.

* [mtouch/mmp] Share --force.

* [mtouch/mmp] Share --cache.

* [mtouch/mmp] Share --nolink, --linksdkonly, --linkplatform and --linkskip.

* [mtouch/mmp] Share --i18n.

* [mtouch/mmp] Share --xml.

* [mtouch/mmp] Share --registrar and --runregistrar.

* [mtouch/mmp] Share --warn-on-type-ref.

* [mtouch/mmp] Share --sdk.

* [mtouch/mmp] Share --debug.

* [mtouch/mmp] Share --reference, and deprecate -r|--ref and -a|--assembly.

* [mtouch/mmp] Share --targetver, and deprecate mmp's --minos.

* [msbuild] Adjust tests after switching to use --reference instead of -r.

* Update according to review.

* [mmp] Remove --registrar:il.

The IL generator was what MonoMac had before the dynamic/static registrar code
got shared between MonoTouch and MonoMac. The IL registrar been gone for
years, and as far as I know nobody ever used --registrar:il, even though it
was provided as a compatibility option in the beginning (we still had the IL
registrar around for a while after adding the static+dynamic registrars, until
it was completely replaced by the dynamic registrar).

So just remove this option, if anyone ever used it they can replace it with
--registrar:dynamic.

* [mtouch/mmp] Keep bundler-specific code in its corresponding file.
2020-05-19 15:30:38 +02:00
cadsit ff3d5cbde6 quick fix provisionator directory nuking in device tests *facepalm* 2020-05-14 13:34:42 -04:00
Rolf Bjarne Kvinge 76fc9dc3bf
Improve our error handling code. (#8591)
* Move much of ErrorHandler.cs into a partial class in ErrorHandler.tools.cs,
  which is referenced by mtouch and mmp (but not our runtime).
* Add ErrorHandler.runtime.cs for runtime-specific bits, including a simpler
  version of ErrorHandler.Show. In particular this gets rid of the call to
  Environment.Exit, which should never happen at runtime.
* Rename MonoTouchException and MonoMacException to ProductException, which
  allows us to remove a lot of ifdefs.
* This required moving Application.LoadSymbols and Target.LoadSymbols to
  shared mtouch/mmp code.
2020-05-14 16:45:05 +02:00
Sebastien Pouliot f7b38340fd
[linker] Simplify MarkNSObject a bit (#8594)
also add a note that it's not optimal, as-is, if "Link All" is used since
it's too early to make a decision on overrides from user code, they could
be removed later (e.g. if the type is unused in the app).
2020-05-13 20:49:43 -04:00
Connor Adsit 8fc90c00e6
[Devops] Flag to disable Provisionator Cleanup (#8593) 2020-05-13 20:38:29 -04:00
Rolf Bjarne Kvinge 76e067b47c
[mmp] Move several static Driver properties to be instance properties on the Application instance. (#8588)
* [mmp] Put the custom bundle name in the App instance.

* [mmp] Put the AOT options in the App instance.

* [mmp] Put the DisableLldbAttach and DisableOmitFramePointer options in the App instance.

* [mmp] Remove Driver.Registrar and use App.Registrar instead.
2020-05-13 15:35:20 +02:00
Manuel de la Pena 1e78ea4d07
[Devops] Do link xcode to the expected path. (#8586) 2020-05-13 09:18:29 -04:00
Rolf Bjarne Kvinge 3e1862ada9
[mtouch/mmp] Make --setenv available to mmp as well. (#8572)
The actual implementation will be added in a later PR, when the code to
generate main is unified between mtouch and mmp.
2020-05-13 08:50:20 +02:00
Rolf Bjarne Kvinge df2b5363b9
[mtouch] Validate the abi earlier. Fixes #xamarin/maccore@2222. (#8571)
This fixes this mtouch unit test:

    Xamarin.MTouch.Architectures_TVOS_Invalid : The error 'MT0075' was not found in the output.

because now we show MT0075 ("Invalid architecture 'ARMv7' for TVOS projects.")
as expected instead of failing to locate the 32-bit platform directory for
tvOS (which doesn't exist).

Fixes https://github.com/xamarin/maccore/issues/2222.
2020-05-13 08:41:59 +02:00
Rolf Bjarne Kvinge a4910bb0fa
[mtouch/mmp] Share --package-debug-symbols. (#8574) 2020-05-13 08:40:07 +02:00
Manuel de la Pena 9f380e257e
[Devops] Move to use provisionator to get xcode. (#8570)
Move to use the provisionator and add a make file to generat the script
so that we only have to bump xcode in a single place.

Move all deps to provisionator and make provisionator download and
install the xi pkg that has been built to be tested in the pipeline, we
do not longer use curl to do it.
2020-05-12 10:59:53 -04:00
Rolf Bjarne Kvinge 570f5ad8a3
[mtouch/mmp] Rework the project files. (#8575)
* Files outside the project directory now show up with a much more logical
  name in the IDE. External files have a link target which is relative to the
  root xamarin-macios directory, and files included from the mono archive show
  up as such as well.
* Rename a few mtouch/mmp-specific files to contain 'mtouch' or 'mmp' in the
  filename, to avoid having multiple files in the projects with the same name
  (it's confusing every time you search for a filename in the IDE and get
  multiple filenames where only the directory is different).
* Add a tools.sln that contains only the mtouch and mmp projects. This makes
  it easier to work with both mtouch and mmp and the same time, while not
  making VSfM unbearably slow by loading many projects in the same solution.
2020-05-12 16:37:43 +02:00
Rolf Bjarne Kvinge 3ce9ac43d8
[mtouch/mmp] Share the mono native code. (#8564)
Also move the mono native code to the Application class from the Target
class, since it's per-Application, not per-Target.
2020-05-12 12:10:50 +02:00
Rolf Bjarne Kvinge 5193dfbf9a
[mtouch/mmp] Share --debugtrack code. (#8565) 2020-05-12 09:20:53 +02:00
Rolf Bjarne Kvinge 3d2981c130
[mtouch/mmp] Share Application.MonoGCParams. (#8566) 2020-05-12 09:20:20 +02:00
Sebastien Pouliot 6c3669f196
[mtouch] Add -d:DEBUG to .csproj Debug configuration (#8567)
otherwise debug won't work and you'll get a weird error

```
Using Xcode 11.4 (11E146) found in /Applications/Xcode114.app/Contents/Developer
Xamarin.iOS 13.21.0.154 (master): 296eabd9a using framework: /Applications/Xcode114.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.4.sdk
A full rebuild will be performed because the cache is either incomplete or entirely missing.
A full rebuild has been forced because the cache for linker is not valid.
error MT2006: Can not load mscorlib.dll from: '/Users/poupou/git/master/xamarin-macios/tools/mtouch/lib/mono/Xamarin.iOS/mscorlib.dll'. Please reinstall Xamarin.iOS.

  at Xamarin.Bundler.Target.Initialize (System.Boolean show_warnings) [0x0002c] in /Users/poupou/git/master/xamarin-macios/tools/mtouch/Target.cs:275
  at Xamarin.Bundler.Application.Initialize () [0x007c2] in /Users/poupou/git/master/xamarin-macios/tools/mtouch/Application.cs:1104
  at Xamarin.Bundler.Application.BuildInitialize () [0x00008] in /Users/poupou/git/master/xamarin-macios/tools/mtouch/Application.cs:684
  at Xamarin.Bundler.Application+<>c.<BuildAll>b__135_0 (Xamarin.Bundler.Application v) [0x00000] in /Users/poupou/git/master/xamarin-macios/tools/mtouch/Application.cs:638
  at System.Collections.Generic.List`1[T].ForEach (System.Action`1[T] action) [0x0001e] in /Users/builder/jenkins/workspace/build-package-osx-mono/2020-02/external/bockbuild/builds/mono-x64/external/corefx/src/Common/src/CoreLib/System/Collections/Generic/List.cs:578
  at Xamarin.Bundler.Application.BuildAll () [0x00023] in /Users/poupou/git/master/xamarin-macios/tools/mtouch/Application.cs:638
  at Xamarin.Bundler.Driver.Main2 (System.String[] args) [0x0041c] in /Users/poupou/git/master/xamarin-macios/tools/mtouch/mtouch.cs:1154
  at Xamarin.Bundler.Driver.Main (System.String[] args) [0x00015] in /Users/poupou/git/master/xamarin-macios/tools/common/Driver.cs:35
```
2020-05-11 19:40:44 -04:00
Sebastien Pouliot 1d45792e5b
[linker] Remove internal [NullablePublicOnly] attribute from apps (#8568)
I've only seen it with .net5 so far but it's better handled in master
and flow back into the branch
2020-05-11 19:39:43 -04:00
Rolf Bjarne Kvinge ea25433d75
[mtouch/mmp] Share EnableProfiling. (#8563) 2020-05-11 16:42:21 +02:00
Rolf Bjarne Kvinge b18466f7f2
[mtouch/mmp] Share Abi code. (#8562) 2020-05-11 16:27:19 +02:00
Sebastien Pouliot 3c263b0527
[linker] Fix RemoveAttributes pre-check (#8554)
The current check made the elimination of `[System.CLSCompliant]`
impossible.
2020-05-11 08:40:48 -04:00
Rolf Bjarne Kvinge e9cd70e085
[mtouch] Fix path to simlauncher.mm in project file. (#8561) 2020-05-11 14:27:48 +02:00
Rolf Bjarne Kvinge 44653d7553
[mtouch/mmp] Share the RegistrarMode enum. (#8553) 2020-05-11 08:57:41 +02:00
Rolf Bjarne Kvinge 2926083d20
[runtime/mmp] Put libxammac and xamarin headers for Xamarin.Mac in the same directory as the corresponding files for Xamarin.iOS. (#8542)
That's in /Library/Frameworks/Xamarin.Mac.framework/Versions/Current/SDKs/Xamarin.macOS.sdk/[lib|include]

This allows for a bit more code share between mtouch and mmp.
2020-05-08 13:04:32 +02:00
Rolf Bjarne Kvinge f53fd82291
[mtouch] Introduce helper function for getting the architecture-specific directory where the platform assembly is. (#8537)
This removes a little bit of duplicated code.
2020-05-08 09:17:55 +02:00
Rolf Bjarne Kvinge 0e03a929e4
Merge pull request #8541 from rolfbjarne/linker-no-constructor
[linker] Don't pass information to linker steps by selectively creating them or using constructors.

Instead use the built-in logic to determine if a linker step should light up,
and use information available in the LinkContext to determine how steps should
behave.

This is required for .NET, where linker steps can't have custom constructors.

Several steps have not been modified, because they're not all required in .NET.
2020-05-07 18:18:57 +02:00
Rolf Bjarne Kvinge 0511006ec2
[mtouch/mmp] Introduce more specific helper functions for locating libxamarin*.dylib and Xamarin*.framework. (#8538)
This allows a little bit more sharing between mmp and mtouch.
2020-05-07 16:20:07 +02:00
Rolf Bjarne Kvinge d884c2a2c7 [linker] We don't need to pass the linker options to create sub steps anymore. 2020-05-07 15:51:47 +02:00
Rolf Bjarne Kvinge 17ac227fb3 [linker] Stop passing data to the OptimizeGeneratedCode steps using a constructor. 2020-05-07 15:51:47 +02:00
Rolf Bjarne Kvinge d5aaa964e1 [linker] Stop passing data to the RemoveUserResources sub step using a constructor. 2020-05-07 15:51:47 +02:00
Rolf Bjarne Kvinge 41abc3af77 [linker] Always create the RemoveCode step, and instead detect if it should be active using the LinkContext field. 2020-05-07 15:51:47 +02:00
Rolf Bjarne Kvinge 196ea91a72 [linker] Always create the CoreRemoveSecurity step, and instead detect if it should be active using the LinkContext field. 2020-05-07 15:51:38 +02:00
Rolf Bjarne Kvinge 1b3cb7747e [linker] Always create the [Core]RemoveAttributes steps, and instead detect if it should be active using the LinkContext field. 2020-05-07 15:51:38 +02:00
Rolf Bjarne Kvinge 0dde91584c [linker] Stop passing data to the CoreHttpMessageHandler step using a constructor. 2020-05-07 15:51:38 +02:00
Rolf Bjarne Kvinge 03c6f8d1cc
[mmp] Remove the Driver.linker_options field, and use BuildTarget.LinkerOptions instead. (#8540)
This will eventually allow for more code sharing between mtouch and mmp.
2020-05-07 15:01:26 +02:00
Rolf Bjarne Kvinge 3ce5b69276
[linker] Remove extranous space in user-visible text. (#8539) 2020-05-07 15:00:53 +02:00
Rolf Bjarne Kvinge 48b7ef4696
[mtouch/mmp] Pass the path to mscorlib explicitly to the partial static registrar code instead of relying on resolving it successfully. (#8525)
This makes the code simpler when we have to add support for .NET.

This requires modifying the linker to accept a null FrameworkDirectory.
2020-05-07 08:37:17 +02:00
Sebastien Pouliot 61580b15af
[linker] Update custom attributes that can be removed (#8535)
Some are no longer part of the SDK (or converted into new ones
at build time), others were new (and missing).

A full list of attributes and their usage frequency in what we ship can
be seen in https://gist.github.com/spouliot/ca03c6da7d4d75670ca77749350eb8a2

Also update tests: no need to check for removals of stuff that does not
exists anymore.
2020-05-06 20:44:52 -04:00
Sebastien Pouliot 73da7658dc
[linker] Directly use Annotations in BaseStep subclasses (#8530)
It's exposed directly in `BaseStep` and makes porting code easier to net5
2020-05-06 20:43:16 -04:00
Sebastien Pouliot b462447053
[mtouch] Fix debug with profiler on app extensions (#8505)
Always add `libmono-profiler-log.dylib` if profiling is enabled and we
are building with dynamic libraries. The profiler code is not (meant to
be) shipped so it can be added even without a `Frameworks` directory.

This fix debugging too (if profiler is enabled) since the library was
linked (even if it was not included).

Fix https://github.com/xamarin/xamarin-macios/issues/8470

Co-authored-by: Sebastien Pouliot <sebastien.pouliot@microsoft.com>
2020-05-06 17:34:44 -04:00
Rolf Bjarne Kvinge 296eabd9ac
[mmp] Always pass --nolink when generating the partial static registrar code. (#8524)
The fact that the mobile profile allows linking doesn't mean it should be done
(it doesn't actually link because we run the registrar before linking happens,
but this way the code is less confusing and there are no unnecessary
differences between full and mobile).
2020-05-06 16:43:55 +02:00
Rolf Bjarne Kvinge 7b927aa558
[linker] Remove unused LinkerOptions.IsDualBuild field. (#8522) 2020-05-06 14:11:08 +02:00
Rolf Bjarne Kvinge d574250a27
Remove XAMARIN_APPLETLS, it seems like it's always defined, which means it's not needed. (#8523)
Also remove outdated comment about Xamarin.Mac/Classic, since XM/Classic is dead.
2020-05-06 14:11:02 +02:00
Rolf Bjarne Kvinge a1c8b59e8a
[mmp] No need to pass --xamarin-full-framework when generating the partial static registrar code. (#8520)
It's already implied with the --framework argument.
2020-05-06 14:10:31 +02:00
Rolf Bjarne Kvinge f7bc4e2364
[mtouch] Generate partial static registrar code for arm64_32 as well. (#8521) 2020-05-06 14:10:12 +02:00
Rolf Bjarne Kvinge 70cfbca868
[mtouch] Rework makefile logic to use a template to minimize code duplication. (#8518)
This becomes more important with .NET, when we'll have twice as many files to generate and compile.
2020-05-06 09:25:30 +02:00
Rolf Bjarne Kvinge 352dc6b796
[mmp] Simplify partial static registrar generation command a little bit. (#8516) 2020-05-06 09:24:47 +02:00
Rolf Bjarne Kvinge cf2b43ef5d
[mmp] Use our explicit clang execution instead of using xcrun. (#8517)
This way we use the Xcode.app we've configured in Make.config.
2020-05-06 09:15:46 +02:00
Rolf Bjarne Kvinge c81f254a28
[mtouch/mmp] Share Driver.GetFrameworks. (#8511) 2020-05-05 16:52:56 +02:00
Rolf Bjarne Kvinge 6f5299fe3d
[mtouch/mmp] Remove IStaticRegistrar, it's no longer needed. (#8512)
It was created to support Xamarin.Mac/Classic, but that's not supported
anymore, so we can just remove this interface.
2020-05-05 16:50:28 +02:00
Rolf Bjarne Kvinge 83e77173dc
[mtouch] Detect the right build target for the partial static registrar. (#8508) 2020-05-05 15:35:35 +02:00
Rolf Bjarne Kvinge acfb101a78
[mtouch/mmp] Share the Application.References field. (#8507) 2020-05-05 15:35:02 +02:00
Rolf Bjarne Kvinge fc990997b4
[mmp] Use absolute paths when generating the partial static registrar code. (#8509)
Makes it easier to c&p commands and execute them elsewhere.
2020-05-05 15:31:17 +02:00
Rolf Bjarne Kvinge 5e398e0f02
[mmp] No need to lipo a single executable file. (#8510)
Just copy it instead.
2020-05-05 15:31:06 +02:00
Sebastien Pouliot e45278259b
[linker] Remove now unneeded code from PreserveCode (#8504)
`monotouch-glue.m` was replaced a while ago and the new code does not
need `Class.LookupFullName` to be preserved in debug builds.

Also `PreserveType` was unused code (left from even older times?)
2020-05-05 09:27:26 -04:00
Rolf Bjarne Kvinge f8be1a8802
Merge pull request #8463 from rolfbjarne/remove-objectwrapper
Remove the ObjectWrapper class
2020-05-05 08:44:55 +02:00
Sebastien Pouliot 6f50b8f5e9 [mtouch] Fix debug with profiler on app extensions
Always add `libmono-profiler-log.dylib` if profiling is enabled and we
are building with dynamic libraries. The profiler code is not (meant to
be) shipped so it can be added even without a `Frameworks` directory.

This fix debugging too (if profiler is enabled) since the library was
linked (even if it was not included).

Fix https://github.com/xamarin/xamarin-macios/issues/8470
2020-05-04 16:56:33 -04:00
Rolf Bjarne Kvinge 7501991f08
[mtouch/mmp] When copying a directory hierarchy, delete the target file if it exists. (#8485)
The copyfile method does not like copying files over an existing file, and
sometimes it may end up showing an error.
2020-05-04 18:32:26 +02:00
Rolf Bjarne Kvinge 6a407b7989
[linker] Make the corlib name dynamic. (#8499)
Use the correct corlib name depending on whether we're targeting .NET or Mono,
since there's no mscorlib.dll anymore in .NET.
2020-05-04 18:31:48 +02:00
Rolf Bjarne Kvinge 632fd10328 Convert Runtime.GetBlockWrapperCreator, Runtime.CreateBlockProxy and Runtime.Get[Generic]MethodFromToken to use GCHandle.
The native methods xamarin_get_[generic_]method_from_token are a bit unusual
in that they return an actual GCHandle. This is for performance reasons, since
in some cases their return value is passed as parameters to other function
calls to managed code, in which case we need the GCHandle. This way we avoid
round-tripping a GCHandle multiple times.
2020-05-04 11:31:19 +02:00
Rolf Bjarne Kvinge aca2a1a257
[devops] Use a more restricted glob to find directories with sample data in. Fixes xamarin/maccore#2202. (#8465)
The previous pattern would match the output files we created from processing
these directories, and somehow the pattern would match such a file (even
though the pattern should only be executed before doing any processing, when
those files don't exist yet, so I don't know exactly why this is happening),
leading us to try to process those files as if they were directories with
sample data in, with the predictable (disastrous) result.

Fixes https://github.com/xamarin/maccore/issues/2202.
2020-04-29 17:35:23 +02:00
Rolf Bjarne Kvinge 7e18b592ca
[master] [devops] Use a more restricted glob to find directories with sample data in. Fixes xamarin/maccore#2202. (#8466)
The previous pattern would match the output files we created from processing
these directories, and somehow the pattern would match such a file (even
though the pattern should only be executed before doing any processing, when
those files don't exist yet, so I don't know exactly why this is happening),
leading us to try to process those files as if they were directories with
sample data in, with the predictable (disastrous) result.

Fixes https://github.com/xamarin/maccore/issues/2202.
2020-04-29 17:34:31 +02:00
Rolf Bjarne Kvinge d73c21d43e
[mmp] Don't re-compute (possibly incorrectly) the system framework directories to find assemblies in. (#8454) 2020-04-27 08:34:37 +02:00
Rolf Bjarne Kvinge e631a55787
[mtouch] Fix typo in simlauncher.mm. (#8455) 2020-04-27 08:34:24 +02:00
Manuel de la Pena 40761ccb36
[Devops] If we fail to provision dependencies skip certain tasks. (#8423)
xamarin-storage can not be reachable or a network issue might happen
when we try to provision the dependencies. In that case, skip those
tasks that are skipped when we cannot provision the certs.

The provisioning dependencies will only execute in the provisioning
profiles was successful, therefore, the if statement is not stepping in
any value that was set by the profiles step.
2020-04-23 10:10:34 -04:00
Manuel de la Pena 337f3efac4
[Devops] Add timeouts to the steps. (#8436)
Add timeouts to the steps to catch possible issues when a step takes
longer than expected. Numbers have been taken from common runs and
rounded up a little to have some buffer.
2020-04-20 19:06:02 -04:00
monojenkins 725aedec3d
[mtouch] Always enable experimental-xforms-product-type (#8427)
Not an experiment anymore - it works as expected.

This half-remove the optimization option (it must remain there to avoid
breaking all projects that have it defined) but it will always be `true`
so `Xamarin.Forms.Platform.iOS.dll` will **always** be considered as SDK
code by the linker.

Fix https://github.com/xamarin/xamarin-macios/issues/8407
2020-04-18 10:47:01 -04:00
Sebastien Pouliot c8a8fb3156
[mtouch] Always enable experimental-xforms-product-type (#8425)
Not an experiment anymore - it works as expected.

This half-remove the optimization option (it must remain there to avoid
breaking all projects that have it defined) but it will always be `true`
so `Xamarin.Forms.Platform.iOS.dll` will **always** be considered as SDK
code by the linker.

Fix https://github.com/xamarin/xamarin-macios/issues/8407
2020-04-17 17:18:20 -04:00
Rolf Bjarne Kvinge 1de5368593
[mtouch/mmp] Simplify namespace handling now that we don't support Classic anymore. (#8410)
Also consolidate and sort the list of namespaces.
2020-04-17 12:26:38 +02:00
Rolf Bjarne Kvinge 28eddda439
Extract the ApplePlatform and LinkMode enums into their own files. (#8411) 2020-04-17 09:45:18 +02:00
Rolf Bjarne Kvinge 02481c1525
[mmp] Handle not being able to resolve an assembly gracefully. Fixes #8399. (#8406)
Fixes https://github.com/xamarin/xamarin-macios/issues/8399.
2020-04-16 16:24:57 +02:00
monojenkins 53694fabbd
[mmp] Fix PostLinkScanTypeReferenceStep from running two times (#8405)
This came with the merge from xcode11.4 into master. Thankfully there
were unit tests to caught it, because Eyeballs Mark I did not.

Fix https://github.com/xamarin/xamarin-macios/issues/8400
2020-04-16 09:22:18 -04:00
Rolf Bjarne Kvinge e4f8460277
[mmp/mtouch] Share more code. (#8394)
* Rearrange files in Xamarin.Mac a bit to ease code sharing between mmp and
  mtouch, by putting mono's static and dynamic libraries in
  /Library/Frameworks/Xamarin.Mac.framework/Versions/Current/Sdks/Xamarin.macOS.sdk
  to match how Xamarin.iOS does it.

* Don't use 'usr' as an intermediate directory. This removes another special
  case.

* Share many of the functions and properties that return specific directories,
  and document (as comments) what each function/property is supposed to
  return.
2020-04-16 14:19:45 +02:00
Rolf Bjarne Kvinge 8feb3c29e6
[mtouch] Handle a failure to launch the native linker better by showing better error messages. (#8391)
* [mtouch] Handle a failure to launch the native linker better by showing better error messages.

dotnet will throw a Win32Exception if the command line is too long, so handle
that scenario. Also handle any other Win32Exceptions and show a better error
message.

* Make MT5217 an error to avoid multiple potentially confusing errors.
2020-04-16 14:18:43 +02:00
Sebastien Pouliot 1a8f0e6811
[mmp] Fix PostLinkScanTypeReferenceStep from running two times (#8402)
This came with the merge from xcode11.4 into master. Thankfully there
were unit tests to caught it, because Eyeballs Mark I did not.

Fix https://github.com/xamarin/xamarin-macios/issues/8400
2020-04-15 20:33:29 -04:00
Rolf Bjarne Kvinge 511124f4b1
[mmp] Explicitly resolve assemblies from the GAC / system mono. (#8377)
Cecil has a fall-back mode where it looks in the GAC / system mono for
assemblies when failing to find them elsewhere. This is not the expected
behavior when using Xamarin.Mac in the Full/XM mode, because then we should
only resolve to assemblies shipped with Xamarin.Mac.

Unfortunately doing so will break apps (our own tests break), so instead
change our resolution to be explicit about where we find assemblies, and if we
find assemblies in the GAC / system mono when we're not supposed to, then show
a warning.

Also add a fall-back mechanism, where we use the old logic instead, in case
the new logic is not 100% compatible with the old one.

This showed up when I tried to port mmp to dotnet, because then Cecil stopped
looking in the GAC / system mono for assemblies (Cecil has a special case when
running on Mono to look in Mono's GAC), and tests started failing.
2020-04-14 16:32:42 +02:00
Rolf Bjarne Kvinge 794fd9983d
[mmp] Make the system mono location customizable. Fixes #7923. (#8369)
This also makes things a bit easier with regards to the .NET 5 work.

Fixes https://github.com/xamarin/xamarin-macios/issues/7923.
2020-04-14 09:09:55 +02:00
Rolf Bjarne Kvinge f3ee011797
[xharness] Automatically generate xharness make dependencies. (#8324) 2020-04-13 09:26:55 +02:00
monojenkins 2ff994455d
[linker] Fix infinite queue found with nullability PR (#8340)
and removed previous workaround

Replace previous attempt https://github.com/xamarin/xamarin-macios/pull/8336
2020-04-10 15:44:06 -04:00
Sebastien Pouliot 15938de198
[generator] Add C#8 nullability into generated code (#7570) (#8333)
Goals
* Reflect Apple nullability annotations in our bindings using C#8
* No warnings when building bindings

Non-Goals
* Update (add or fix) `[NullAllowed]` to match Apple headers (next phase)
* Make the generator or internal code fully nullable aware (`nowarn` is used)

Notes
* Apple's own annotations are not 100% accurate :(
* Where known issue exists we have _fixed_ our attributes to match reality :)
* We also do additional null-checks internally that might seems not required (better safe than sorry).
2020-04-10 12:38:14 -04:00
Sebastien Pouliot 48b813e8a3
[linker] Fix infinite queue found with nullability PR (#8337)
and removed previous workaround

Replace previous attempt https://github.com/xamarin/xamarin-macios/pull/8336
2020-04-10 10:59:01 -04:00
Sebastien Pouliot a5ac0ea102
[generator] Add C#8 nullability into generated code (#7570)
Goals
* Reflect Apple nullability annotations in our bindings using C#8
* No warnings when building bindings

Non-Goals
* Update (add or fix) `[NullAllowed]` to match Apple headers (next phase)
* Make the generator or internal code fully nullable aware (`nowarn` is used)

Notes
* Apple's own annotations are not 100% accurate :(
* Where known issue exists we have _fixed_ our attributes to match reality :)
* We also do additional null-checks internally that might seems not required (better safe than sorry).
2020-04-09 09:29:28 -04:00
Rolf Bjarne Kvinge 4b917ad2de
Create a general rule to create makefile fragments for project files. (#8320)
The generator project file still needs some custom logic, because we can't put
the generated makefile fragment next to the csproj (that would break the
API/generator diff).
2020-04-08 16:59:17 +02:00
Rolf Bjarne Kvinge 8e0a6d5319
[mmp] Remove unused files. (#8310) 2020-04-08 16:20:10 +02:00
Rolf Bjarne Kvinge c0abd628d3
[mtouch/mmp] Use the standard DEBUG define to determine when we're running from inside an IDE. (#8311)
We're using the Release configuration to build the mtouch and mmp binaries
that we ship, which means that we can use the Debug configuration for
debugging from an IDE, and use the standard conditional compilation symbols to
identify that case.
2020-04-08 16:20:04 +02:00
Rolf Bjarne Kvinge d3674f7efc
[mmp] Move tools/mmp/tests to tests/mmp-aot-tests. (#8317)
This is to avoid having projects within other projects' directories, which
ends up being cumbersome in .NET 5 due to default inclusion behavior.
2020-04-08 16:19:39 +02:00
Rolf Bjarne Kvinge 3d7a38e464
[mtouch/mmp] Use a single SdkVersions.cs in tools/common. (#8318)
No need to have two identical files around.
2020-04-08 16:19:34 +02:00
Rolf Bjarne Kvinge 0299a66604
[mtouch/mmp] Simplify makefile a bit. (#8319) 2020-04-08 16:19:19 +02:00
Rolf Bjarne Kvinge f69ef4f696
Setting an environment variable to null doesn't work in .netcore. (#8316)
There is a difference between mono and .netcore with regards to environment
variables when launching processes.

For the following example:

    process.StartInfo.EnvironmentVariables ["FOO"] = null;

.netcore will launch the process with an empty FOO variable, while mono will
launch the process with no FOO variable set.

So unstead remove the variable from the collection of environment variables
(this works fine even if the collection doesn't contain the variable).

Ref: https://github.com/dotnet/runtime/issues/34446
2020-04-08 16:19:08 +02:00
monojenkins fb5c5187a2
[linker] Remove nullability attributes than are not used at runtime (#8303) 2020-04-07 13:44:10 -04:00
Sebastien Pouliot b279401727
[linker] Remove nullability attributes than are not used at runtime (#8301) 2020-04-07 11:00:15 -04:00
Alex Soto 5aa2b1c34f
Update azure-pipelines.yml 2020-04-02 22:20:01 -04:00
Vincent Dondain dd9b320704
[devops] Fix provision-xcode unhandled exception (#8253)
In cases where a `Make.config` doesn't exist, there's an unhandled exception and the user friendly one cannot be reached.

Arguably, an edge case not applicable to xamarin-macios I discovered when using that code in an other context (where obviously I don't have a Make.config :P). Still this is making the code more robust (;
2020-04-01 10:30:02 -04:00
Rolf Bjarne Kvinge 862d200a18
[mtouch] Fix filename casing for Errors.resx. (#8247)
So that the name on disk matches the casing in the csproj.
2020-03-31 17:53:12 +02:00