Port all managed product binaries to use SDK style projects#24285
Port all managed product binaries to use SDK style projects#24285AaronRobinsonMSFT merged 21 commits intodotnet:masterfrom
Conversation
| <BuiltBinary Include="$(TargetPath)" /> | ||
| </ItemGroup> | ||
|
|
||
| <!-- Target used to consolidate all PDBs into a single location --> |
There was a problem hiding this comment.
Can we expand on this comment further?
There was a problem hiding this comment.
I don't know what you would like to see. All product PDBs go into a specific location. The reasoning seems to be to help packaging. I don't really know what else to say other than the present comment. I don't want the litter the code with policy only functionality.
There was a problem hiding this comment.
Could you clarify why we need custom logic to move symbols? I expected that arcade would put them in the right place if we use it as designed.
There was a problem hiding this comment.
We are only using arcade to build assets, not rely on arcades output paths at the moment. That is a second pass.
| <Project Sdk="Microsoft.NET.Sdk" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||
| <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> | ||
| <Project Sdk="Microsoft.NET.Sdk"> | ||
| <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> |
There was a problem hiding this comment.
Can we add a condition on ArcadeBuild=="" on the import?
There was a problem hiding this comment.
I don't understand why in this case. It was present before and is needed regardless of Arcade or not.
|
cc @sbomer @echesakovMSFT |
|
There is something awry here. I am not observing these issues locally. Will merge with master tomorrow and see if I can reproduce locally. |
fa84439 to
91b3414
Compare
|
I was finally able to reproduce this locally. After rebasing and doing a clean build, the issue went away. Pushing a fully rebased branch. |
| <BuiltBinary Include="$(TargetPath)" /> | ||
| </ItemGroup> | ||
|
|
||
| <!-- Target used to consolidate all PDBs into a single location --> |
There was a problem hiding this comment.
Could you clarify why we need custom logic to move symbols? I expected that arcade would put them in the right place if we use it as designed.
|
@dotnet-bot test Windows_NT x64 Release CoreFX Tests please |
1 similar comment
|
@dotnet-bot test Windows_NT x64 Release CoreFX Tests please |
|
@dotnet-bot test Ubuntu x64 Checked CoreFX Tests please |
|
The failures appear to be a a real issue in |
|
@jkoritzinsky Any thoughts on why the |
|
I discovered the issue. There are missing |
|
@jkotas I need to add the following attributes to SPCL because the built-in method for SDK projects doesn't permit supplying attributes that have constructors taking non-string arguments. I am adding a new file to this project called [assembly:System.Runtime.InteropServices.ComVisible(false)]
[assembly:System.Runtime.InteropServices.DefaultDllImportSearchPathsAttribute(System.Runtime.InteropServices.DllImportSearchPath.AssemblyDirectory | System.Runtime.InteropServices.DllImportSearchPath.System32)]Do you have any preference where this file is located or if I should place this in an existing file? |
|
Correction. I found existing coreclr/src/System.Private.CoreLib/src/System/Internal.cs Lines 27 to 29 in 07b3afc |
|
The CoreFX |
Are the assembly attributes same before / after the change? The resource culture lookup is controlled via another bunch of attributes. |
@jkotas Good question. I am looking into that now. It seems that assembly attributes come from a myriad of places so it makes tracking them down a bit difficult in the build system. I will check that out though. |
|
@jkotas Looks like the following attributes are different between the two: new vs old - System.CLSCompliantAttribute
- System.Reflection.AssemblyMetadataAttribute
- System.Reflection.AssemblyDefaultAliasAttribute
+ System.Resources.NeutralResourcesLanguageAttributeI would assume the last one is related. I am unsure if the others are legacy or needed at all anymore. The |
|
This change will update the |
|
/azp help |
Supported commands
help:
Get descriptions, examples and documentation about supported commands
Example: help "command_name"
list:
List all pipelines for this repository using a comment.
Example: "list"
run:
Run all pipelines or a specific pipeline for this repository using a comment. Use
this command by itself to trigger all related pipelines, or specify a pipeline
to run.
Example: "run" or "run pipeline_name"
where:
Report back the Azure DevOps orgs that are related to this repository and org
Example: "where"
See additional documentation.
|
|
/azp list |
|
CI/CD Pipelines for this repository: |
9510630 to
bd3ee41
Compare
SPCL builds - dotnet.exe msbuild System.Private.CoreLib.csproj /p:ArcadeBuild=true
Packaging step is broken
All scenarios work on Windows. Consuming Arcade versioning logic by default.
Add back RestoreOptData task
location for existing attributes.
Collapse clr.coreclr.props and clr.defines.targets files into a single file
2563d06 to
6e14e89
Compare
|
/azp run coreclr-outerloop |
|
Azure Pipelines successfully started running 1 pipeline(s). |
…oreclr#24285) Convert managed product binary to use SDK project system. - Uses Arcade for versions strings - Overrides Arcade defined output paths - should change in the future Commit migrated from dotnet/coreclr@099177b
This PR is not complete. The optprof scenario will be broken. @jkoritzinsky suggestions are welcome.
Much of this work was ported from #23988. Note that this work does not upgrade to 3.0, but merely moves the product projects to SDK project types.
cc @RussKeldorph @jashook @jkoritzinsky @jeffschwMSFT