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

Pack our language server in a separate package for each platform #69786

Conversation

jasonmalinowski
Copy link
Member

Our LanguageServer package is a special package where we are bundling ready-to-run images that are then consumed by our C# extension build. We we previously building all platforms into one single NuGet package, but we are getting dangerously close to the 500MB limit that is enforced by Azure DevOps for the total size of a package. This splits our package into 10 packages, one for each platform (and our "neutral" package).

@jasonmalinowski jasonmalinowski requested a review from a team as a code owner August 31, 2023 19:59
@jasonmalinowski jasonmalinowski self-assigned this Aug 31, 2023
@jasonmalinowski jasonmalinowski requested a review from a team as a code owner August 31, 2023 19:59
@dotnet-issue-labeler dotnet-issue-labeler bot added Area-Infrastructure untriaged Issues and PRs which have not yet been triaged by a lead labels Aug 31, 2023
@jasonmalinowski jasonmalinowski force-pushed the create-separate-packages-for-each-rid branch from 02d6774 to 27928f8 Compare August 31, 2023 20:00
@jasonmalinowski jasonmalinowski force-pushed the create-separate-packages-for-each-rid branch 2 times, most recently from 352f525 to 5e30ea8 Compare August 31, 2023 22:21
Our LanguageServer package is a special package where we are bundling
ready-to-run images that are then consumed by our C# extension build.
We we previously building all platforms into one single NuGet package,
but we are getting dangerously close to the 500MB limit that is enforced
by Azure DevOps for the total size of a package. This splits our package
into 10 packages, one for each platform (and our "neutral" package).
@jasonmalinowski jasonmalinowski force-pushed the create-separate-packages-for-each-rid branch from 5e30ea8 to 624b70e Compare September 1, 2023 00:42
@@ -47,6 +47,16 @@
"Microsoft.VisualStudio.IntegrationTest.Utilities": "vs-impl",
"Microsoft.VisualStudio.LanguageServices.DevKit": "npm",
"Microsoft.CodeAnalysis.LanguageServer": "vs-impl",
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We are leaving this old entry, because the version of this file from the main branch is the one always used for publishing. So if any servicing branch did a signed build, it'd look for this entry or otherwise it'll fail.

@@ -5,7 +5,6 @@
<OutputType>Library</OutputType>
<TargetFramework>net7.0</TargetFramework>
<Nullable>enable</Nullable>
<IsPackable>true</IsPackable>
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We were creating a NuGet package for this project, but we don't actually need it. We make an NPM package, but we can turn this off and it still works. This had to be fixed or otherwise when building this package, it no longer knows which of the LanguageServer packages to reference.

@@ -19,7 +19,7 @@
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\..\..\Features\LanguageServer\Microsoft.CodeAnalysis.LanguageServer\Microsoft.CodeAnalysis.LanguageServer.csproj" />
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The CompilerDeveloperSDK package was shipping a NuGet reference to the LanguageServer package; this was silly since it wouldn't have shipped any useful binaries, but did carry along a half a gigabyte of content files.

@jasonmalinowski jasonmalinowski merged commit 5632a4b into dotnet:main Sep 1, 2023
@jasonmalinowski jasonmalinowski deleted the create-separate-packages-for-each-rid branch September 1, 2023 19:00
@ghost ghost added this to the Next milestone Sep 1, 2023
@Cosifne Cosifne modified the milestones: Next, 17.8 P3 Sep 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-Infrastructure untriaged Issues and PRs which have not yet been triaged by a lead
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants