Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/autoformat-v2.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
persist-credentials: false

- name: 'Install .NET'
uses: actions/setup-dotnet@9a946fdbd5fb07b82b2f5a4466058b876ab72bb2 # v5
uses: actions/setup-dotnet@26b0ec14cb23fa6904739307f278c14f94c95bf1 # v5
with:
global-json-file: ./global.json

Expand Down Expand Up @@ -67,7 +67,7 @@ jobs:
fetch-depth: 1

- name: 'Install .NET'
uses: actions/setup-dotnet@9a946fdbd5fb07b82b2f5a4466058b876ab72bb2 # v5
uses: actions/setup-dotnet@26b0ec14cb23fa6904739307f278c14f94c95bf1 # v5
with:
global-json-file: ./global.json

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/maestro-changelog.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
if: github.event.pull_request.user.login == 'dotnet-maestro[bot]'

steps:
- uses: actions/setup-dotnet@9a946fdbd5fb07b82b2f5a4466058b876ab72bb2 # v5
- uses: actions/setup-dotnet@26b0ec14cb23fa6904739307f278c14f94c95bf1 # v5
with:
dotnet-version: '9'

Expand Down
20 changes: 0 additions & 20 deletions docs/api/Foundation/ModelAttribute.xml

This file was deleted.

17 changes: 17 additions & 0 deletions docs/building-apps/build-properties.md
Original file line number Diff line number Diff line change
Expand Up @@ -466,6 +466,23 @@ The full path to the `ditto` executable.

The default behavior is to use `/usr/bin/ditto`.

## DynamicRegistrationSupported

Controls whether the dynamic registrar is available at runtime (as reported by
`ObjCRuntime.Runtime.DynamicRegistrationSupported`).

If this value is not specified, the build will compute a default value based
on whether the app needs the dynamic registrar, and enables the
`ObjCRuntime.Runtime.DynamicRegistrationSupported` trimmer feature switch
accordingly (so the trimmer can remove the dynamic registrar when it's not
needed, making the app smaller).

Set this property to `true` or `false` to override the computed default.

Removing the dynamic registrar requires a static registrar (`Registrar=static` or
`Registrar=managed-static`) and trimming, so setting this property has no effect (and the
build warns) when those conditions aren't met.

## EmbedOnDemandResources

If on-demand resources should be embedded in the app bundle.
Expand Down
6 changes: 3 additions & 3 deletions dotnet/Workloads/SignList.xml
Original file line number Diff line number Diff line change
Expand Up @@ -37,18 +37,15 @@
<Skip Include="Build\System.Threading.Tasks.Extensions.dll" />
<!-- net10.0 msbuild tools content -->
<Skip Include="AssemblyStripper.dll" />
<Skip Include="BouncyCastle.Cryptography.dll" />
<Skip Include="ILLink.Tasks.dll" />
<Skip Include="Microsoft.Win32.SystemEvents.dll" />
<Skip Include="MonoTargetsTasks.dll" />
<Skip Include="MQTTnet.dll" />
<Skip Include="System.CodeDom.dll" />
<Skip Include="System.ComponentModel.Composition.dll" />
<Skip Include="System.Configuration.ConfigurationManager.dll" />
<Skip Include="System.Diagnostics.EventLog.dll" />
<Skip Include="System.Diagnostics.EventLog.Messages.dll" />
<Skip Include="System.Drawing.Common.dll" />
<Skip Include="System.Reactive.dll" />
<Skip Include="System.Resources.Extensions.dll" />
<Skip Include="System.Security.Cryptography.Pkcs.dll" />
<Skip Include="System.Security.Cryptography.ProtectedData.dll" />
Expand All @@ -58,6 +55,9 @@
<ItemGroup>
<ThirdParty Include="BouncyCastle.Crypto.dll" />
<ThirdParty Include="Renci.SshNet.dll" />
<ThirdParty Include="BouncyCastle.Cryptography.dll" />
<ThirdParty Include="MQTTnet.dll" />
<ThirdParty Include="System.Reactive.dll" />
<!-- Build.zip -->
<ThirdParty Include="Mono.Cecil*.dll" />

