Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Remove Visual Studio macOS checks#318

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
edvilme merged 16 commits intomainfrommac-vs-remove
Mar 5, 2025
Merged

Remove Visual Studio macOS checks#318

edvilme merged 16 commits intomainfrommac-vs-remove
Mar 5, 2025

Conversation

edvilme
Copy link
Contributor

@edvilmeedvilme commentedJan 17, 2025
edited
Loading

Addresses#311
Visual Studio for Mac entered End Of Life support on 9.0.000. Hence, it should not show the text for VS in future versions.

Default behavior is kept when using the--preserve-mac-vs-sdks flag

@edvilmeedvilmeforce-pushed themac-vs-remove branch 2 times, most recently fromcb3d487 to7c963f9CompareJanuary 21, 2025 17:09
@edvilmeedvilme marked this pull request as ready for reviewJanuary 21, 2025 22:53
@edvilmeedvilme requested a review fromForgindJanuary 21, 2025 22:54
Copy link
Contributor

@ForgindForgind left a comment

Choose a reason for hiding this comment

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

This doesn't look right to me. It looks like you're removing the message that we need to keep itbecause of VS For Mac (if the SDKs are of a high-enough version) but still make it an implicit requirement for uninstalling and even extends that requirement to Windows, which is not desirable. We also don't really care about VS for Mac anymore.

@edvilmeedvilmeforce-pushed themac-vs-remove branch 2 times, most recently from78a2018 toc4963b4CompareJanuary 23, 2025 20:10
@edvilmeedvilme requested a review fromForgindJanuary 23, 2025 20:22
@@ -147,7 +148,7 @@ private void CheckAllowed(IEnumerable<Bundle> allBundles, IEnumerable<Bundle> un
{
uninstallableBundles.Should().Contain(sdkBundles[i]);
}
else
else if (!RuntimeInfo.RunningOnOSX)
Copy link
ContributorAuthor

Choose a reason for hiding this comment

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

In the new behavior, all SDK versions should be uninstallable on Mac

@@ -37,7 +37,7 @@ internal void ListCommandFilteringIsCorrectOnWindows(string bundleType, string o
}

[MacOsOnlyTheory]
[InlineData("sdk", "", new string[] { "3.1.0"}, new string[] { "3.0.0", "3.0.0-preview", "1.0.0", "3.0.1", "3.0.2", "3.0.2-preview1", "3.0.2-preview2", "2.1.1", "1.0.1" })]
[InlineData("sdk", "", new string[] {}, new string[] { "3.0.0", "3.0.0-preview", "1.0.0", "3.0.1", "3.0.2", "3.0.2-preview1", "3.0.2-preview2", "2.1.1", "1.0.1", "3.1.0" })]
Copy link
ContributorAuthor

Choose a reason for hiding this comment

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

"3.1.0" included inexpectedUninstallable as all sdks should be uninstallable on Mac

@@ -339,14 +339,11 @@ The versions that can be uninstalled with this tool are:
</value>
</data>
<data name="UninstallNoOptionDescriptionMac" xml:space="preserve">
<value>Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed forVisual Studio for Mac orSDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</value>
<value>Remove specified .NET Core SDKs or Runtimes. By default, this tool does not uninstall versions that might be needed for SDKs. Read the documentation for the .NET Core Uninstall Tool at https://aka.ms/dotnet-core-uninstall-docs.</value>
Copy link
Contributor

Choose a reason for hiding this comment

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

I know you didn't write this part, but 'by default, this tool does not uninstall versions that might be needed for SDKs'? That doesn't make sense to me...VS?

Copy link
ContributorAuthor

Choose a reason for hiding this comment

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

I think it referred to not uninstalling runtime versions that might be needed for VS, and hence by sdks

{
if (RuntimeInfo.RunningOnWindows)
{
return ApplyWindowsVersionDivisions(bundles);
}
else
{
return ApplyMacVersionDivisions(bundles);
return ApplyMacVersionDivisions(bundles, macOSPreserveVSSdks);
Copy link
Contributor

Choose a reason for hiding this comment

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

Is the first divided bundles important? I'd expected to just condition having this call at all on macOSPreserveVSSdks

Copy link
ContributorAuthor

Choose a reason for hiding this comment

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

Yes. From what I understand, while the sdks are all uninstallable now, runtimes should still be checked to avoid uninstalling a runtime associated to an sdk

Copy link
Contributor

Choose a reason for hiding this comment

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

If you uninstall an SDK, why do you need the runtime associated with that SDK?

Copy link
ContributorAuthor

@edvilmeedvilmeJan 23, 2025
edited
Loading

Choose a reason for hiding this comment

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

I thought it more like the other way around, when people attempt to uninstall a runtime associated with an sdk
(i.e., all SDKs should be uninstallable, but not all runtimes)

Copy link
Contributor

Choose a reason for hiding this comment

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

If it's ok to uninstall an SDK, we shouldn't be keeping a runtime that we only need for the uninstalled SDK...that doesn't make sense to me. And an SDK can typically run on a later runtime, just not typically an earlier runtime.

Copy link
ContributorAuthor

Choose a reason for hiding this comment

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

So then you mean it should not compare runtimes and sdks when uninstalling either?

Copy link
Contributor

Choose a reason for hiding this comment

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

So like let's say you have SDKs sa, sb, sc, and sd installed right now, and you have runtime ra, rb, and rc. sa depends on ra, sb on rb, and both sc and sd depend on rc. If you're planning to uninstall sa and sc and keep sb and sd, then you should uninstall ra because no SDK that isn't being uninstalled requires it. You can't uninstall rb because you aren't uninstalling sb, and you can't install rc because sd requires it even though you're uninstalling sc. Is that clearer?

Copy link
ContributorAuthor

Choose a reason for hiding this comment

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

Yes, thanks. So in essence, when uninstalling an sdk, it should also remove unused runtimes, right?

Copy link
Contributor

Choose a reason for hiding this comment

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

Yeah, for mac I think that's right.

Windows get a little more confusing because we don't really look for VS instances properly, so we (conservatively) didn't uninstall runtimes VS might need. We used to do the same for mac, but since VS for mac isn't really a thing anymore, we don't have to.

edvilme reacted with heart emoji
@@ -136,6 +136,10 @@ internal static class CommandLineConfigs
RuntimeInfo.RunningOnWindows ? LocalizableStrings.ForceOptionDescriptionWindows
: LocalizableStrings.ForceOptionDescriptionMac);

public static readonly Option MacOSPreserveVSSdksOption = new Option(
Copy link
Contributor

Choose a reason for hiding this comment

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

SDKs only or runtimes?

{
if (RuntimeInfo.RunningOnWindows)
{
return ApplyWindowsVersionDivisions(bundles);
}
else
{
return ApplyMacVersionDivisions(bundles);
return ApplyMacVersionDivisions(bundles, macOSPreserveVSSdks);
Copy link
Contributor

Choose a reason for hiding this comment

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

If it's ok to uninstall an SDK, we shouldn't be keeping a runtime that we only need for the uninstalled SDK...that doesn't make sense to me. And an SDK can typically run on a later runtime, just not typically an earlier runtime.

@edvilmeedvilmeforce-pushed themac-vs-remove branch 3 times, most recently from0b2aed7 tofa416deCompareFebruary 28, 2025 19:31
@edvilmeedvilme requested review fromForgind anda teamMarch 5, 2025 17:33
Copy link
Contributor

@ForgindForgind left a comment

Choose a reason for hiding this comment

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

Thanks for your work on this! I think it does what I'd expect now 🙂

edvilme reacted with heart emoji
@edvilmeedvilme merged commit03c8952 intomainMar 5, 2025
8 checks passed
edvilme added a commit that referenced this pull requestApr 4, 2025
commit2011e55Author: Eduardo Villalpando Mello <eduardov@microsoft.com>Date:   Thu Apr 3 10:02:00 2025 -0700    Windows: Remove version from .msi (#384)commitcfc4641Author: Eduardo Villalpando Mello <eduardov@microsoft.com>Date:   Thu Apr 3 10:01:48 2025 -0700    Mac: Add rid to tar.gz artifacts (#383)commit6f834e0Author: Eduardo Villalpando Mello <eduardov@microsoft.com>Date:   Mon Mar 31 17:08:40 2025 -0700    CI check signatures (#382)    * Fix signing on Windows and macOS    * Added signing verification steps to CIcommit7ea9cf1Author: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>Date:   Sat Mar 29 10:55:39 2025 -0700    [main] Update dependencies from dotnet/arcade (#375)commitedff54cAuthor: Eduardo Villalpando Mello <eduardov@microsoft.com>Date:   Thu Mar 27 10:53:37 2025 -0700    Update options (#380)    * dry-run: Add option --preserve-vs-for-mac-sdks    * Do not hide --version    * Add version description stringcommitb4be6e6Author: Eduardo Villalpando Mello <eduardov@microsoft.com>Date:   Mon Mar 24 15:37:22 2025 -0700    Update help text (#376)    Update help text    ---------    Co-authored-by: Noah Gilson <OTAKUPENGUINOP@GMAIL.COM>commit9fba2f3Author: Eduardo Villalpando Mello <eduardov@microsoft.com>Date:   Mon Mar 24 13:28:21 2025 -0700    Windows: Detect arm64 correctly (#370)commit289b92fAuthor: Eduardo Villalpando Mello <eduardov@microsoft.com>Date:   Thu Mar 20 11:06:51 2025 -0700    Update ci workflow (#372)commit13d1cf7Author: Eduardo Villalpando Mello <eduardov@microsoft.com>Date:   Wed Mar 19 14:35:24 2025 -0700    macOS: Fix corrupted binary (#346)    Add entitlements.plistcommit4da3500Author: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>Date:   Wed Mar 19 13:50:00 2025 -0700    Update dependencies fromhttps://github.com/dotnet/arcade build 20250314.6 (#343)    Microsoft.DotNet.Arcade.Sdk     From Version 10.0.0-beta.25157.1 -> To Version 10.0.0-beta.25164.6    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>commit882aff1Author: Eduardo Villalpando Mello <eduardov@microsoft.com>Date:   Fri Mar 14 13:42:02 2025 -0700    Require enter on user input (#340)commit24bea7dAuthor: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>Date:   Thu Mar 13 08:51:54 2025 -0700    Update dependencies fromhttps://github.com/dotnet/arcade build 20250307.1 (#336)    Microsoft.DotNet.Arcade.Sdk     From Version 10.0.0-beta.25126.4 -> To Version 10.0.0-beta.25157.1    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>commite72b91fAuthor: Marc Paine <marcpop@microsoft.com>Date:   Thu Mar 13 08:51:43 2025 -0700    Update to AwesomeAssertions (#337)    * Update to AwesomeAssertions    Update the addreportable call    * Remove unused using directivecommit03c8952Author: Eduardo Villalpando Mello <eduardov@microsoft.com>Date:   Wed Mar 5 12:18:25 2025 -0600    Remove Visual Studio macOS checks (#318)    * Remove checks for VSfM    * Add --preserve-mac-vs-sdks flag    * Update testscommitb648857Author: Eduardo Villalpando Mello <eduardov@microsoft.com>Date:   Tue Mar 4 16:55:10 2025 -0600    Update CLI options and help text (#335)    * Add target argument    * Add TARGET argument    * Add not for list by now    * Update LocalizableStrings    * Update --all description    * Remove target from options (?)    * Restore xlf translation    * Show bundle types in <TARGET> argument    * Update help link format    * Restore CommandLine Arguments    * Add --arm64 option    * Fix archSelection.HasFlagcommit9823503Author: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>Date:   Mon Mar 3 11:36:05 2025 -0800    [main] Update dependencies from dotnet/arcade (#327)    * Update dependencies fromhttps://github.com/dotnet/arcade build 20250206.4    Microsoft.DotNet.Arcade.Sdk     From Version 10.0.0-beta.25080.7 -> To Version 10.0.0-beta.25106.4    * Update dependencies fromhttps://github.com/dotnet/arcade build 20250213.2    Microsoft.DotNet.Arcade.Sdk     From Version 10.0.0-beta.25080.7 -> To Version 10.0.0-beta.25113.2    * Update dependencies fromhttps://github.com/dotnet/arcade build 20250220.6    Microsoft.DotNet.Arcade.Sdk     From Version 10.0.0-beta.25080.7 -> To Version 10.0.0-beta.25120.6    * Update dependencies fromhttps://github.com/dotnet/arcade build 20250225.2    Microsoft.DotNet.Arcade.Sdk     From Version 10.0.0-beta.25080.7 -> To Version 10.0.0-beta.25125.2    * Update dependencies fromhttps://github.com/dotnet/arcade build 20250226.4    Microsoft.DotNet.Arcade.Sdk     From Version 10.0.0-beta.25080.7 -> To Version 10.0.0-beta.25126.4    ---------    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>commitea26b97Author: Eduardo Villalpando Mello <eduardov@microsoft.com>Date:   Mon Mar 3 12:31:19 2025 -0600    Remove System.Reflection.Metadata (#334)commit275578eAuthor: Eduardo Villalpando Mello <eduardov@microsoft.com>Date:   Mon Mar 3 11:41:07 2025 -0600    Remove Microsoft.Win32.Registry package (#333)commit2ac5028Author: Eduardo Villalpando Mello <eduardov@microsoft.com>Date:   Fri Feb 28 13:14:49 2025 -0600    Small refactorings (#331)commit2393ca9Author: Eduardo Villalpando Mello <eduardov@microsoft.com>Date:   Tue Feb 25 16:51:31 2025 -0600    Hide .xlf files in PRs (#330)commit62b46a0Author: Eduardo Villalpando Mello <eduardov@microsoft.com>Date:   Tue Feb 25 13:58:14 2025 -0600    Fix Windows Signing (#329)    Add CreateLightCommandPackageDrop to generate wixpack.zip and signcommit06d1e0eAuthor: Eduardo Villalpando Mello <eduardov@microsoft.com>Date:   Tue Feb 18 12:33:11 2025 -0600    Sign macOS build (#323)    * Sign on Mac    * Fix typo on ArtifactName    * Add TeamName variable    * Add certificatename to binary    * Update binary path    * Update build command to include signing    * Typos    * Globb files to sign    * Add proper certificate    * Add proper certificate    * MacDeveloperHarden    * Add files separately    * Change flags    * Update certificate name    * Update build parameters    * Update cert namecommit85f5414Author: Eduardo Villalpando Mello <eduardov@microsoft.com>Date:   Mon Feb 10 09:01:45 2025 -0800    Remove unused signing target    Add files to ItemsToSign    Sign .msi file too    Update `ItemsToSign`    Update certificate name    UseDotNetCertificate    Add .msi certificatenamecommit8c89301Author: MerlinBot <MerlinBot>Date:   Fri Feb 7 21:44:29 2025 +0000    This pull request includes baselines **with an expiration date of 180 days from now** automatically generated for your 1ES PT-based pipelines. Complete this pull request as soon as possible to make sure that your pipeline becomes compliant. Longer delays in completing this PR can trigger additional emails or S360 alerts in the future.    1ES PT Auto-baselining feature helps capture existing violations in your repo and ensures to break your pipeline only for newly introduced SDL violations after baselining. Running SDL tools in break mode is required for your pipeline to be compliant. Go tohttps://aka.ms/1espt-autobaselining for more details.    **Please do not Abandon this PR.** Please reach out to 1ES PT for support. More details:https://eng.ms/docs/cloud-ai-platform/devdiv/one-engineering-system-1es/1es-docs/1es-pipeline-templates/supportcommit6a94223Author: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>Date:   Wed Feb 5 14:33:46 2025 -0800    [main] Update dependencies from dotnet/arcade (#316)    * Update dependencies fromhttps://github.com/dotnet/arcade build 20241222.1    Microsoft.DotNet.Arcade.Sdk     From Version 10.0.0-beta.24504.4 -> To Version 10.0.0-beta.24622.1    * Update dependencies fromhttps://github.com/dotnet/arcade build 20241226.1    Microsoft.DotNet.Arcade.Sdk     From Version 10.0.0-beta.24504.4 -> To Version 10.0.0-beta.24626.1    * Update dependencies fromhttps://github.com/dotnet/arcade build 20250103.3    Microsoft.DotNet.Arcade.Sdk     From Version 10.0.0-beta.24504.4 -> To Version 10.0.0-beta.25053.3    * Update dependencies fromhttps://github.com/dotnet/arcade build 20250106.1    Microsoft.DotNet.Arcade.Sdk     From Version 10.0.0-beta.24504.4 -> To Version 10.0.0-beta.25056.1    * Update dependencies fromhttps://github.com/dotnet/arcade build 20250111.1    Microsoft.DotNet.Arcade.Sdk     From Version 10.0.0-beta.24504.4 -> To Version 10.0.0-beta.25061.1    * Update dependencies fromhttps://github.com/dotnet/arcade build 20250117.3    Microsoft.DotNet.Arcade.Sdk     From Version 10.0.0-beta.24504.4 -> To Version 10.0.0-beta.25067.3    * Update dependencies fromhttps://github.com/dotnet/arcade build 20250126.1    Microsoft.DotNet.Arcade.Sdk     From Version 10.0.0-beta.24504.4 -> To Version 10.0.0-beta.25076.1    * Update dependencies fromhttps://github.com/dotnet/arcade build 20250130.7    Microsoft.DotNet.Arcade.Sdk     From Version 10.0.0-beta.24504.4 -> To Version 10.0.0-beta.25080.7    ---------    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>commit0cc67a3Author: Eduardo Villalpando Mello <eduardov@microsoft.com>Date:   Mon Feb 3 17:51:20 2025 -0600    Refactor macOS build pipeline (#325)    Use matrix strategy to avoid repeating codecommit11995adAuthor: Eduardo Villalpando Mello <eduardov@microsoft.com>Date:   Fri Jan 31 11:43:31 2025 -0600    macOS: Support building on Apple Silicon (#322)    Update solution file, project file and ci/cd to support building for osx-arm64commitaa40644Author: Eduardo Villalpando Mello <eduardov@microsoft.com>Date:   Wed Jan 29 17:54:52 2025 -0600    GetBundleVersion: Parse versions correctly to avoid duplicates or incomplete versions (#324)commit288db58Author: Eduardo Villalpando Mello <eduardov@microsoft.com>Date:   Mon Jan 27 15:08:07 2025 -0600    Identify macOS runtimes correctly (#321)commit802fef7Author: Eduardo Villalpando Mello <eduardov@microsoft.com>Date:   Fri Jan 24 18:40:01 2025 -0600    macOS: Show correct arm64 architecture (#320)
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers

@ForgindForgindForgind approved these changes

Assignees
No one assigned
Labels
None yet
Projects
None yet
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

2 participants
@edvilme@Forgind

[8]ページ先頭

©2009-2025 Movatter.jp