This pull request updates the following dependencies
## 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.net7.Manifest-7.0.100**: from
7.0.1 to 7.0.1 (parent: Microsoft.NETCore.App.Ref)
## From https://github.com/dotnet/runtime
- **Subscription**: 38d2313f-22d5-4062-c8e1-08dabd6d8c77
- **Build**: 20221118.3
- **Date Produced**: November 18, 2022 9:27:38 PM UTC
- **Commit**: 9bc19b7ab7f6bc01e4dbe1a7220a89f5b67d6228
- **Branch**: refs/heads/release/7.0
- **Updates**:
- **Microsoft.NETCore.App.Ref**: [from 7.0.1 to 7.0.1][5]
- **Microsoft.NET.Workload.Emscripten.net7.Manifest-7.0.100**: [from
7.0.1 to 7.0.1][6]
[5]: 12b1873...9bc19b7
[6]: 3a6c724...73eb134
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Fixes this on the bots when iOS is not enabled even though legacy is:
+ make -C /Users/builder/azdo/_work/1/s/xamarin-macios/tools/mtouch package-introspection-dependencies.zip
make: *** No rule to make target `../../runtime/.libs/iphonesimulator/libxamarin-debug.a', needed by `simlauncher32-sgen'. Stop.
Also add 'run-packaged-macos-tests' to the labels we care about.
This fixes an issue where the label combination
'skip-all-tests,run-packaged-macos-tests' would not run any tests.
Fixes:
[FAIL] Bug12221 : System.AggregateException : One or more errors occurred. (Response status code does not indicate success: 403 (Forbidden).)
----> System.Net.Http.HttpRequestException : Response status code does not indicate success: 403 (Forbidden).
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean )
at System.Threading.Tasks.Task.Wait(Int32 , CancellationToken )
at System.Threading.Tasks.Task.Wait()
at LinkSdk.AsyncTests.Bug12221() in /Users/builder/azdo/_work/1/s/xamarin-macios/tests/linker/ios/link sdk/AsyncTest.cs:line 25
at System.Reflection.MethodInvoker.InterpretedInvoke(Object , Span`1 , BindingFlags )
--HttpRequestException
at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
at System.Net.Http.HttpClient.GetStringAsyncCore(HttpRequestMessage , CancellationToken )
at LinkSdk.AsyncTests.<>c.<<LoadCategories>b__0_0>d.MoveNext() in /Users/builder/azdo/_work/1/s/xamarin-macios/tests/linker/ios/link sdk/AsyncTest.cs:line 16
One important detail is the change from calling 'Wait ()' to calling
'GetAwaiter ().GetResult ()': this is to avoid the AggregateException in the
stack trace above.
Fixes https://github.com/xamarin/maccore/issues/2570.
Fixes:
MonoTouchFixtures.VideoToolbox.VTCompressionSessionTests.TestCallback
[FAIL] TestCallback(True) : timed out
Expected: True
But was: False
at MonoTouchFixtures.VideoToolbox.VTCompressionSessionTests.TestCallback(Boolean stronglyTyped) in /Users/builder/azdo/_work/3/s/xamarin-macios/tests/monotouch-test/VideoToolbox/VTCompressionSessionTests.cs:line 171
[FAIL] TestCallback(False) : timed out
Expected: True
But was: False
at MonoTouchFixtures.VideoToolbox.VTCompressionSessionTests.TestCallback(Boolean stronglyTyped) in /Users/builder/azdo/_work/3/s/xamarin-macios/tests/monotouch-test/VideoToolbox/VTCompressionSessionTests.cs:line 171
at InvokeStub_VTCompressionSessionTests.TestCallback(Object, Object, IntPtr*)
I have been testing these changes inside the xamarin-macios-translations
pipeline.
The last run was green (found
[here](https://devdiv.visualstudio.com/DevDiv/_build/results?buildId=6984912&view=results)).
I had to use some placeholder code for the actual calls for the
OneLocBuild task that will communicate with the Loc Team but it reached
those points as expected!
This PR also rips out calls to the main-stage.yml template to only use
the stages necessary for the OneLocBuild run over the weekend!
I think these changes are set to see if the main branch can trigger the
OneLocBuild Task over the weekend build!
Co-authored-by: TJ Lambert <tjlambert@microsoft.com>
Unify generation/copying of Obsolete attributes from api definitions to generated code.
This reduces code dupliation a bit, but it will also result in more
"[EditorBrowsable (Never)]" attributes (which we weren't generating in a few
cases).
In addition we're now copying Obsolete attributes for smart fields to the
generated code.
Change the static registrar to fail gracefully if it can't compute a metadata token
for a given metadata item, and instead fall back to doing the lookup of whatever
we need at runtime.
This is a step towards making per-assembly static registrar working.
Ref: https://github.com/xamarin/xamarin-macios/issues/12067.
Co-authored-by: GitHub Actions Autoformatter <github-actions-autoformatter@xamarin.com>
Use function pointers to our managed callbacks instead of delegates for the native->managed bridge. This makes execution faster on AOT (because the AOT compiler can just emit the native function address, no need to go through the expensive marshalling machinery).
This involved a few changes to make the managed callbacks only use blittable types in the function signature:
* Use `sbyte` / `int8_t` instead of `bool`.
* Use pointers instead of `out`/`ref` arguments.
* Use `IntPtr` instead of `string` arguments.
The code rarely shows up in timing profiles before the change, and never after. This means that time-wise this doesn't save all that much, because there wasn't much to gain to begin with (but it's still a gain).
Memory-wise, we're now allocation 0,19 MiB less on startup (17,61 MiB vs 17,42 MiB).
The `Delete` task should not need to copy any files to the remote server.
Lets try to set this up by implementing the `ShouldCopyToBuildServer` method.
This should help reduce build times if it works.
Fixes#16377
MSbuild has the ability to run `Target` partially. However in order to make sure we can use this, both the `Inputs` and `Outputs` need to have a 1-1 mapping. MSBuild will then use this mapping to figure out which files have actually changed.
Then it will call the Target with only those files.
In Xamarin.Android we make use of stamp files to provide this 1-1 mapping. We have a `pre` Target which will calculate an ItemGroup which will include a StampFile piece of metadata. We then use this new ItemGroup for both the `Inputs` and `Outputs`, thus meeting the 1-1 requirement.
This PR updates the `_UnpackLibraryResources` to run partially. This will hopefully reduce the build time on incremental builds.
Unify the code for the following functions:
* NSAttributedString.GetData[FromRange]
* NSAttributedString.GetFileWrapper[FromRange]
These functions use 'ref' arguments instead of 'out' arguments for mobile
platforms (likely due to the generator not having proper 'out' parameter
support when these functions were implemented), so improve to use 'out'
parameters in XAMCORE_5_0 (and macOS, where they already use 'out'
parameters).
Also fix nullability.
Ref: https://github.com/xamarin/xamarin-macios/issues/15216
The 'initWithFileURL:options:documentAttributes:error:' was deprecated in iOS
9, and a new alternative (initWithURL:options:documentAttributes:error:) was
added. At the time, we implemented automatic detection of the current OS, and
would choose one version or the other depending on which was available.
We won't support anything below iOS 9 anymore, which means that keeping the
backwards-compatible constructor is useless, so just remove the corresponding
code and expose the new alternative directly.
On another note, this constructor uses a 'ref NSError' argument instead of an
'out NSError' on mobile platforms (likely due to the generator not having
proper 'out' parameter support when this constructor was implemented), so
improve to use 'out' parameters in XAMCORE_5_0 (and macOS, where it already
uses 'out' parameters).
Ref: https://github.com/xamarin/xamarin-macios/issues/15216
I've made some small edits to the ValidateWatchApp method to allow for a native watchOS app that was created in Xcode 14 that uses a single project instead of an extension to be bundled into a Xamarin app.
Should fix#16142 and progress on #10070
Backport of #16690
Co-authored-by: Jack Butler <jbutler@glneurotech.com>
Co-authored-by: GitHub Actions Autoformatter <github-actions-autoformatter@xamarin.com>
A lot of code in our repo uses the presence of the BUILD_REVISION environment
variable to determine whether we're running in CI or not, so just set the
variable globally once so that it's always set - that way we never forget to
set it.
Note that the exact value of the variable doesn't matter, only that it's set.
Also change one place in the yaml that was depending on the contents of the
BUILD_REVISION to use the Azure Devops variable BUILD_SOURCEVERSION instead
(like we do everywhere else in our yaml code).
* Print the load average every 15 minutes. Also print a full process list if
the load average > 10.
* Print a full process list of the system every hour.
* Print a summary to stdout at the end of the test run.
Co-authored-by: GitHub Actions Autoformatter <github-actions-autoformatter@xamarin.com>
Fixes these warnings:
appkit.cs(13128,8): warning CS0108: 'NSResponder.RestoreUserActivityState(NSUserActivity)' hides inherited member 'NSUserActivityRestoring.RestoreUserActivityState(NSUserActivity)'. Use the new keyword if hiding was intended.
appkit.cs(19500,12): warning CS0109: The member 'NSTextView.Editable' does not hide an accessible member. The new keyword is not required.
appkit.cs(19503,12): warning CS0109: The member 'NSTextView.Selectable' does not hide an accessible member. The new keyword is not required.
appkit.cs(27481,14): warning CS0108: 'NSFontAssetRequest.Progress' hides inherited member 'NSProgressReporting.Progress'. Use the new keyword if hiding was intended.
appkit.cs(5342,8): warning CS0108: 'NSController.DiscardEditing()' hides inherited member 'NSEditor.DiscardEditing()'. Use the new keyword if hiding was intended.
appkit.cs(5346,8): warning CS0108: 'NSController.CommitEditing(NSObject, Selector, nint)' hides inherited member 'NSEditor.CommitEditing(NSObject, Selector, nint)'. Use the new keyword if hiding was intended.
appkit.cs(5353,8): warning CS0108: 'NSController.ObjectDidBeginEditing(INSEditor)' hides inherited member 'NSEditorRegistration.ObjectDidBeginEditing(INSEditor)'. Use the new keyword if hiding was intended.
appkit.cs(5356,8): warning CS0108: 'NSController.ObjectDidEndEditing(INSEditor)' hides inherited member 'NSEditorRegistration.ObjectDidEndEditing(INSEditor)'. Use the new keyword if hiding was intended.
appkit.cs(5367,8): warning CS0108: 'NSController.CommitEditing()' hides inherited member 'NSEditor.CommitEditing()'. Use the new keyword if hiding was intended.
appkit.cs(5974,8): warning CS0108: 'NSDocument.ValidateUserInterfaceItem(INSValidatedUserInterfaceItem)' hides inherited member 'NSUserInterfaceValidations.ValidateUserInterfaceItem(INSValidatedUserInterfaceItem)'. Use the new keyword if hiding was intended.
appkit.cs(6113,8): warning CS0108: 'NSDocument.RestoreUserActivityState(NSUserActivity)' hides inherited member 'NSUserActivityRestoring.RestoreUserActivityState(NSUserActivity)'. Use the new keyword if hiding was intended.
appkit.cs(6260,8): warning CS0108: 'NSDocumentController.ValidateUserInterfaceItem(INSValidatedUserInterfaceItem)' hides inherited member 'NSUserInterfaceValidations.ValidateUserInterfaceItem(INSValidatedUserInterfaceItem)'. Use the new keyword if hiding was intended.
avfoundation.cs(4928,3): warning CS0618: 'AVSampleCursorSyncInfo' is obsolete: 'This API is not available on this platform.'
avfoundation.cs(4931,3): warning CS0618: 'AVSampleCursorSyncInfo' is obsolete: 'This API is not available on this platform.'
avfoundation.cs(4942,3): warning CS0618: 'AVSampleCursorStorageRange' is obsolete: 'This API is not available on this platform.'
avfoundation.cs(4945,3): warning CS0618: 'AVSampleCursorChunkInfo' is obsolete: 'This API is not available on this platform.'
avfoundation.cs(4951,3): warning CS0618: 'AVSampleCursorStorageRange' is obsolete: 'This API is not available on this platform.'
carplay.cs(1622,8): warning CS0108: 'CPListImageRowItem.Enabled' hides inherited member 'CPListTemplateItem.Enabled'. Use the new keyword if hiding was intended.
carplay.cs(1695,8): warning CS0108: 'CPMessageListItem.Enabled' hides inherited member 'CPListTemplateItem.Enabled'. Use the new keyword if hiding was intended.
carplay.cs(576,8): warning CS0108: 'CPListItem.Enabled' hides inherited member 'CPListTemplateItem.Enabled'. Use the new keyword if hiding was intended.
contacts.cs(1589,3): warning CS0618: 'CategoryAttribute.CategoryAttribute(bool)' is obsolete: 'Inline the static members in this category in the category's class (and remove this obsolete once fixed)'
contacts.cs(1685,3): warning CS0618: 'CategoryAttribute.CategoryAttribute(bool)' is obsolete: 'Inline the static members in this category in the category's class (and remove this obsolete once fixed)'
coredata.cs(1053,12): warning CS0109: The member 'NSManagedObjectContext.Lock()' does not hide an accessible member. The new keyword is not required.
coredata.cs(1059,12): warning CS0109: The member 'NSManagedObjectContext.Unlock()' does not hide an accessible member. The new keyword is not required.
coredata.cs(2066,12): warning CS0109: The member 'NSPersistentStoreCoordinator.Lock()' does not hide an accessible member. The new keyword is not required.
coredata.cs(2072,12): warning CS0109: The member 'NSPersistentStoreCoordinator.Unlock()' does not hide an accessible member. The new keyword is not required.
coreimage.cs(1731,88): warning CS8632: The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
coreimage.cs(1798,81): warning CS8632: The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
foundation.cs(459,21): error CS0246: The type or namespace name 'NSTextBlock' could not be found (are you missing a using directive or an assembly reference?)
foundation.cs(463,21): error CS0246: The type or namespace name 'NSTextTable' could not be found (are you missing a using directive or an assembly reference?)
gamecontroller.cs(2422,13): warning CS0108: 'GCDevicePhysicalInput.Device' hides inherited member 'GCDevicePhysicalInputState.Device'. Use the new keyword if hiding was intended.
healthkit.cs(4208,237): warning CS8632: The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
healthkit.cs(4208,247): warning CS8632: The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
mapkit.cs(1892,12): warning CS0109: The member 'MKTileOverlay.CanReplaceMapContent' does not hide an accessible member. The new keyword is not required.
metal.cs(1627,3): warning CS0618: 'MTLAccelerationStructureSizes' is obsolete: 'This API is not available on this platform.'
notificationcenter.cs(82,3): warning CS0618: 'CategoryAttribute.CategoryAttribute(bool)' is obsolete: 'Inline the static members in this category in the category's class (and remove this obsolete once fixed)'
PassKit/PKEnums.cs(193,11): warning CS0618: 'PKPaymentButtonType.Checkout' is obsolete: 'Use 'Checkout2'.'
PassKit/PKEnums.cs(195,15): warning CS0618: 'PKPaymentButtonType.Book' is obsolete: 'Use 'Book2'.'
pdfkit.cs(1454,76): warning CS0618: 'PdfPrintScalingMode' is obsolete: 'This type is not available on iOS.'
pdfkit.cs(2020,53): warning CS0618: 'PdfPrintScalingMode' is obsolete: 'This type is not available on iOS.'
scenekit.cs(1973,87): warning CS8632: The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
sharedwithyou.cs(372,9): warning CS0108: 'SWHighlightChangeEvent.HighlightUrl' hides inherited member 'SWHighlightEvent.HighlightUrl'. Use the new keyword if hiding was intended.
soundanalysis.cs(207,4): warning CS0657: 'return' is not a valid attribute location for this declaration. Valid attribute locations for this declaration are 'property'. All attributes in this block will be ignored.
uikit.cs(11490,44): warning CS0109: The member 'UIResponder.ActivityItemsConfiguration' does not hide an accessible member. The new keyword is not required.
uikit.cs(11505,18): warning CS0109: The member 'UIResponder.TouchBar' does not hide an accessible member. The new keyword is not required.
uikit.cs(11509,14): warning CS0108: 'UIResponder.TouchBar' hides inherited member 'NSTouchBarProvider.TouchBar'. Use the new keyword if hiding was intended.
uikit.cs(292,3): warning CS0618: 'CategoryAttribute.CategoryAttribute(bool)' is obsolete: 'Inline the static members in this category in the category's class (and remove this obsolete once fixed)'
usernotifications.cs(197,13): warning CS0618: 'UNNotificationInterruptionLevel.Critical' is obsolete: 'Use 'Critical2'.'
usernotifications.cs(198,15): warning CS0618: 'UNNotificationInterruptionLevel.TimeSensitive' is obsolete: 'Use 'TimeSensitive2'.'
usernotifications.cs(199,14): warning CS0618: 'UNNotificationInterruptionLevel.Active' is obsolete: 'Use 'Active2'.'
usernotifications.cs(200,20): warning CS0618: 'UNNotificationInterruptionLevel.Passive' is obsolete: 'Use 'Passive2'.'
xkit.cs(2068,15): warning CS0109: The member 'NSCollectionLayoutVisibleItem.Center' does not hide an accessible member. The new keyword is not required.
xkit.cs(2073,14): warning CS0109: The member 'NSCollectionLayoutVisibleItem.Bounds' does not hide an accessible member. The new keyword is not required.
Co-authored-by: GitHub Actions Autoformatter <github-actions-autoformatter@xamarin.com>
PKPassLibrary.GetPasses randomly returns null for no apparent rhyme or reason
on our bots, so just ignore the test in that case.
Maybe if someone can reproduce locally one day we'll be able to investigate
and figure out what's happening.
Fixes https://github.com/xamarin/maccore/issues/2598.