Expand Down
41 changes: 41 additions & 0 deletions dotnet/targets/Xamarin.Shared.Sdk.targets
Original file line number Diff line number Diff line change
Expand Up @@ -272,6 +272,7 @@
_ExtendAppExtensionReferences;
_ComputeLinkerArguments;
_PrepareAssemblies;
_SetDynamicRegistrationSupportedFeature;
_ComputeFrameworkFilesToPublish;
_ComputeDynamicLibrariesToPublish;
ComputeFilesToPublish;
Expand Down Expand Up @@ -427,6 +428,8 @@
Targets="_BuildRidSpecificAppBundle"
Properties="
AppendRuntimeIdentifierToOutputPath=true;
BuildSessionId=$(BuildSessionId);
BuildAppName=$(BuildAppName);
RuntimeIdentifier=%(_RuntimeIdentifiersAsItems.Identity);
_CodesignItemsPath=%(_RuntimeIdentifiersAsItems.RidSpecificCodesignItemsPath);
_MtouchSymbolsList=%(_RuntimeIdentifiersAsItems.RidSpecificSymbolsListPath);
Expand Down Expand Up @@ -560,6 +563,37 @@
</ItemGroup>
</Target>

<!--
Enables the 'ObjCRuntime.Runtime.DynamicRegistrationSupported' trimmer feature switch so that ILLink
hardcodes Runtime.DynamicRegistrationSupported. When PrepareAssemblies is enabled, the assembly-preparer's
RegistrarRemovalTrackingStep computes whether the dynamic registrar is needed (instead of rewriting the
platform assembly) and writes the value - as the 'DynamicRegistrationSupported' MSBuild output property -
to $(_AssemblyPreparerMSBuildOutputFile). This target runs after _PrepareAssemblies and before the trimmer.
It's not incremental-gated, so even if _PrepareAssemblies was skipped (because its outputs were up-to-date),
the value is still read from the (persisted) file and the feature switch is set. A user-specified
$(DynamicRegistrationSupported) always wins.
-->
<Target Name="_SetDynamicRegistrationSupportedFeature" Condition="'$(PrepareAssemblies)' == 'true'">
<ReadLinesFromFile
File="$(_AssemblyPreparerMSBuildOutputFile)"
Condition="'$(DynamicRegistrationSupported)' == '' And Exists('$(_AssemblyPreparerMSBuildOutputFile)')">
<Output TaskParameter="Lines" ItemName="_AssemblyPreparerMSBuildOutputProperty" />
</ReadLinesFromFile>
<ItemGroup>
<_DynamicRegistrationSupportedLine Include="@(_AssemblyPreparerMSBuildOutputProperty)" Condition="$([System.String]::Copy('%(Identity)').StartsWith('DynamicRegistrationSupported='))" />
</ItemGroup>
<PropertyGroup>
<!-- The user-specified $(DynamicRegistrationSupported) always wins; otherwise use the value the
assembly-preparer wrote (the 'DynamicRegistrationSupported=<value>' line in the output file). -->
<_DynamicRegistrationSupportedLineText>@(_DynamicRegistrationSupportedLine)</_DynamicRegistrationSupportedLineText>
<_DynamicRegistrationSupported>$(DynamicRegistrationSupported)</_DynamicRegistrationSupported>
<_DynamicRegistrationSupported Condition="'$(_DynamicRegistrationSupported)' == '' And '$(_DynamicRegistrationSupportedLineText)' != ''">$(_DynamicRegistrationSupportedLineText.Replace('DynamicRegistrationSupported=', ''))</_DynamicRegistrationSupported>
</PropertyGroup>
<ItemGroup Condition="'$(_DynamicRegistrationSupported)' != ''">
<RuntimeHostConfigurationOption Include="ObjCRuntime.Runtime.DynamicRegistrationSupported" Value="$(_DynamicRegistrationSupported)" Trim="true" />
</ItemGroup>
</Target>

<Target Name="_ComputeLinkerArguments" DependsOnTargets="$(_ComputeLinkerArgumentsDependsOn)" />

