The pwsh used on windows is based on dotnet framework. Dotnet framework
has a limit in the size of the env that can be passed to a child
process. We are very close to reach the limit, but after #21009 we can
ignore that env variable since it is parsed from the args.
This is just needed for the ci pipeline because the issues are going to
have are related with the vsdrops task used to upload nuget results
etc..
This is because `EnablePreviewFeatures=true` doesn't quite work, since it
requires the building .NET and the target .NET to be on the same version.
We might want to build with .NET 9, but the Xcode branch is targeting .NET 8,
so it doesn't work.
This behavior is explained here:
https://github.com/dotnet/designs/blob/main/accepted/2021/preview-features/preview-features.md#meaning-of-property-in-multi-targeted-projects
The best solution seems to switch to using the Experimental attribute instead,
which was designed for our scenario (and explicitly to fix the problem we're
running into): bba3216250/accepted/2023/preview-apis/preview-apis.md
This also meant we had to augment `-nowarn` for bgen to:
* Pass any nowarn values to the compiler when bgen compiles stuff.
* Pass `$(NoWarn)` (the MSBuild property) to bgen when building a binding project.
---------
Co-authored-by: Alex Soto <alex@soto.dev>
Because simulator is where we most commonly run tests.
And hardcode arm64 - if x64 is ever needed, and I'm bugged enough to add
auto-detection, I'll do it then.
There's both a Network.NWEndpoint and a NetworkExtension.NWEndpoint, and the
generator generates ambiguous code in certain cases.
Fix the generator to use the full type reference for such types.
At the moment we are recaculating the configuration that was used in the
build to decide which tests to run, that is not needed since the
configuration was uploaded to the artifacts.
This change will allow to do the following:
- Load the default variables on the build pipeline this will allow us to
set the name of the tests to match those of the build for easy parsing.
- Load the default variables to set the property comment in the PR.
- Do not recalculate the built platforms on the tests matrix.
- Do not calculate the API scan matrix, it is not needed for the tests.
---------
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
There's a bug where the test variation to run introspection on older OS
versions doesn't properly exclude legacy Xamarin variations when legacy
Xamarin is disabled.
Since legacy Xamarin is dead, just remove introspection for legacy Xamarin
completely.
The 'nw_connection_set_viability_changed_handler' P/Invoke was originally
bound as 'SetBooleanChangeHandler', which isn't quite right.
So now bind it as 'SetViabilityChangeHandler', obsolete the old version and
remove it in XAMCORE_5_0.
Using RUNTIMEIDENTIFIER(S) in the Makefile interferes with the build, because
they get passed on to msbuild, which sees them as properties (RuntimeIdentifier(s)).
Thus use RID instead, and only pass on the value to the build if appropriate.
We are tryihng to sort out all the scripts to make it re-usable in order
to use them in cascading pipelines.
---------
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
This way execution won't stop if the warning was turned into an error, and
we'll get a list of all the warnings by executing once, instead of having to
re-execute after fixing each warning.