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

5685 Коммитов

Автор SHA1 Сообщение Дата
Rolf Bjarne Kvinge afbd3336ba
[tests] Ignore the CustomizedCodeSigning test when the selected platform isn't enabled. (#16101) 2022-09-23 20:55:53 +02:00
Rolf Bjarne Kvinge b82b1685a7
Use Environment.SpecialFolder.UserProfile, not SpecialFolder.Personal. (#16017)
Context: dotnet/runtime#68610
Context: https://github.com/xamarin/xamarin-android-tools/commit/0be567a9

In Mono and .NET prior to .NET 8, the
[`System.Environment.SpecialFolder`][0]`.Personal` enum value would refer to
`$HOME` on Unix platforms.

This will be changing in .NET 8, such that
`Environment.SpecialFolder.Personal` will instead refer to
`$XDG_DOCUMENTS_DIR` (if set) or `$HOME/Documents`.  This is for "semantic
compatibility" with .NET on Windows.

Replace usage of `Environment.SpecialFolder.Personal` with
`Environment.SpecialFolder.UserProfile`, so that our code continues to work as
expected under .NET 8.

[0]: https://docs.microsoft.com/en-us/dotnet/api/system.environment.specialfolder?view=net-6.0
2022-09-23 16:29:19 +02:00
Rolf Bjarne Kvinge 5837d5a1e0
[tests] Update tests to cope with a different default platform than the latest version. (#16063) 2022-09-23 14:08:40 +02:00
Rolf Bjarne Kvinge f592de721d
[tests/xharness] Skip legacy tests if legacy isn't enabled. (#16073) 2022-09-23 13:54:26 +02:00
Rolf Bjarne Kvinge 8e92e9e5c5
[tests] Ignore tests that require platforms not included in the current build. (#16000) 2022-09-22 07:33:42 +02:00
VS MobileTools Engineering Service 2 abae256b40
[main] [mtouch] Automatically disable bitcode if using Xcode 14+. Fixes #15210. (#16054)
Apple has deprecated bitcode, and will apparently reject app submissions
containing bitcode starting with Xcode 14. So automatically disable bitcode if
building using Xcode 14+ (and show a warning so that app developers can remove
the 'MtouchEnableBitcode' property from their project files).

Fixes https://github.com/xamarin/xamarin-macios/issues/15210.

Backport of #15804

Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2022-09-22 07:32:33 +02:00
Rolf Bjarne Kvinge 421dad0fed
[tests] Don't package/execute legacy mac tests if legacy hasn't been enabled. (#16051) 2022-09-22 07:13:24 +02:00
Haritha Mohan a9c8efa893
[UIKit] Add Constructor for UIHoverGestureRecognizer (#15837)
Fixes #15335

Co-authored-by: Manuel de la Pena <mandel@microsoft.com>
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2022-09-21 12:54:10 -07:00
Rolf Bjarne Kvinge 6e49a6748a
[xharness] Find a different mlaunch if legacy Xamarin is disabled. (#15996) 2022-09-21 14:27:10 +02:00
Rolf Bjarne Kvinge a2f52c77da
[tests] Ignore msbuild tests that require legacy Xamarin when legacy Xamarin is not enabled. (#16019) 2022-09-21 12:13:59 +02:00
Rolf Bjarne Kvinge 52a332cb9b
[dotnet/msbuild] Add support for skipping/adding items (and bundles) to be signed. Fixes #15594. (#15894)
Add support for two new MSBuild item groups:

* CodesignBundle: lists additional app bundles inside the main bundle which should
  be signed (typically manually copied into the app bundle by the developer).
* SkipCodesignItems: lists files we'd sign by default, but which shouldn't be signed.

Fixes https://github.com/xamarin/xamarin-macios/issues/15594.
2022-09-21 11:38:03 +02:00
Steve Hawley ea3f7d28dc
[.NET] added cecil tests for generic pinvokes and generic delegates. Fix for #11771 (#15974) 2022-09-20 10:23:53 -04:00
dotnet-maestro[bot] 249f470e57
[main] Update dependencies from dotnet/runtime (#15886)
This pull request updates the following dependencies

## From https://github.com/dotnet/runtime
- **Subscription**: 0f76eea3-d4b0-4229-e732-08d9ecb01c9c
- **Build**: 20220916.13
- **Date Produced**: September 17, 2022 2:53:53 AM UTC
- **Commit**: cdf48abd370f148a537960141f73769e678660e7
- **Branch**: refs/heads/release/6.0

- **Updates**:
  - **Microsoft.NETCore.App.Ref**: [from 6.0.9 to 6.0.10][15]
- **Microsoft.NET.Workload.Emscripten.Manifest-6.0.100**: [from 6.0.9 to
6.0.10][16]

[15]: 531f715...cdf48ab
[16]: 3f6c45a...c3fc739

## Coherency Updates

The following updates ensure that dependencies with a
*CoherentParentDependency*
attribute were produced in a build used as input to the parent
dependency's build.
See [Dependency Description
Format](https://github.com/dotnet/arcade/blob/master/Documentation/DependencyDescriptionFormat.md#dependency-description-overview)

- **Coherency Updates**:
- **Microsoft.NET.Workload.Emscripten.Manifest-6.0.100**: from 6.0.9 to
6.0.10 (parent: Microsoft.NETCore.App.Ref)

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2022-09-20 13:44:06 +02:00
Rolf Bjarne Kvinge a020f09979
[tests] Update the cecil tests to run on .NET assemblies. (#15969)
And not legacy assemblies if the legacy build is disabled.
2022-09-19 11:52:23 +02:00
Rolf Bjarne Kvinge 9e04da9006
[xharness] Fix typo in method name. (#15968) 2022-09-19 11:51:05 +02:00
Rolf Bjarne Kvinge f9c5070c0e
[tests] Remove unused/dead code. (#15967) 2022-09-16 18:37:55 +02:00
Rolf Bjarne Kvinge 4643e42b7d
[tests] Introspection does not use simlauncher64-sgen.framework in .NET. (#15966) 2022-09-16 18:37:34 +02:00
Rolf Bjarne Kvinge 57ee60106b
[tests] We do not need qa-dependencies.zip anymore. (#15964)
This was used in the old Xamarin days.
2022-09-16 18:36:51 +02:00
Chris Hamons efa2935a9d
[foundation] Add lowPowerModeEnabled to macOS (#15940)
- Fixes https://github.com/xamarin/xamarin-macios/issues/15932
2022-09-16 10:37:17 -05:00
Rolf Bjarne Kvinge 40199966b6
[msbuild] Automatically add the 'com.apple.security.cs.allow-jit' entitlement for desktop release builds. Fixes #15745. (#15927)
* Add support for specifying custom entitlements with an MSBuild item group.
* Use this new support to automatically add the 'com.apple.security.cs.allow-jit'
  entitlement to .NET desktop apps when building for release, since all apps that
  go through notarization will need it in order to be able to use the JIT.

It's possible to override the default behavior by adding something like this to the project file:

    <ItemGroup>
        <CustomEntitlements Include="com.apple.security.cs.allow-jit" Type="Remove" />
    </ItemGroup>

Fixes https://github.com/xamarin/xamarin-macios/issues/15745.
2022-09-13 17:41:22 +02:00
Rolf Bjarne Kvinge 7df80a40da
[msbuild] Remove MS7068 so allow creating binding projects without native libraries. Fixes #15489. (#15926)
Fixes https://github.com/xamarin/xamarin-macios/issues/15489.
2022-09-13 17:40:43 +02:00
Rolf Bjarne Kvinge 594e88bfca
[tests] Adjust test for tvOS and watchOS. (#15939)
Probably regressed after 61e8ce443f.

Fixes https://github.com/xamarin/maccore/issues/2618.
2022-09-13 16:06:10 +02:00
Rolf Bjarne Kvinge d769fa99cc
[msbuild] Only require a provisioning profile if we have non-empty entitlements. (#15918)
This is the behavior in legacy Xamarin (for mobile projects): if a project
contains a CodesignEntitlements=Entitlements.plist property, we require a
provisioning profile (and failing the build if none is found).

In .NET, the expected behavior is that if a file is in the project directory,
it should be detected automatically and handled accordingly. We didn't do this
for the initial release of .NET, but we implemented it later
(https://github.com/xamarin/xamarin-macios/pull/15729).

However, this turned out to be complicated, because many templates provide an
Entitlements.plist file, and now suddenly just the presence of such a file
would require a provisioning profile, which also means setting up the whole
rigmarole of Apple's certificates and provisioning profiles (and even
potentially getting a paid Apple Developer account).

This usually worked well in legacy Xamarin, because in templates only the
Release configuration would set the CodesignEntitlements=Entitlements.plist
property, and thus we'd only require a provisioning profile for release builds
(and the Entitlements.plist file would be ignored for Debug builds).

Here we change the default behavior when building for .NET so that we only
require a provisioning profile if the Entitlements.plist file is empty (i.e.
doesn't request any entitlements).

I've also implemented an override, where setting the
CodesignRequireProvisioningProfile=true property will override our default
logic.

Fixes https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1613459.
2022-09-13 10:51:41 +02:00
Rolf Bjarne Kvinge 0d444c3d96
[tests] Remove unused file. (#15936)
The mini tests were removed [eons][1] ago, so remove the remaining file as well.

[1]: c4a89496fc
2022-09-13 08:50:59 +02:00
Rolf Bjarne Kvinge c63f238d84
[msbuild] Put all the MSBuild tests in the same namespace. (#15919)
I always have to look through all the namespaces to figure out where a
specific test is, so this simplifies things a bit.

It's also where the tasks themselves are headed at some point.
2022-09-12 11:34:45 +02:00
Rolf Bjarne Kvinge e84cca8cb6
[dotnet] Add binding templates for tvOS and macOS. Fixes #15839. (#15921)
Fixes https://github.com/xamarin/xamarin-macios/issues/15839.
2022-09-12 10:21:47 +02:00
Rolf Bjarne Kvinge 61e8ce443f
[tests] Skip SecRecord tests on macOS 11 (#15825)
It may hang on the bots.
2022-09-09 20:29:37 +02:00
Rolf Bjarne Kvinge aa8ded8e51
[runtime] Store assemblies' MVID in the generated static registrar code. (#15795)
This will increase app size a little bit: the space for the MVID + 4 bytes for each
assembly, but we'll be able to validate and show a helpful error message if the generated
static registrar code does not match the assembly loaded at runtime.

It's also a step toward per-assembly static registration (ref: #12067).
2022-09-08 10:34:05 +02:00
Rolf Bjarne Kvinge c5615ae77c
[CoreCLR] Handle ref/out enum values as parameters. Fixes #15744. (#15870)
CoreCLR complains that enum values aren't blittable when passed to
Marshal.StructureToPtr, so unwrap enum values first.

Fixes https://github.com/xamarin/xamarin-macios/issues/15744.
2022-09-07 12:57:06 +02:00
Rolf Bjarne Kvinge 62bc02760a
[msbuild] Compute _AppContainerDir from AppBundleDir if AppBundleDir is set by the developer. Fixes #15014. (#15869)
Fixes https://github.com/xamarin/xamarin-macios/issues/15014.
2022-09-07 11:33:39 +02:00
Rolf Bjarne Kvinge 2415050767
[dotnet] Fix issue with frameworks with dots. Fixes #15727. (#15872)
Since executables in frameworks usually don't have dots, `%(Filename)` will be
the entire filename, because `%(Extension)` is empty. However, if the
executable happens to have a dot, then we need to include the extension:
`%(Filename)%(Extension)`.

Fixes https://github.com/xamarin/xamarin-macios/issues/15727.
2022-09-07 10:43:33 +02:00
Rolf Bjarne Kvinge 95d728304b
[msbuild] Add additional app extensions to the list of items we need to sign. Fixes #15598. (#15829)
* Add additional app extensions to the list of items we need to sign.
* Improve msbuild test for additional app extensions:
    * Build for both device and simulator.
    * Hopefully fix the signing problems that occurred on the bots last time we tried.
    * Assert that both the container and extension are signed during the build when we build for device.

A 10-line fix with 3300 lines of tests...

Fixes https://github.com/xamarin/xamarin-macios/issues/15598.
2022-09-07 10:39:05 +02:00
Rolf Bjarne Kvinge 4cc0bde648
[tests] Introspection needs more time on older macOS bots. (#15862) 2022-09-06 14:05:11 +02:00
Rolf Bjarne Kvinge d1ef85446d
Misc fixes to make the build more silent. (#15852) 2022-09-05 10:55:41 +02:00
Rolf Bjarne Kvinge 61d5fcd3f8
[tests] Convert spaces to tabs in numerous test projects. (#15855)
This is changing whitespace only: https://github.com/xamarin/xamarin-macios/pull/15855/files?w=1
2022-09-05 10:54:33 +02:00
Rolf Bjarne Kvinge 75112818b6
[runtime] Use a custom native -> managed trampoline for calling NSObject.InvokeConformsToProtocol from the generated static registrar code. (#15830)
This avoids one case where we we embed metadata tokens to a different assembly
in the generated static registrar code.

This is required for supporting per-assembly static registration
(https://github.com/xamarin/xamarin-macios/issues/12067).
2022-09-02 15:54:34 +02:00
Haritha Mohan a2b23186cc
[UIKit] Add Preferred Content Size Wrapper (#15800)
Fixes xamarin/xamarin-macios#15687
Added type safe wrapper for ContentSizeCategory

Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
Co-authored-by: TJ Lambert <50846373+tj-devel709@users.noreply.github.com>
2022-08-31 13:05:51 -07:00
Rolf Bjarne Kvinge c4a34b4451
[tests] Allow setting CONFIG to specify the Configuration to build. (#15793)
Allow setting CONFIG to specify the Configuration to build when building .NET
test apps from the command line.
2022-08-30 09:29:52 +02:00
Rolf Bjarne Kvinge 5e8d70f95e
[tests] Improve detection of bad CI networks. (#15516) 2022-08-29 15:42:40 +02:00
Rolf Bjarne Kvinge 5ca5a963bc
[tests] Improve handling timed out macOS tests. (#15747) 2022-08-29 12:06:25 +02:00
Rolf Bjarne Kvinge b9a60c4d7e
[msbuild] Remove the Xamarin.*.Task.Core assemblies. (#15768)
We used to do the following:

1. Have abstract task classes in the Xamarin.*.Task.Core assembly (with all
   the actual code for the task in question to work properly on macOS).
2. Subclassed task in the Xamarin.*.Task assembly, which did nothing.
3. On Windows we'd inject a different Xamarin.*.Task assembly, with
   Windows-specific overrides for the implementation in the abstract base
   class.

However, we no longer do point 3, which means that we no longer need to split
our tasks across two assemblies.

This means that we can remove the Xamarin.\*.Task.Core assemblies, and move all
the code into the corresponding Xamarin.\*.Task assembly instead.

This simplifies our code and speeds up the build.

There are more simplifications that can be done; those will come in later PRs.
2022-08-29 11:59:28 +02:00
Rolf Bjarne Kvinge a7690ee03b
[tests] Add global imports to the .NET unit tests to simplify code. (#15770) 2022-08-26 13:40:12 +02:00
Rolf Bjarne Kvinge 408cd7ac52
[msbuild] Automatically detect any Entitlements.plist files in the root project in .NET. (#15729)
Also provide a way out by setting EnableDefaultCodesignEntitlements=false.

Fixes https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1595888.
2022-08-26 08:06:48 +02:00
Rolf Bjarne Kvinge 454e19b957
[tests] Ignore any NuGet failures in PackageReferenceTests.SatellitesFromNuget. Fixes #xamarin/maccore@2612. (#15763)
NuGet seems to struggle with the network on the bots for this particular test,
so ignore the test if there are any nuget failures.

Fixes https://github.com/xamarin/maccore/issues/2612.
2022-08-25 16:46:08 +02:00
Rolf Bjarne Kvinge e372914ce0
[tests] Adjust MonoTouchFixtures.SceneKit.Invert to cope with tiny expected differences. (#15750)
This seems to happen on macOS 10.15 only for some reason.
2022-08-25 16:24:30 +02:00
Rolf Bjarne Kvinge afeebed06b
Bump xharness. (#15738)
Bump xharness to get fix for determining whether a test has started or not:
1809c14bb7
2022-08-24 19:12:36 +02:00
dotnet-maestro[bot] 33172248c6
[main] Update dependencies from dotnet/runtime (#15586)
* Update dependencies from https://github.com/dotnet/runtime build 20220727.6

Microsoft.NETCore.App.Ref
 From Version 6.0.8 -> To Version 6.0.8

* Update dependencies from https://github.com/dotnet/runtime build 20220727.6

Microsoft.NETCore.App.Ref
 From Version 6.0.8 -> To Version 6.0.8

* Update dependencies from https://github.com/dotnet/runtime build 20220813.7

Microsoft.NETCore.App.Ref
 From Version 6.0.8 -> To Version 6.0.9

Dependency coherency updates

Microsoft.NET.Workload.Emscripten.Manifest-6.0.100
 From Version 6.0.4 -> To Version 6.0.8 (parent: Microsoft.NETCore.App.Ref

* Update dependencies from https://github.com/dotnet/runtime build 20220815.11

Microsoft.NETCore.App.Ref
 From Version 6.0.8 -> To Version 6.0.9

Dependency coherency updates

Microsoft.NET.Workload.Emscripten.Manifest-6.0.100
 From Version 6.0.4 -> To Version 6.0.9 (parent: Microsoft.NETCore.App.Ref

* Update dependencies from https://github.com/dotnet/runtime build 20220816.8

Microsoft.NETCore.App.Ref
 From Version 6.0.8 -> To Version 6.0.9

Dependency coherency updates

Microsoft.NET.Workload.Emscripten.Manifest-6.0.100
 From Version 6.0.4 -> To Version 6.0.9 (parent: Microsoft.NETCore.App.Ref

* Update dependencies from https://github.com/dotnet/runtime build 20220819.3

Microsoft.NETCore.App.Ref
 From Version 6.0.8 -> To Version 6.0.9

Dependency coherency updates

Microsoft.NET.Workload.Emscripten.Manifest-6.0.100
 From Version 6.0.4 -> To Version 6.0.9 (parent: Microsoft.NETCore.App.Ref

* [tests] Adjust InvalidRuntimeIdentifier_Restore to expect failure for Mac Catalyst.

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2022-08-23 15:03:30 +02:00
Marius Ungureanu 4b86732da5
Nullability annotations on NSUrl (#15356)
Co-authored-by: Manuel de la Pena <mandel@microsoft.com>
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2022-08-19 14:56:55 +02:00
Rolf Bjarne Kvinge 6f2a34c1d7
[tests] Improve output when writing log events in test logs. (#15688) 2022-08-18 17:25:10 +02:00
Rolf Bjarne Kvinge e54019a336
[dotnet] Make it possible to specify the registrar using a 'Registrar' property in MSBuild. (#15483)
Co-authored-by: Marius Ungureanu <therzok@gmail.com>
2022-08-18 17:21:48 +02:00