Skip to content

CSharp SDK - June 2018#4488

Merged
dsgouda merged 1 commit intopsSdkJson6from
unknown repository
Jul 13, 2018
Merged

CSharp SDK - June 2018#4488
dsgouda merged 1 commit intopsSdkJson6from
unknown repository

Conversation

@ghost
Copy link

@ghost ghost commented Jun 22, 2018

Description


This checklist is used to make sure that common guidelines for a pull request are followed.

General Guidelines

  • Title of the pull request is clear and informative.
  • There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

  • Pull request includes test coverage for the included changes.

SDK Generation Guidelines

  • If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.
  • The generate.cmd file for the SDK has been updated with the version of AutoRest, as well as the commitid of your swagger spec or link to the swagger spec, used to generate the code.
  • The *.csproj and AssemblyInfo.cs files have been updated with the new version of the SDK.

@dsgouda
Copy link
Contributor

dsgouda commented Jun 22, 2018

@frustoo2004 Please fix the failing tests. You may have to re-record the tests
Also please link the corresponding REST spec PR

@ghost
Copy link
Author

ghost commented Jun 25, 2018

@dsgouda , Please find the REST spec PR - Azure/azure-rest-api-specs#3273

@dsgouda
Copy link
Contributor

dsgouda commented Jun 25, 2018

@frustoo2004 Please pull from upstream and replace the generate.cmd with generate.ps1 similar to this and regnerate the code. Please check in changes to the .txt log file generated.

Copy link
Contributor

@dsgouda dsgouda left a comment

Choose a reason for hiding this comment

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

Since the api version is being bumped, please bump the major version in csproj
Also please run
msbuild build.proj /t:build /p:Scope=SDKs\Management.RecoveryServices.Backup
and
msbuild build.proj /t:build /p:Scope=SDKs\Management.RecoveryServices
and commit all the artifacts generated

@ghost
Copy link
Author

ghost commented Jun 26, 2018

@dsgouda , There has been no change in API version, '2017-07-01' is still the latest. Can you let me know why you think API version is being bumped up?

@ghost
Copy link
Author

ghost commented Jun 26, 2018

@dsgouda , Please check the latest commit 71674c9

Copy link
Contributor

Choose a reason for hiding this comment

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

@frustoo2004
Looks like an SDK for the 2016-12-01 version was never published. Which implies the next SDK to be published will be a new version of the REST API, hence major version bump

Copy link
Author

Choose a reason for hiding this comment

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

@dsgouda , We have alerady published SDK with the following versions- "2016-12-01" and "2017-07-01". If I remember correctly, the last SDK publish date was August 2017. Let me know if you need any more information

Copy link
Author

Choose a reason for hiding this comment

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

Adding @DheerendraRathor , who published the last SDK.

Copy link
Contributor

Choose a reason for hiding this comment

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

This version corresponds to the REST API version, not the SDK version.,

Copy link
Contributor

Choose a reason for hiding this comment

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

@dsgouda I don't get it. SDK was published with version 2016-12-01 in https://www.nuget.org/packages/Microsoft.Azure.Management.RecoveryServices.Backup/2.1.0-preview

Also why major version bump is required when only API version is upgraded and no contract change has been made given that api versions are not even transparent to SDK user?

Copy link
Contributor

Choose a reason for hiding this comment

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

@frustoo2004 Could you point us to the nuget package that was published with 2017-07-01 API version?
@DheerendraRathor the concern is whenever we bump the API version (2016-12-01 to 2017-07-01 in this case) the major version number must be bumped for the package.
Hope this makes sense.

Copy link
Contributor

Choose a reason for hiding this comment

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

@dsgouda This doesn't make sense to me. Why does API version change require major version bumping when everything is backward compatible? And in case of C# SDK, user can't even change api-version so SDK is pretty much a black box here.
Last time major version bumping (from 1.3 to 2.0) was done due to real breaking changes!

Copy link
Author

Choose a reason for hiding this comment

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

@shahabhijeet , Can you please review this?. @dsgouda , Can you please expedite the process?

Copy link
Contributor

Choose a reason for hiding this comment

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

@frustoo2004 and @DheerendraRathor please understand that there are versioning requirements that .NET SDK follows.
You have couple of issues in this PR

  1. Why are you still in preview when your REST spec isn't
  2. Why have you bumped up your API version to begin with?
  • If you have not broken any contact, why the same changes cannot be applied to 2016-12-02
  1. SDK is just a reflection of your REST spec.

  2. Ideally you should be making additive change to your existing API version and not upgrade from 2016-12-01 to 2017-07-01

Since you last released, new feature has been introduced that the user will see the underlying API version on the nuget.org site (here is one such example)

For full desktop .NET framework scenarios, slso consider how can a user who wants to use functionality introduced in 2016 API version and 2017 SxS (side by side)

Please bump up major version if not, please clarify why have you changed the underlying API version if the changes are additive and does not break contracts or is it that this new functionality will not be applied in all regions?

Copy link
Contributor

Choose a reason for hiding this comment

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

@frustoo2004 @DheerendraRathor please address @shahabhijeet 's comments here. Is there a reason why the REST spec is in stable version but the Nuget package is preview?

@ghost
Copy link
Author

ghost commented Jul 10, 2018

@dsgouda , @shahabhijeet I have upgraded the major version. Please check.

@ghost
Copy link
Author

ghost commented Jul 12, 2018

@dsgouda , @shahabhijeet , Can you please review the PR?

Copy link
Contributor

@dsgouda dsgouda left a comment

Choose a reason for hiding this comment

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

LGTM

@dsgouda
Copy link
Contributor

dsgouda commented Jul 12, 2018

@frustoo2004 Could you please merge the commits into a single commit and update the PR. Will merge right away

@ghost
Copy link
Author

ghost commented Jul 13, 2018

I have squashed the commits to a single one. Please merge this PR.

@ghost
Copy link
Author

ghost commented Jul 13, 2018

@dsgouda Please merge the PR.

@dsgouda dsgouda merged commit 8640ecc into Azure:psSdkJson6 Jul 13, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

Comments