-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Remove unneeded project references in EditorFeatures layer #51471
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
base: main
Are you sure you want to change the base?
Conversation
| <ProjectReference Include="..\..\Compilers\VisualBasic\Portable\Microsoft.CodeAnalysis.VisualBasic.vbproj" /> | ||
| <ProjectReference Include="..\VisualBasic\Microsoft.CodeAnalysis.VisualBasic.EditorFeatures.vbproj" /> | ||
| <ProjectReference Include="..\..\Features\VisualBasic\Portable\Microsoft.CodeAnalysis.VisualBasic.Features.vbproj" /> | ||
| <ProjectReference Include="..\..\Scripting\VisualBasic\Microsoft.CodeAnalysis.VisualBasic.Scripting.vbproj" /> |
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 actually noticed that this is the only reference that is no longer being built as part of this change. So other references will still be existing as transitive references. Should I only remove this one? or it's okay to remove all?
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 don't have strong opinions on whether we should or should not explicitly include transitive references anymore. Historically I was strongly for it but that was for technical reasons. There was a lot of tooling that simply failed to function properly if we didn't have them. That is why I pushed for them to be included and added verification that we did so. Now though the bugs are gone and there is no longer a technical need to do this.
My only issue though is that people understand what the change is doing. For instance, as you noted, this change in no way removes the dependency on the VB libraries from this project. As long as this project continues to reference the core compilers testing project the dependency remains, it's just hidden.
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.
There is a single reference that is completely removed. I can update the PR to only remove this one. But as those technical reasons gone and those bugs are fixed. I personally lean towards removing all that are not needed.
While the removal feels redundant (except for this single reference), it may be beneficial in case whatever project causing the transitive dependency didn't do that any more in future.
But certainly you'd know better than me in this area. So I'm open to both options. Either remove only the single reference that isn't a transitive dependency or remove all unneeded references.
|
@jasonmalinowski Can you take a look? I'm not sure whether those references should be removed or not. There is no harm removing them I think, but also no much benefit (my initial opinion has changed) |
|
@Youssef1313 Yep, will take a look, hopefully this week if that's OK? |
|
I'm torn; I don't see a lot of value in removing these references, but if someone else does 🤷♂️ |
|
So if the only reason things are added is because we were placating the build validation, I'm OK with removing. I find there's two benefits:
In this case, it's not obvious why we are having these binaries pulled along. If we have tests that are doing cross-language references then absolutely we should keep the references because those tests absolutely need it as a direct reference. If it's not being used but is some tangle then harder to say. (I'm looking at your other PR first since presumably that one is easier to sort out why stuff is coming along...) |
While working on #51469, I noticed that C#-specific projects were being restored when running
dotnet teston these VB-specific tests.These package references shouldn't be needed. But let's see if this breaks anything.