Граф коммитов

557 Коммитов

Автор SHA1 Сообщение Дата
Jeffrey Stedfast 4db946f35b
Fixed package signing (#1594)
* Explicitly invoke the 'SignFiles' target in the package signing step
* Generate & archive a binlog for the NuGet package signing step
* Disable sbom for the nuget packages.
2024-08-15 14:22:51 -04:00
Jeffrey Stedfast 18815135e1
Bump System.Text.Json to v8.0.4 (#1595) 2024-08-14 10:12:24 -04:00
ET de83a95f02
Add mapping for Xamarin.CommunityToolkit (#1586)
* Add mapping for Xamarin.CommunityToolkit

* Fix tests and docs

* Update map for CommunityToolkit

* CR feedback
2024-07-25 07:52:00 -07:00
Jeffrey Stedfast bf93ef999b
Attempt to fix NuGet package signing (#1588) 2024-07-23 16:01:49 -04:00
Anton Piskunov 3f16db8190 Update build.yml for Azure Pipelines 2024-07-23 11:06:10 -07:00
Jeffrey Stedfast b3248e02af
Use publishFeedCredentials instead of externalEndpoint for publishing (#1578) 2024-06-26 13:53:02 -04:00
Jeffrey Stedfast 1169ead99e
Timestamp NuGet packages (#1576)
* Timestamp NuGet packages

Several people have been bitten while testing the UpgradeAssistant with
local builds of the Mappings nuget package because every build produces
the same versioned package and if they forget to delete the cached version
in the NuGet cache directory, then their changes will appear to not take
affect because UA is using an old version of their changes.

Also modified the Nerdbank.GitVersioning version.json file to use a base of
"1.0" instead of "1.0.0".

* Use 'preview' instead of 'CI' in the package versioning scheme
2024-06-25 13:22:36 -04:00
Morten Nielsen 14aba66d30
Adds ArcGIS Maps SDK mappings (#1572)
* Adding Esri Xamarin.Forms => Maui mapping

* Added missing mappings

* Add more mappings

* Fix test failure

---------

Co-authored-by: Morten Nielsen <mort5161@esri.com>
2024-06-20 17:52:17 -04:00
Jeffrey Stedfast e5a6940cb2
Fix the wildcards used to determine unit test assembly names (#1567)
This will hopefully fix the Azure pipeline logic for running the unit tests.
2024-06-14 16:38:53 -04:00
Jeffrey Stedfast 59abec7914
Pack UpgradeAssistant.Mappings w/o the dll (#1568) 2024-06-14 16:38:19 -04:00
Jeffrey Stedfast fab99d80b6
Update azure-pipelines.yml to install net8.0 (#1566) 2024-06-14 11:59:56 -04:00
Jeffrey Stedfast f31375dd29
Update ci.yml (#1565) 2024-06-06 13:08:25 -04:00
Jeffrey Stedfast 25d3b07127
Updated the Azure Pipeline (#1563) 2024-06-05 13:50:12 -04:00
Jeffrey Stedfast 56883b07f1
Added CI/CD GitHub workflow (#1564) 2024-06-05 13:49:20 -04:00
Jeffrey Stedfast 885c664025
Cleaned up README/CONTRIBUTING/CHANGELOG files and added AlohaKit map… (#1561)
* Cleaned up README/CONTRIBUTING/CHANGELOG files and added AlohaKit mappings

* Added Azure Pipeline "Official Build" parameter

* Moved the AlohaKit mappings

* Change TeamName for pipeline to dotnetupgradeassistant
2024-05-31 10:36:05 -07:00
Jeffrey Stedfast 032a4c7441
Refactored the repo to host package and API maps (#1555) 2024-05-28 15:08:45 -07:00
Olia Gavrysh d31f305d7a
Update README.md 2024-01-11 16:38:28 -08:00
Olia Gavrysh 8d3f555e29
Update README.md 2024-01-11 16:33:31 -08:00
Yitzhak Steinmetz be0ea11e82
Fix a typo in the Segoe font name (#1474)
The message seemingly accidentally has "Seg Segoe UI" instead of "Segoe
UI".
2023-04-13 11:45:02 -04:00
Jeffrey Stedfast e30ffa80e7
When in non-interactive mode and no entry-points were specified, upgr… (#1469)
* When in non-interactive mode and no entry-points were specified, upgrade *all* projects

Fixes issue #1459

* Updated unit test for changed expectations
2023-04-05 15:05:08 -04:00
Diana Soltani f78a725d13
Fix android/ios.csproj target framework assignments (#1466)
* Fix android/ios.csproj target framework assignments

* Shorten IsMobileAppSDK to IsMobile

* Capitalize i since const field names should begin with uppercase

* Use TryParse to avoid exceptions

* Set step results for apply and initialize for null Tfm as failed and incomplete respectively

* Standardize result message

---------

Co-authored-by: Diana Soltani <dianasoltani@microsoft.com>
2023-04-03 15:31:00 -07:00
Jeffrey Stedfast 1a0fdfaac1
Fixed memory corruption in VisualStudioFinder (#1425)
Fixed memory corruption in VisualStudioFinder

VisualStudioFinder.GetLatestPath() uses COM to iterate over the
install locations for Visual Studio but somehow, once the method
returns to the caller (GetLatestVisualStudioPath), none of the
methods can be relied on to return sane values.

Therefore, the easiest solution is to track the values we care about
and just return them to our caller who can then avoid needing to re-make
the same COM invocations a second time.
2023-03-31 08:41:28 -07:00
Diana Soltani 49d6407c68
Add missing telemetry during failed upgrade steps (#1429)
* Add missing telemetry during failed upgrade steps

* Track exceptions in the apply phase + remove dispose

* Add nullable to telemetry in context

---------

Co-authored-by: Diana Soltani <dianasoltani@microsoft.com>
2023-03-18 01:09:17 +00:00
Diana Soltani 1cc53ee678
App target frameworks fix (#1435)
* Fixed memory corruption in VisualStudioFinder

VisualStudioFinder.GetLatestPath() uses COM to iterate over the
install locations for Visual Studio but somehow, once the method
returns to the caller (GetLatestVisualStudioPath), none of the
methods can be relied on to return sane values.

Therefore, the easiest solution is to track the values we care about
and just return them to our caller who can then avoid needing to re-make
the same COM invocations a second time.

* Removed LogError call used for debugging

* Improve support <TargetFrameworks> for migrations

* Nuget TFI addition

* Fix typo for recommended net7-ios on MauiiOS projects

* Add default platform versions

* Revert "Removed LogError call used for debugging" from tfm branch

This reverts commit 91dd355a19.

* Revert "Fixed memory corruption in VisualStudioFinder"

This reverts commit ab1f8ef0f1.

* update mobile dev logic + remove defaults

* Update package mapper to include App Center packages + update Community Toolkit to latest

* Clean up code + update SkiaSharp

---------

Co-authored-by: Jeffrey Stedfast <jestedfa@microsoft.com>
Co-authored-by: Diana Soltani <dianasoltani@microsoft.com>
2023-03-16 18:49:26 -07:00
Jeffrey Stedfast 5fd34008e8
macOS port of the upgrade-assistant (#1409)
* Use a hard-coded PackageId for Extensions.Default.Analyzers

Don't use $(MSBuildProjectFullPath)* because it includes the full path
and breaks NuGet caching logic on non-Windows platforms.

* Do not require the ENABLE_CROSS_PLATFORM feature flag to run on macOS

* Don't crash in VisualStudioFinder.Configure() due to COM exceptions

* Use sudo on macOS when running `dotnet workload install maui`

* Trim trailing whitespace (CRLF) from the using directive when searching for it in the template

This is an actual code-change fix that helps unit tests pass

* A bunch of fixes to the unit tests

Most of these fixes fit into the following categories:

1. File path construction (using the correct path separator for the platform)
2. Using .ReplaceLineEndings() on strings that represent file content so we get consistent line endings when comparing expected/actual results
3. Adding TextSpan file offsets to use on Unix platforms (e.g. macOS) which will be different from the TextSpans on Windows

* Fixed MappedSubTextTests (and found a legit bug in MappedSubText regarding line ending assumptions)

* Fixed RazorHelperUpdaterTests

File paths needed to be sorted. The returned order is different on macOS than on Windows for some reason.

* Fixed RazorMappedTextReplacerTests and RazorSourceUpdaterTests

Use .ReplaceLineEndings() on source strings

* Fixed WCFUpdaterTests

* Fixed pruning of duplicate Compile/None items on macOS

Needed to canonicalize the EvaluatedInclude paths before comparing them.

* More path directory separator fixes

* Need to compare item.Include/EvaluatedInclude using canonical paths

* Moved GetProjectName() call out of the inner loop

* More canonicalization of paths when used in comparisons

* More canonicalization of paths

* Fixed up paths in <ItemType Update=...> and <ItemType Remove=...>

* Needed to add more .ReplaceLineEndings() in the unit tests for Razor

* Only use the VisualStudioPath/Version on the Windows platform

* Create a temp MSBuildExtensionsPath on macOS

The upgrade-assistant uses dotnet's MSBuild while older Xamarin.iOS/Mac/Android/etc
projects used Mono's XBuild (an MSBuild clone).

Unfortunately, there's no way to specify that dotnet's MSBuild should look in both
/usr/local/share/dotnet/sdk/{version} directory *and* in the
/Library/Frameworks/Mono.framework/External/xbuild directories for the
$(MSBuildExtensionsPath) imports.

In order to be able to load Xamarin.* projects, we need to create a temp dir that
includes *both* the standard targets/props files *and* the Xamarin props/targets files
and the only way to do that seems to be to create a temp directory full of symlinks.

* Optimized ProjectRootElementExtensionsForConversion.GetProjectName()

Instead of using projectPath.Split('/').Last() and then result.Substring(),
just get the start/end indexes of the substring we want and only do 1
Substring() operation.

* Add a start-up warning for MacOS

* Use "dotnet-upgrade-assistant" in the temp directory path

* Use a predictable ~/.dotnet-upgrade-assistant/dotnet-sdk/{version} directory

* Use !RuntimeInformation.IsOSPlatform(OSPlatform.Windows) when deciding whether or not to use sudo dotnet commands

* Disable the PCL test on non-Windows

* Disable some DependencyInjections Options tests on non-Windows platforms

* Disable WinUI and WPF migrations on non-Windows platforms.

These probably don't make sense to try to migrate on macOS.

* Disable Razor UpgradeSteps on non-Windows platforms

* Disable VisualBasic and WCF UpgradeSteps on non-Windows platforms

* Updated warning message for MacOS

* Reduce code duplication in conversion between file path separators

* Don't swallow exceptions thrown while creating MSBuildExtensionsPath symlinks

Surface these exceptions to the user.

* Removed FIXME that is no longer necessary

* File.Exists() returns false for symlinks to directories

Use a different approach to avoid exceptions trying to create a
symlink that already exists.
2023-03-03 12:35:23 -05:00
Diana Soltani f7bea532b1
Improve string formatting + Xamarin.Forms versioning logic (#1418)
* Fix string formatting exception + nuget package check logic

* Address PR Comments

* Restore Logger formatting

---------

Co-authored-by: Diana Soltani <dianasoltani@microsoft.com>
2023-02-21 10:47:44 -08:00
Olia Gavrysh d41150dd13 Added SUPPORT.md 2023-02-08 18:41:29 -08:00
Marco Goertz 6304b1d078
Fixed E2ETest failures (#1414)
- Fixed E2ETest regex to allow for version strings with a '+'
- Also fixed a few CA warnings
2023-02-06 07:52:27 -08:00
Mike Conjoice 44050a6456
Replaced Current TFM with STS in Readme.md (#1373)
* Replaced Current TFM with STS

Readme.md is still referencing Current TFM when options only allow selection of Short Term Support (STS)

* Update README.md

Formatting change

* Updated to current naming standards for release cycles
2023-02-03 16:42:53 -08:00
Marco Goertz 5d07f3b86b
Fixes for MAUI, logging, failed step repetitions, etc. (#1403)
* * Allow any version of .NetStandard to be migrated to MAUI
* Avoid unnecessary TFM merges for MAUI TFM SelectorFilter
* Always show 'dotnet --info' in case of workload install failure
* Added more information to log messages, such as project names
* Added MAUI step results to SARIF output
* Prevent endless failed step repetitions by adding Failded to IsDone
* Added failure level info to SARIF output using Note as default
* Added additional optional failure details to SARIF output
* Removed about:blank default which caused empty browser windows on click
* Fixed a few grammar and spelling issues

* * Restored `UpgradeStep.IsDone` behavior
* Don't return failed steps in non-interactive mode instead
* Updated tests to reflect new SARIF output
* Re-enabled Maui E2E tests
* Introduced TestOptions to skip the `MauiWorkloadUpgradeStep` during E2E tests

* * Replace the try-convert runner version with `[VERSION]` in E2E test SARIF output
* Skip the Apply part of the `MauiWorkloadUpgradeStep` but keep the rest for diagnostic output in the test
2023-01-30 11:31:24 -08:00
Ujjwal Chadha e93b600148
Fix regex for matching correct namespace (#1383) 2023-01-11 17:48:10 -08:00
Jeffrey Stedfast c03504fd0b
Avoid async/await when unnecessary and other code cleanup (#1399) 2023-01-07 07:23:02 -05:00
dotnet-maestro[bot] 54d59a5dd7
Update dependencies from https://github.com/dotnet/arcade build 20221230.1 (#1396)
Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.SignTool , Microsoft.DotNet.SwaggerGenerator.MSBuild
 From Version 8.0.0-beta.22623.1 -> To Version 8.0.0-beta.22630.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2023-01-03 09:38:17 -08:00
dotnet-maestro[bot] f1977b1dab
Update dependencies from https://github.com/dotnet/arcade build 20221223.1 (#1392)
[main] Update dependencies from dotnet/arcade
2022-12-27 18:14:10 +00:00
dotnet-maestro[bot] 033e710292
Update dependencies from https://github.com/dotnet/arcade build 20221216.1 (#1388)
Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.SignTool , Microsoft.DotNet.SwaggerGenerator.MSBuild
 From Version 8.0.0-beta.22609.3 -> To Version 8.0.0-beta.22616.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2022-12-19 08:48:18 -08:00
dotnet-maestro[bot] f0418404c1
Update dependencies from https://github.com/dotnet/arcade build 20221209.3 (#1386)
[main] Update dependencies from dotnet/arcade
2022-12-12 15:16:13 +00:00
dotnet-maestro[bot] 27054ed4a1
Update dependencies from https://github.com/dotnet/arcade build 20221129.2 (#1377)
Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.SignTool , Microsoft.DotNet.SwaggerGenerator.MSBuild
 From Version 8.0.0-beta.22575.1 -> To Version 8.0.0-beta.22579.2

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2022-12-05 11:14:50 -08:00
dotnet-maestro[bot] a378017997
Update dependencies from https://github.com/dotnet/arcade build 20221125.1 (#1372)
[main] Update dependencies from dotnet/arcade
2022-11-29 16:30:29 +00:00
Vijay Ramakrishnan 9bf677d9a0
Only enabling the build step for CodeQL (#1368) 2022-11-21 16:27:50 -08:00
Vijay Ramakrishnan c1be9901e2
Adding common-variables.yml required for the codeql pipeline (#1366) 2022-11-21 12:09:08 -05:00
Vijay Ramakrishnan 1159294d77
Adding a separate CodeQL pipeline (#1363) 2022-11-17 21:41:27 -05:00
Vijay Ramakrishnan 4efec7cfdf
Enable CodeQL for the repo (#1356)
* Enable CodeQL for the repo
* Updating build images
2022-11-14 13:59:04 -08:00
Vijay Ramakrishnan 1eaed1d7ed
Adding NET7.0 assemblies to exclusion list (#1354) 2022-11-09 08:36:27 -08:00
Vijay Ramakrishnan 59925eacf7
Updating the changelog with the latest changes (#1352)
* Updating the changelog with the latest changes

* Update CHANGELOG.md

Co-authored-by: Marco Goertz <mgoertz@microsoft.com>
2022-11-08 16:50:54 -08:00
dotnet-maestro[bot] b2aeae2c0e
[main] Update dependencies from dotnet/arcade (#1341)
[main] Update dependencies from dotnet/arcade


 - Merge branch 'main' into darc-main-aa3085c3-7096-49c3-a2d7-1e9d4db82687
2022-11-08 17:36:10 +00:00
Marco Goertz 72cfd8d28d
Added XAML namespace upgrade step (#1349)
* Added XAML namespace upgrade step as well as the following fixes:
* Remove duplicate Compile item <Compile Include="MauiProgram.cs" />
* Remove "Xamarin.Forms" from qualified names (Xamarin.Forms.Shell => Shell)
* Replace PlatformConfiguration specific namespaces with Maui versions

* Updated MauiSample test assets and added ApplicableComponents to our Maui analyzers

* Addressed PR check failures by adding spacing and async suggestions

* Upgrade MicrosoftCodeAnalysisVersion to 4.0.0 and switch to making changes to XAML files through Roslyn.
Introduced MauiWorkloadUpgradeStep to ensure the MAUI workload is installed.

* Target net7.0 in MAUI migration and build against latest 7.0.100
Avoid repeated failed workload upgrade steps

* Pinning .NET SDK to RC2 release (7.0.100-rc.2.22477.23)

* Updated TFMs in tests to net7.0

* WarningLevel is now being persisted during the upgrade

* Temporarily disable MAUI E2E tests

* Fixed spacing analyzer issues

* 3rd party signing for MessagePack.dll and MessagePack.Annotations.dll
2022-11-07 17:39:17 -08:00
Vijay Ramakrishnan 3c1aa55c0a
Adding STS to the list of TFM selection (#1350)
- Adding STS as a TFM selection option along with LTS & Preview.
- Updating the tests to reflect this change. 
- Making STS the default tfm selection if an explicit TFM is not passed through the commandline tool.
- Temporarily disabling the Web tests since the namespace import fix is not getting applied while running the tests.
2022-11-07 08:55:10 -08:00
Ujjwal Chadha be3f44f307
Patch version numbers (#1339) 2022-10-20 11:28:39 -07:00
dependabot[bot] 3795b9550d
Bump NuGet.Protocol in /src/cli/Microsoft.DotNet.UpgradeAssistant.Cli (#1338)
Bumps [NuGet.Protocol](https://github.com/NuGet/NuGet.Client) from 5.8.0 to 5.9.3.
- [Release notes](https://github.com/NuGet/NuGet.Client/releases)
- [Commits](https://github.com/NuGet/NuGet.Client/commits)

---
updated-dependencies:
- dependency-name: NuGet.Protocol
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-20 16:04:53 +00:00
dependabot[bot] 7a6a741f09
Bump NuGet.Commands (#1337)
Bumps [NuGet.Commands](https://github.com/NuGet/NuGet.Client) from 6.0.2 to 6.2.2.
- [Release notes](https://github.com/NuGet/NuGet.Client/releases)
- [Commits](https://github.com/NuGet/NuGet.Client/commits)

---
updated-dependencies:
- dependency-name: NuGet.Commands
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-20 00:02:07 +00:00