<Target Name="_ComputeLinkerInputs">
Expand Down Expand Up @@ -607,6 +641,10 @@
<_CustomLinkerOptionsFile>$([System.IO.Path]::GetFullPath('$(IntermediateOutputPath)custom-linker-options.txt'))</_CustomLinkerOptionsFile>
<_CustomLinkerOptionsFile Condition="'$(BuildSessionId)' != ''">$(IntermediateOutputPath)custom-linker-options.txt</_CustomLinkerOptionsFile>

<!-- The files the assembly-preparer writes its MSBuild output properties to (one per pass; read back in _SetDynamicRegistrationSupportedFeature and added to FileWrites). -->
<_AssemblyPreparerMSBuildOutputFile Condition="'$(PrepareAssemblies)' == 'true'">$(DeviceSpecificIntermediateOutputPath)assembly-preparer-msbuild-output.txt</_AssemblyPreparerMSBuildOutputFile>
<_AssemblyPostProcessorMSBuildOutputFile Condition="'$(PrepareAssemblies)' == 'true'">$(DeviceSpecificIntermediateOutputPath)assembly-postprocessor-msbuild-output.txt</_AssemblyPostProcessorMSBuildOutputFile>

<!-- The directory where the linker puts *.items files that will be loaded in the _LoadLinkerOutput target -->
<_LinkerItemsDirectory>$([System.IO.Path]::GetFullPath('$(IntermediateOutputPath)linker-items'))</_LinkerItemsDirectory>
<_LinkerItemsDirectory Condition="'$(BuildSessionId)' != ''">$(IntermediateOutputPath)linker-items</_LinkerItemsDirectory>
Expand Down Expand Up @@ -649,6 +687,7 @@
@(_BundlerDlsym -> 'Dlsym=%(Identity)')
Debug=$(_BundlerDebug)
DeploymentTarget=$(_MinimumOSVersion)
DynamicRegistrationSupported=$(DynamicRegistrationSupported)
@(_CustomLinkFlags -> 'CustomLinkFlags=%(Identity)')
EnableSGenConc=$(EnableSGenConc)
@(_BundlerEnvironmentVariables -> 'EnvironmentVariable=Overwrite=%(Overwrite)|%(Identity)=%(Value)')
Expand All @@ -668,6 +707,8 @@
MarshalManagedExceptionMode=$(MarshalManagedExceptionMode)
MarshalObjectiveCExceptionMode=$(MarshalObjectiveCExceptionMode)
@(_MonoLibrary -> 'MonoLibrary=%(Identity)')
MSBuildOutputFile=$(_AssemblyPreparerMSBuildOutputFile)
MSBuildPostProcessOutputFile=$(_AssemblyPostProcessorMSBuildOutputFile)
MtouchFloat32=$(MtouchFloat32)
NoWarn=$(_BundlerNoWarn)
Optimize=$(_BundlerOptimize)
Expand Down
12 changes: 6 additions & 6 deletions eng/Version.Details.props
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,16 @@ This file should be imported by eng/Versions.props
<Project>
<PropertyGroup>
<!-- dotnet-dotnet dependencies -->
<MicrosoftDotNetArcadeSdkPackageVersion>10.0.0-beta.26356.110</MicrosoftDotNetArcadeSdkPackageVersion>
<MicrosoftDotNetBuildTasksFeedPackageVersion>10.0.0-beta.26356.110</MicrosoftDotNetBuildTasksFeedPackageVersion>
<MicrosoftDotNetArcadeSdkPackageVersion>10.0.0-beta.26357.110</MicrosoftDotNetArcadeSdkPackageVersion>
<MicrosoftDotNetBuildTasksFeedPackageVersion>10.0.0-beta.26357.110</MicrosoftDotNetBuildTasksFeedPackageVersion>
<MicrosoftDotNetCecilPackageVersion>0.11.5-alpha.26070.104</MicrosoftDotNetCecilPackageVersion>
<MicrosoftDotNetSharedFrameworkSdkPackageVersion>10.0.0-beta.26356.110</MicrosoftDotNetSharedFrameworkSdkPackageVersion>
<MicrosoftDotNetSharedFrameworkSdkPackageVersion>10.0.0-beta.26357.110</MicrosoftDotNetSharedFrameworkSdkPackageVersion>
<MicrosoftNETILLinkPackageVersion>10.0.3-servicing.26070.104</MicrosoftNETILLinkPackageVersion>
<MicrosoftNETILLinkTasksPackageVersion>10.0.3</MicrosoftNETILLinkTasksPackageVersion>
<MicrosoftNETRuntimeMonoTargetsSdkPackageVersion>10.0.3</MicrosoftNETRuntimeMonoTargetsSdkPackageVersion>
<MicrosoftNETSdkPackageVersion>10.0.400-preview.0.26356.110</MicrosoftNETSdkPackageVersion>
<MicrosoftNETSdkPackageVersion>10.0.400-preview.0.26357.110</MicrosoftNETSdkPackageVersion>
<MicrosoftNETCoreAppRefPackageVersion>10.0.3</MicrosoftNETCoreAppRefPackageVersion>
<MicrosoftTemplateEngineAuthoringTasksPackageVersion>10.0.400-preview.26356.110</MicrosoftTemplateEngineAuthoringTasksPackageVersion>
<MicrosoftTemplateEngineAuthoringTasksPackageVersion>10.0.400-preview.26357.110</MicrosoftTemplateEngineAuthoringTasksPackageVersion>
<!-- dotnet-macios dependencies -->
<MicrosoftiOSSdknet100_260PackageVersion>26.0.11017</MicrosoftiOSSdknet100_260PackageVersion>
<MicrosoftiOSSdknet90_185PackageVersion>18.5.9227</MicrosoftiOSSdknet90_185PackageVersion>
Expand All @@ -30,7 +30,7 @@ This file should be imported by eng/Versions.props
<MicrosofttvOSSdknet90_185PackageVersion>18.5.9227</MicrosofttvOSSdknet90_185PackageVersion>
<MicrosofttvOSSdknet90_265PackageVersion>26.5.9004</MicrosofttvOSSdknet90_265PackageVersion>
<!-- dotnet-xharness dependencies -->
<MicrosoftDotNetXHarnessiOSSharedPackageVersion>11.0.0-prerelease.26353.1</MicrosoftDotNetXHarnessiOSSharedPackageVersion>
<MicrosoftDotNetXHarnessiOSSharedPackageVersion>11.0.0-prerelease.26357.1</MicrosoftDotNetXHarnessiOSSharedPackageVersion>
<!-- xamarin-xamarin-macios dependencies -->
<MicrosoftiOSSdknet90_180PackageVersion>18.0.9617</MicrosoftiOSSdknet90_180PackageVersion>
<MicrosoftMacCatalystSdknet90_180PackageVersion>18.0.9617</MicrosoftMacCatalystSdknet90_180PackageVersion>
Expand Down
24 changes: 12 additions & 12 deletions eng/Version.Details.xml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<Dependencies>
<ProductDependencies>
<Dependency Name="Microsoft.NET.Sdk" Version="10.0.400-preview.0.26356.110">
<Dependency Name="Microsoft.NET.Sdk" Version="10.0.400-preview.0.26357.110">
<Uri>https://github.com/dotnet/dotnet</Uri>
<Sha>0e603833cc19f22076e5fcac787ccd22f3900a51</Sha>
<Sha>2bd0e65f2efd50d56ae2fa3adfc1c3f440c1d223</Sha>
</Dependency>
<Dependency Name="Microsoft.NET.ILLink" Version="10.0.3-servicing.26070.104">
<Uri>https://github.com/dotnet/dotnet</Uri>
Expand Down Expand Up @@ -95,25 +95,25 @@
</Dependency>
</ProductDependencies>
<ToolsetDependencies>
<Dependency Name="Microsoft.DotNet.Build.Tasks.Feed" Version="10.0.0-beta.26356.110">
<Dependency Name="Microsoft.DotNet.Build.Tasks.Feed" Version="10.0.0-beta.26357.110">
<Uri>https://github.com/dotnet/dotnet</Uri>
<Sha>0e603833cc19f22076e5fcac787ccd22f3900a51</Sha>
<Sha>2bd0e65f2efd50d56ae2fa3adfc1c3f440c1d223</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.SharedFramework.Sdk" Version="10.0.0-beta.26356.110">
<Dependency Name="Microsoft.DotNet.SharedFramework.Sdk" Version="10.0.0-beta.26357.110">
<Uri>https://github.com/dotnet/dotnet</Uri>
<Sha>0e603833cc19f22076e5fcac787ccd22f3900a51</Sha>
<Sha>2bd0e65f2efd50d56ae2fa3adfc1c3f440c1d223</Sha>
</Dependency>
<Dependency Name="Microsoft.TemplateEngine.Authoring.Tasks" Version="10.0.400-preview.26356.110">
<Dependency Name="Microsoft.TemplateEngine.Authoring.Tasks" Version="10.0.400-preview.26357.110">
<Uri>https://github.com/dotnet/dotnet</Uri>
<Sha>0e603833cc19f22076e5fcac787ccd22f3900a51</Sha>
<Sha>2bd0e65f2efd50d56ae2fa3adfc1c3f440c1d223</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.XHarness.iOS.Shared" Version="11.0.0-prerelease.26353.1">
<Dependency Name="Microsoft.DotNet.XHarness.iOS.Shared" Version="11.0.0-prerelease.26357.1">
<Uri>https://github.com/dotnet/xharness</Uri>
<Sha>4da0015e9dd1ed7d3992db7d1eb6878a5ee11ab2</Sha>
<Sha>b631e17803318d67046871027986a005f3db02bf</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="10.0.0-beta.26356.110">
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="10.0.0-beta.26357.110">
<Uri>https://github.com/dotnet/dotnet</Uri>
<Sha>0e603833cc19f22076e5fcac787ccd22f3900a51</Sha>
<Sha>2bd0e65f2efd50d56ae2fa3adfc1c3f440c1d223</Sha>
<SourceBuild RepoName="arcade" ManagedOnly="true" />
</Dependency>
</ToolsetDependencies>
Expand Down
3 changes: 0 additions & 3 deletions eng/common/core-templates/steps/publish-logs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,6 @@ steps:
'$(publishing-dnceng-devdiv-code-r-build-re)'
'$(dn-bot-all-orgs-artifact-feeds-rw)'
'$(akams-client-id)'
'$(microsoft-symbol-server-pat)'
'$(symweb-symbol-server-pat)'
'$(dnceng-symbol-server-pat)'
'$(dn-bot-all-orgs-build-rw-code-rw)'
'$(System.AccessToken)'
${{parameters.CustomSensitiveDataList}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ steps:
workingDirectory: $(Agent.TempDirectory)

- script: |
$(Agent.TempDirectory)/dotnet/dotnet tool install BinLogToSln --version ${{parameters.sourceIndexProcessBinlogPackageVersion}} --add-source ${{parameters.SourceIndexPackageSource}} --tool-path $(Agent.TempDirectory)/.source-index/tools
$(Agent.TempDirectory)/dotnet/dotnet tool install UploadIndexStage1 --version ${{parameters.sourceIndexUploadPackageVersion}} --add-source ${{parameters.SourceIndexPackageSource}} --tool-path $(Agent.TempDirectory)/.source-index/tools
$(Agent.TempDirectory)/dotnet/dotnet tool install BinLogToSln --version ${{parameters.sourceIndexProcessBinlogPackageVersion}} --source ${{parameters.SourceIndexPackageSource}} --tool-path $(Agent.TempDirectory)/.source-index/tools
$(Agent.TempDirectory)/dotnet/dotnet tool install UploadIndexStage1 --version ${{parameters.sourceIndexUploadPackageVersion}} --source ${{parameters.SourceIndexPackageSource}} --tool-path $(Agent.TempDirectory)/.source-index/tools
displayName: "Source Index: Download netsourceindex Tools"
# Set working directory to temp directory so 'dotnet' doesn't try to use global.json and use the repo's sdk.
workingDirectory: $(Agent.TempDirectory)
Expand Down
Loading
Loading