Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Packages reported as prebuilts in .NET source-build #4403

Closed
MichaelSimons opened this issue Apr 18, 2023 · 11 comments · Fixed by #4456
Closed

Packages reported as prebuilts in .NET source-build #4403

MichaelSimons opened this issue Apr 18, 2023 · 11 comments · Fixed by #4456

Comments

@MichaelSimons
Copy link
Member

MichaelSimons commented Apr 18, 2023

The following packages are being reported as prebuilts in source-build and will need to be addressed.

    <Usage Id="Microsoft.CodeCoverage.IO" Version="17.7.1-beta.23213.1" File="src/artifacts/obj/Microsoft.TestPlatform.CLI/project.assets.json" IsDirectDependency="true" />
    <Usage Id="Microsoft.Internal.TestPlatform.Remote" Version="17.5.33617.425" File="src/artifacts/obj/Microsoft.TestPlatform.CLI/project.assets.json" IsDirectDependency="true" />
    <Usage Id="System.Private.Uri" Version="4.3.2" File="src/artifacts/obj/Microsoft.TestPlatform.CLI/project.assets.json" />
    <Usage Id="System.Private.Uri" Version="4.3.2" File="src/artifacts/obj/testhost.arm64/project.assets.json" IsDirectDependency="true" />

None of these packages (any version) are included in source-build today. Please refer to the source-build new dependency documentation for guidance on how to handle new dependencies from a source-build perspective.

AB#1819460

@microsoft-github-policy-service microsoft-github-policy-service bot added the needs-triage This item should be discussed in the next triage meeting. label Apr 18, 2023
@MichaelSimons
Copy link
Member Author

MichaelSimons commented Apr 24, 2023

@nohwnd, @Evangelink - is this something you can help with? These are impacting the preview 4 release for source-build.

@MichaelSimons
Copy link
Member Author

Prior to the Arcade refactoring, it looks like Microsoft.CodeCoverage.IO and Microsoft.Internal.TestPlatform.Remote were part of external.csproj and were excluded from source build. How are these components used are they required from sourcebuild? If not, then they should be moved to this section.

@MichaelSimons
Copy link
Member Author

Looks like the following prebuilt is a transitive prebuilt because the Microsoft.TestPlatform.CLI.csproj references testhost.arm64.csproj.

@Evangelink
Copy link
Member

@MichaelSimons Is there any other action (outside your PR) to take on our side?

@MichaelSimons
Copy link
Member Author

@MichaelSimons Is there any other action (outside your PR) to take on our side?

Yes, The first two prebuilts need to be addressed. These appeared when the first arcade based vstest version flowed into installer. I can help but I need input on what these dependencies are used for. Microsoft.Internal.TestPlatform.Remote appears to contain VS related assemblies therefore it feels like it is not needed for source-build and could simply be excluded. Can you please confirm? What are the usage scenarios for Microsoft.CodeCoverage.IO?

Both of these were conditioned out for source-build before the vstest arcade integration.

@jakubch1
Copy link
Member

@MichaelSimons @Evangelink Microsoft.CodeCoverage.IO is not needed for source build. It is dynamically loaded in merging of code coverage attachments scenario. I've created this PR to exclude it from source build: #4426
Please check it as I am not source build expert.

@MichaelSimons
Copy link
Member Author

Gentle ping on the last remaining prebuilt - Microsoft.Internal.TestPlatform.Remote. I am willing to help out if someone can confirm that this can be conditionally excluded for source-build.

@Evangelink
Copy link
Member

@MichaelSimons I have been reviewing the code and it seems that outside of the insertion in VS we are only using Microsoft.Internal.TestPlatform.Remote to include System.ComponentModel.Composition dll into Microsoft.TestPlatform.nupkg and Microsoft.TestPlatform.CLI.nupkg.

I am not sure what's the best course of action here, exclude for source-build or move to using a dependency to System.ComponentModel.Composition nuget package.

Any suggestion?

@MichaelSimons
Copy link
Member Author

@Evangelink, Thanks for taking a look. I think the right thing to do would be to condition Microsoft.Internal.TestPlatform.Remote out of source build. Then add a System.ComponentModel.Composition dependency for source build. Perhaps that dependency wouldn't have to have any condition.

@MichaelSimons
Copy link
Member Author

@Evangelink, is the Microsoft.Internal.TestPlatform.Remote change something you can make soon? This needs to be addressed in for source-build to be prebuilt clean. TIA

@Evangelink
Copy link
Member

Sorry for the delay, I will handle it early next week.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants