Long versions are sometimes problematic on Windows, because of MAX_PATH
issues. Versions for release builds don't contain the pre-release part, and
are thus usually short, but pre-release versions (which include an arbitrarily
long branch name) can get too long for Windows. This is a complication when
testing a release pipeline/process: we have to use final versioning just for
testing. This isn't ideal, so we special-case branch names that start with
`release-test/rt/`:
* Example: `iOS 15.1.123-rt` (and nothing else). This makes these versions
exactly 3 characters longer than the release version, which is hopefully
enough to avoid MAX_PATH issues on Windows.
Moves the following methods from the Generator class to the
TypeManager class:
IsNativeType
IsWrappedType
IsArray
IsDictionaryContainerType
GetParentTypeWithSameNameProperty
---------
Co-authored-by: Manuel de la Pena <mandel@microsoft.com>
The UIContextMenuInteraction type is a bit uncommon: the delegate is
passed as
an argument to the constructor, instead of setting the 'delegate'
property
later on (in fact, the 'delegate' property is read-only).
Typically, the generated WeakDelegate property will store the value in
an instance field:
object? __mt_WeakDelegate_var;
public virtual NSObject? WeakDelegate {
get {
NSObject? ret = /* ... */;
MarkDirty ();
__mt_WeakDelegate_var = ret;
return ret!;
}
}
And in order to have the same behavior in the UIContextMenuInteraction
we need to
store the delegate passed to the constructor as well, so do that.
Otherwise the GC will eventually collect the delegate, and things stop
working.
Ref: https://github.com/dotnet/maui/pull/18449
Both headers and documentation agree that these members were introduced with
the type itself, so we can just remove our member-specific availability
attributes and inherit from the parent (class) instead.
Fixes https://github.com/xamarin/xamarin-macios/issues/19377.
First take at refactoring parts of the Generator:
1. RemoveArity() is now a string extension method with a test
2. FormatType, FormatTypeUsedIn, and part of PrimitiveType methods have
been moved into the TypeManager class.
3. TypeManager now has access to BindingTouch (similar to the other
Manager classes) so that it may call methods from NamespaceManager,
which also had to be made into a public property of BindingTouch vs
being passed through the Generator constructor.
---------
Co-authored-by: Manuel de la Pena <mandel@microsoft.com>
Co-authored-by: GitHub Actions Autoformatter <github-actions-autoformatter@xamarin.com>
Co-authored-by: Alex Soto <alex@alexsoto.me>
New commits in rolfbjarne/api-tools:
* rolfbjarne/api-tools@6d4007a [mono-api-html] Allow changing the base type if the old base type is a super class of the new base type.
* rolfbjarne/api-tools@cbc1e08 [mono-api-html] Fix compiler warning about obsolete formatter-based serialization attributes.
Diff: c7d5208967..6d4007a599
---------
Co-authored-by: Alex Soto <alex@alexsoto.me>
* The 'Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100.Transport' dependency was renamed to 'Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100'
* Add a separate dependency for 'Microsoft.NET.ILLink', since it can have a different version than 'Microsoft.NET.ILLink.Tasks'.
* Update using the '.NET 8' and '.NET 8.0.1xx' channels.
This isn't very helpful:
packs\Microsoft.iOS.Windows.Sdk\16.4.7123-ci.issue-19229\tools\msbuild\iOS\Xamarin.iOS.Common.After.targets(321,3): MessagingRemoteException: An error occurred on client Build1647107 while executing a reply for topic xvs/build/16.4.7107/execute-task/issue19229/ba129ce002fFindILLink
AggregateException: One or more errors occurred.
FileNotFoundException: Could not find file "/var/folders/43/h027tm1n101cdrq2_b6n9n2m0000gn/T/tmp2f66981e.tmp/Output.txt"
Now we'll get a much better error message that includes what 'dotnet build'
failed to do.
It doesn't exist there, and it also fails a test:
[FAIL] StaticMethods : 1 errors found in 3389 static selector validated:
AppKit.NSImage : imageWithSymbolName:bundle:variableValue:
Expected: 0
But was: 1
The main problem is that an app with unsigned executable code will fail any signing
verification, and the app won't install on device.
This is implemented by doing two changes:
1. Augment the FilterStaticFrameworks task to only filter out frameworks with
static libraries (and thus keeping everything that's not a static framework, even
if it's not even a framework).
2. Execute the FilterStaticFrameworks task to filter out static frameworks from
the entire list of files to bundle in the hot restart app bundle.
1. Move the signing to after we copy files that must be signed into the app bundle
that will be signed: we sign in the _CodesignHotRestartAppBundle target, so this
means the targets _CopyHotRestartBundleResources and _CopyFilesToHotRestartSignedAppDirContents
must execute first.
2. Try to clear up some confusion about the directories involved. The HotRestartSignedAppOutputDir
property indicates the location of the _signed_ app bundle, which means no files
should be added there. Instead files that should be signed (or present when the
app launches) must be placed in the HotRestartAppBundlePath directory.
3. Document each property involved to try to avoid more mistakes in the future.
Fixes https://github.com/xamarin/xamarin-macios/issues/19278.
Look for any binding resource packages (a directory named AssemblyName.resources
or a compressed version named AssemblyName.resources.zip) next to any references,
and copy those to the remote Mac when doing remote builds.
Fixes https://github.com/xamarin/xamarin-macios/issues/19229.
When migrating Xamarin projects to .NET projects, somewhat frequently people
will leave the MtouchArch/XamMacArch properties in their project files with
old values. This won't work, since we use RuntimeIdentifier(s) now to control
the target architecture, so remove support for MtouchArch/XamMacArch, and show
an error if we detect that they're set.
This will hopefully prevent some really confusing problems, especially in the IDEs.
Example: https://github.com/xamarin/xamarin-macios/issues/19258
This is the pull request automatically created by the OneLocBuild task
in the build process to check-in localized files generated based upon
translation source files (.lcl files) handed-back from the downstream
localization pipeline. If there are issues in translations, visit
https://aka.ms/icxLocBug and log bugs for fixes. The OneLocBuild wiki is
https://aka.ms/onelocbuild and the localization process in general is
documented at https://aka.ms/AllAboutLoc.
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.ILLink.Tasks**: from 8.0.0-rtm.23518.26 to 8.0.0-rtm.23519.13 (parent: Microsoft.Dotnet.Sdk.Internal)
- **Microsoft.AspNetCore.App.Ref**: from 8.0.0-rtm.23519.14 to 8.0.0-rtm.23520.10 (parent: Microsoft.Dotnet.Sdk.Internal)
- **Microsoft.NETCore.App.Ref**: from 8.0.0-rtm.23518.26 to 8.0.0-rtm.23519.13 (parent: Microsoft.Dotnet.Sdk.Internal)
- **Microsoft.NETCore.App.Ref**: from 8.0.0-rtm.23518.26 to 8.0.0-rtm.23519.13 (parent: Microsoft.Dotnet.Sdk.Internal)
## From https://github.com/dotnet/installer
- **Subscription**: 80cb9ffd-f92f-4fc8-9f8b-08dbca46abfb
- **Build**: 20231022.1
- **Date Produced**: October 23, 2023 3:21:58 AM UTC
- **Commit**: 30d7d24a6592aa0c97f81ac36b563fab2b451b14
- **Branch**: refs/heads/release/8.0.1xx
- **Updates**:
- **Microsoft.Dotnet.Sdk.Internal**: [from 8.0.100-rtm.23520.38 to 8.0.100-rtm.23522.1][1]
- **Microsoft.NET.ILLink.Tasks**: [from 8.0.0-rtm.23518.26 to 8.0.0-rtm.23519.13][2]
- **Microsoft.AspNetCore.App.Ref**: [from 8.0.0-rtm.23519.14 to 8.0.0-rtm.23520.10][3]
- **Microsoft.NETCore.App.Ref**: [from 8.0.0-rtm.23518.26 to 8.0.0-rtm.23519.13][2]
- **Microsoft.NETCore.App.Ref**: [from 8.0.0-rtm.23518.26 to 8.0.0-rtm.23519.13][2]
[1]: 7a6cb1fc8a...30d7d24a65
[2]: c6e7ebdcb1...86c949374e
[3]: e4ba445101...c9fa5f3a34
The OneLoc team creates these translations to be consumed later on in
the second step of the Localization process. We need to bring these into
the main branch in order to continue the process.
Co-authored-by: CSIGS@microsoft.com <csigs@users.noreply.github.com>
The OneLoc team creates these translations to be consumed later on in
the second step of the Localization process. We need to bring these into
the main branch in order to continue the process.
Co-authored-by: CSIGS@microsoft.com <csigs@users.noreply.github.com>
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.ILLink.Tasks**: from 8.0.0-rtm.23517.16 to 8.0.0-rtm.23518.26 (parent: Microsoft.Dotnet.Sdk.Internal)
- **Microsoft.AspNetCore.App.Ref**: from 8.0.0-rtm.23518.3 to 8.0.0-rtm.23519.14 (parent: Microsoft.Dotnet.Sdk.Internal)
- **Microsoft.NETCore.App.Ref**: from 8.0.0-rtm.23517.16 to 8.0.0-rtm.23518.26 (parent: Microsoft.Dotnet.Sdk.Internal)
- **Microsoft.NETCore.App.Ref**: from 8.0.0-rtm.23517.16 to 8.0.0-rtm.23518.26 (parent: Microsoft.Dotnet.Sdk.Internal)
## From https://github.com/dotnet/installer
- **Subscription**: 80cb9ffd-f92f-4fc8-9f8b-08dbca46abfb
- **Build**: 20231020.38
- **Date Produced**: October 21, 2023 1:25:22 AM UTC
- **Commit**: 7a6cb1fc8a3a6048783eddb10b32281aa2fcb992
- **Branch**: refs/heads/release/8.0.1xx
- **Updates**:
- **Microsoft.Dotnet.Sdk.Internal**: [from 8.0.100-rtm.23519.30 to 8.0.100-rtm.23520.38][4]
- **Microsoft.NET.ILLink.Tasks**: [from 8.0.0-rtm.23517.16 to 8.0.0-rtm.23518.26][5]
- **Microsoft.AspNetCore.App.Ref**: [from 8.0.0-rtm.23518.3 to 8.0.0-rtm.23519.14][6]
- **Microsoft.NETCore.App.Ref**: [from 8.0.0-rtm.23517.16 to 8.0.0-rtm.23518.26][5]
- **Microsoft.NETCore.App.Ref**: [from 8.0.0-rtm.23517.16 to 8.0.0-rtm.23518.26][5]
[4]: 7c50a5c83c...7a6cb1fc8a
[5]: 6f7af556d2...c6e7ebdcb1
[6]: 954413f0ae...e4ba445101
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.ILLink.Tasks**: from 8.0.0-rtm.23511.16 to 8.0.0-rtm.23517.16 (parent: Microsoft.Dotnet.Sdk.Internal)
- **Microsoft.AspNetCore.App.Ref**: from 8.0.0-rtm.23512.10 to 8.0.0-rtm.23518.3 (parent: Microsoft.Dotnet.Sdk.Internal)
- **Microsoft.NETCore.App.Ref**: from 8.0.0-rtm.23511.16 to 8.0.0-rtm.23517.16 (parent: Microsoft.Dotnet.Sdk.Internal)
- **Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100.Transport**: from 8.0.0-rtm.23504.4 to 8.0.0-rtm.23511.3 (parent: Microsoft.NETCore.App.Ref)
- **Microsoft.NETCore.App.Ref**: from 8.0.0-rtm.23511.16 to 8.0.0-rtm.23517.16 (parent: Microsoft.Dotnet.Sdk.Internal)
- **Microsoft.DotNet.Cecil**: from 0.11.4-alpha.23502.1 to 0.11.4-alpha.23509.2 (parent: Microsoft.NETCore.App.Ref)
## From https://github.com/dotnet/installer
- **Subscription**: 80cb9ffd-f92f-4fc8-9f8b-08dbca46abfb
- **Build**: 20231018.33
- **Date Produced**: October 19, 2023 3:45:02 AM UTC
- **Commit**: 1657e2bb7b7766b5f0d27b9dbbb3be35634840c4
- **Branch**: refs/heads/release/8.0.1xx
- **Updates**:
- **Microsoft.Dotnet.Sdk.Internal**: [from 8.0.100-rtm.23517.25 to 8.0.100-rtm.23518.33][1]
- **Microsoft.NET.ILLink.Tasks**: [from 8.0.0-rtm.23511.16 to 8.0.0-rtm.23517.16][2]
- **Microsoft.AspNetCore.App.Ref**: [from 8.0.0-rtm.23512.10 to 8.0.0-rtm.23518.3][3]
- **Microsoft.NETCore.App.Ref**: [from 8.0.0-rtm.23511.16 to 8.0.0-rtm.23517.16][2]
- **Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100.Transport**: [from 8.0.0-rtm.23504.4 to 8.0.0-rtm.23511.3][4]
- **Microsoft.NETCore.App.Ref**: [from 8.0.0-rtm.23511.16 to 8.0.0-rtm.23517.16][2]
- **Microsoft.DotNet.Cecil**: [from 0.11.4-alpha.23502.1 to 0.11.4-alpha.23509.2][5]
[1]: d485886d55...1657e2bb7b
[2]: 256bf22a3d...6f7af556d2
[3]: 4605c50d7c...954413f0ae
[4]: 0c28b5cfe0...1b7f3a6560
[5]: 64a8874f3c...45dd3a73dd