From f47cc1111cf310b72c150a5dd58c359ce94cf87e Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Thu, 11 Jan 2024 23:26:19 -0800 Subject: [PATCH] docs: Update repo markdown to reflect supported frameworks --- CONTRIBUTING.md | 2 +- Frameworks.md | 145 --------------------------------------- HowToGenerateAPackage.md | 2 +- README.md | 20 +----- WhyNetStandard1.3.md | 49 ------------- 5 files changed, 5 insertions(+), 213 deletions(-) delete mode 100644 Frameworks.md delete mode 100644 WhyNetStandard1.3.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1d7bd7ae22b..98bf61ecbed 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -40,7 +40,7 @@ These libraries are split into: ## Building and .NET Core -We use Visual Studio 2017 to edit the Support Libraries. +We use Visual Studio 2022 to edit the Support Libraries. We use [dotnet cli][dotnetcli] for testing and building both the generated Client Libraries and the Support Libraries. diff --git a/Frameworks.md b/Frameworks.md deleted file mode 100644 index 1aece148570..00000000000 --- a/Frameworks.md +++ /dev/null @@ -1,145 +0,0 @@ -# Framework support (generated libraries) - -Framework support with generated API libraries. E.g. [Google.Apis.Storage.v1](https://www.nuget.org/packages/Google.Apis.Storage.v1). - -## Version >= 1.26.0 -_Remove PCLs, move to NetStandard for legacy platform support_ - -_TODO: Add example nuget package when it's released_ - -Nuget packages target: - -* .NETFramework 4.5 - _depends on same version of support libraries_ -* .NETFramework 4.0 - _depends on v1.10.0 of support libraries_ -* .NETStandard 1.3 - _depends on same version of support libraries_ -* .NETStandard 1.0 - _depends on v1.25.0 of support libraries_ - * Provides legacy support for: Windows 8.0, Windows Phone 8.1, and Windows Phone Silverlight 8.0 - -Silverlight 5.0 is no longer supported. But it turns out our Silverlight support has always been broken, so this change won't have any effect. - -## Version 1.17.0 - 1.25.0 -_Explicit .NETFramework 4.5 support, for .NET4.6 projects_ - -E.g. [Google.Apis.Storage.v1 v1.17.0.631](https://www.nuget.org/packages/Google.Apis.Storage.v1/1.17.0.631) - -Nuget packages target: - -* .NETFramework 4.5 - _depends on same version of support libraries_ -* .NETStandard 1.3 - _depends on same version of support libraries_ -* PCL profile 259 (portable-net45+win8+wpa81+wp8) - _depends on same version of support libraries_ - * .NET Framework 4.5 - * Windows 8.0 (Windows app) - * Windows Phone 8.1 - * Windows Phone Silverlight 8.0 -* PCL profile 328 (portable-net4+sl50+win8+wpa81+wp8) - _depends on v1.10.0 of support libraries_ - * .NET Framework 4.0 - * Silverlight 5.0 - * Windows 8.0 (Windows app) - * Windows Phone 8.1 - * Windows Phone Silverlight 8.0 - -The explicit .NETFramework 4.5 target is required for .NET4.6+ projects, otherwise nuget selects the .NETStandard target over the PCL profile 259 target. - -## Version 1.15.0 - 1.16.0 -_.NETStandard support_ - -E.g. [Google.Apis.Storage.v1 v1.15.0.560](https://www.nuget.org/packages/Google.Apis.Storage.v1/1.15.0.560). - -Nuget packages target: - -* .NETStandard 1.3 - _depends on same version of support libraries_ -* PCL profile 259 (portable-net45+win8+wpa81+wp8) - _depends on same version of support libraries_ - * .NET Framework 4.5 - * Windows 8.0 (Windows app) - * Windows Phone 8.1 - * Windows Phone Silverlight 8.0 -* PCL profile 328 (portable-net4+sl50+win8+wpa81+wp8) - _depends on v1.10.0 of support libraries_ - * .NET Framework 4.0 - * Silverlight 5.0 - * Windows 8.0 (Windows app) - * Windows Phone 8.1 - * Windows Phone Silverlight 8.0 - -## Version 1.12.0 - 1.14.1 -_Initial multi-targeting_ - -E.g. [Google.Apis.Storage.v1 v1.12.0.448](https://www.nuget.org/packages/Google.Apis.Storage.v1/1.12.0.448). - -Nuget packages target: - -* PCL profile 259 (portable-net45+win8+wpa81+wp8) - _depends on same version of support libraries_ - * .NET Framework 4.5 - * Windows 8.0 (Windows app) - * Windows Phone 8.1 - * Windows Phone Silverlight 8.0 -* PCL profile 328 (portable-net4+sl50+win8+wpa81+wp8) - _depends on v1.10.0 of support libraries_ - * .NET Framework 4.0 - * Silverlight 5.0 - * Windows 8.0 (Windows app) - * Windows Phone 8.1 - * Windows Phone Silverlight 8.0 - -## Version <= 1.11.1 - -E.g. [Google.Apis.Storage.v1 v1.11.1.434](https://www.nuget.org/packages/Google.Apis.Storage.v1/1.11.1.434). - -No specific framework targets in the nuget packages; depends on the same version of the support libraries. - ----------- - -# Framework support (support libraries) - -Framework support with support libraries. E.g. [Google.Apis](https://www.nuget.org/packages/Google.Apis). - -## Version >= 1.26.0 -_Remove legacy frameworks_ - -_TODO: Add example nuget package when it's released_ - -Nuget packages target: - -* .NET Framework 4.5 -* .NETStandard 1.3 - -## Version 1.15.0 - 1.25.0 -_.NETStandard support_ - -E.g. [Google.Apis v1.25.0](https://www.nuget.org/packages/Google.Apis/1.25.0) - -Nuget packages target: - -* .NET Framework 4.5 -* .NETStandard 1.3 -* win81 (Windows 8.1 app) -* wp8 (Windows Phone Silverlight) -* wpa81 (Windows Phone 8.1) -* PCL profile 344 (portable-net45+sl5+win8+wpa81+wp8) - * Silverlight 5.0 - -## Version 1.11.1 - 1.14.1 - -_Remove support for .NET Framework 4.0_ - -E.g. [Google.Apis v1.14.1](https://www.nuget.org/packages/Google.Apis/1.14.1) - -Nuget packages target: - -* .NET Framework 4.5 -* win81 (Windows 8.1 app) -* wp8 (Windows Phone Silverlight) -* wpa81 (Windows Phone 8.1) -* PCL profile 344 (portable-net45+sl5+win8+wpa81+wp8) - * Silverlight 5.0 - -## Version <= 1.10.0 - -E.g. [Google.Apis v1.10.0](https://www.nuget.org/packages/Google.Apis/1.10.0) - -Nuget packages target: - -* .NET Framework 4.0 -* netcore45 (Windows 8 app) -* wp8 (Windows Phone Silverlight) -* wpa81 (Windows Phone 8.1) -* PCL profile 328 (portable-net4+sl50+win8+wpa81+wp8) - * Silverlight 5.0 diff --git a/HowToGenerateAPackage.md b/HowToGenerateAPackage.md index 8d9d7151ecb..9ebe58d4717 100644 --- a/HowToGenerateAPackage.md +++ b/HowToGenerateAPackage.md @@ -2,7 +2,7 @@ This isn't quite a simple as it could be, but it's fairly simple: -1. Use a Windows machine with `Visual Studio 2017 v15.4` or greater; and a recent version of `git`. +1. Use a Windows machine with `Visual Studio 2022 v17.8` or greater; and a recent version of `git`. 1. `git clone https://github.com/google/google-api-dotnet-client.git` 1. Delete all files from the `DiscoveryJson` directory. They are all `.json` files. 1. Copy the discovery-doc `json` file into the `DiscoveryJson` directory. diff --git a/README.md b/README.md index cd43d9b4a0a..d1a755f4b70 100644 --- a/README.md +++ b/README.md @@ -7,14 +7,6 @@ _If you're working with **Google Cloud Platform** APIs such as Datastore or Pub/Sub, consider using the [Cloud Client Libraries for .NET instead](https://github.com/googleapis/google-cloud-dotnet). These are the new and idiomatic .NET libraries targeted specifically at Google Cloud Platform Services._ -# Announcement: plan for changing library targets - -We are planning to change the set of target frameworks supported -by the packages generated from this repository. Please see the -[announcement -issue](https://github.com/googleapis/google-api-dotnet-client/issues/2561) -for more details and to provide feedback. - # Library Maintenance This client library is supported but in maintenance mode only. We are fixing necessary bugs and adding essential features to ensure this library continues to meet your needs for accessing Google APIs. Non-critical issues will be closed. Any issue may be reopened if it is causing ongoing problems. @@ -30,13 +22,9 @@ Please see the [help page](https://cloud.google.com/dotnet/docs/reference/help/r ## Supported Frameworks -(Note: this set may change in early 2024, as per -[this announcement -issue](https://github.com/googleapis/google-api-dotnet-client/issues/2561). - -* .NET Framework 4.5+ -* netstandard1.3, providing .NET Core support -* netstandard2.0, providing [ASP.NET Core Support](https://www.nuget.org/packages/Google.Apis.Auth.AspNetCore) +* .NET Framework 4.6.2+ +* .NET Standard 2.0 +* .NET 6.0+ ## Unsupported Frameworks @@ -45,8 +33,6 @@ issue](https://github.com/googleapis/google-api-dotnet-client/issues/2561). * Xamarin * Unity -For more details on framework support see [Frameworks.md](Frameworks.md). - See the [FAQ](FAQ.md#why-arent-unity-xamarin-or-uwp-supported) for details regarding the lack of UWP, Xamarin, and Unity support. Note that [Firebase](https://firebase.google.com/) is available on Unity, and focuses on the need of this platform. diff --git a/WhyNetStandard1.3.md b/WhyNetStandard1.3.md deleted file mode 100644 index 779347f0dab..00000000000 --- a/WhyNetStandard1.3.md +++ /dev/null @@ -1,49 +0,0 @@ -# Why 1.3 - -## Targeting NetStandard1.3 - -We target `NetStandard1.3` because of the following are not available in < 1.3: - -* **System.Diagnostics.Process**: - This is used in `Google.Apis.Auth.OAuth2.PromptCodeReceiver` to launch a - browser as part of the interactive oauth2 flow. -* **System.Security.Cryptography.Csp**: - Provides various RSA cryptography functionality as required by `Google.Apis.Auth.OAuth2.ServiceAccountCredential`. - E.g. `System.Security.Cryptography.RSACryptoServiceProvider`. -* **System.Reflection.TypeExtensions**: - Provides compatibility extension methods for 'old reflection' source code, - to 'new reflection' calls. -* **System.Net.Sockets**: - Currently used in `MediaDownloaderTest.cs` to find an available port. - -And the following are not available < 1.1: - -* **System.Net.Http**: - Used extensively throughout all three support libraries. -* **System.IO.Compression**: - Used in GZip compressed HTTP connections. - -## Targeting NetStandard1.1 - -We could probably target `NetStandard1.1` without too much problem. - -* **System.Diagnostics.Process**: - Remove support for launching a browser, simply display the URL to visit using - `Console.WriteLine()`. -* **System.Security.Cryptography.Csp**: - It is probable that `Portable.BouncyCastle` provides all the RSA cryptographic - functionally that we require. -* **System.Reflection.TypeExtensions**: - Providing our own compatibility extension methods is fairly simple. - It'll be 100 or so lines of code. -* **System.Net.Sockets**: - The available-port finding in `MediaDownloaderTest.cs` should be easily - refactorable. - -These changes can be made post-release. -Moving from targeting 1.3 to targeting 1.1 will be a non-breaking change. - -## Targeting NetStandard1.0 - -This is unrealistic due to the extensive use of `System.Net.Http` throughout -these support libraries. \ No newline at end of file