-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
[mono] Don't build System.Utf8String.Experimental.Tests.csproj tests for mono #34445
[mono] Don't build System.Utf8String.Experimental.Tests.csproj tests for mono #34445
Conversation
@@ -6,6 +6,10 @@ | |||
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework> | |||
</PropertyGroup> | |||
|
|||
<ItemGroup Condition="'$(RuntimeFlavor)' == 'Mono'"> | |||
<ProjectExclusions Include="$(MSBuildThisFileDirectory)\System.Utf8String.Experimental\tests\System.Utf8String.Experimental.Tests.csproj" /> | |||
</ItemGroup> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this the best / only place to do this? We've built the engineering system here such that core files like this one don't need to know about individual test projects, but now we're adding a specific suppression to this general file. There's no way to do this as part of System.Utf8String.Experimental?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The project shouldn't be loaded at all, hence excluding it in the traversals (tests.proj, src.builds, ref.builds, packages.builds) is fine.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I understand, but why can't something be put into the System.Utf8String.Experimental directory that would prevent that as well?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We currently just glob on csproj files and invoke them in tests.proj and other traversals. We could do an exclusion check based on a file being present in every item's project dir but I doubt that's worth the hassle. Just doing the file globbing in msbuild is already slow. (as an example, we keep a static list of references for the facades in the netstandard package to avoid globbing)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Then how bad is it if we just load the project? We're talking about one project out of hundreds that will get loaded and ignored in a test build.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm sure @EgorBo can try that out. To be consistent, the same needs to be done for the ref and the src project which are also excluded.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd appreciate if we could merge this and file an issue to make it better to unblock our test build :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not a build system expert, how can I disable build for certain libraries in their folders? what property can I use in Directory.Build.props
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd appreciate if we could merge this and file an issue to make it better to unblock our test build :)
Ok.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Filed #34499
It fails when we build repo with
--subsetCategory mono-libraries
System.Utf8String.Experimental.csproj
was already disabled:https://github.com/dotnet/runtime/blob/master/src/libraries/src.builds#L5