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

Add LLC Quickstart Tutorial #25356

Merged
merged 16 commits into from
Nov 19, 2021
Merged

Conversation

ShivangiReja
Copy link
Member

Fixes: #24493

@check-enforcer
Copy link

This pull request is protected by Check Enforcer.
For more information about how to run a pipeline against this pull request, see this.

Copy link
Member

@mikekistler mikekistler left a comment

Choose a reason for hiding this comment

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

This is great! I love all the links to supporting material.

I left a few comments on very minor things I think could be improved. Feel free to ignore, defer, or act on these as you see fit.

doc/LLC/LLC_Quickstart_Tutorial.md Outdated Show resolved Hide resolved
doc/LLC/LLC_Quickstart_Tutorial.md Outdated Show resolved Hide resolved
doc/LLC/LLC_Quickstart_Tutorial.md Outdated Show resolved Hide resolved
Copy link
Member

@annelo-msft annelo-msft left a comment

Choose a reason for hiding this comment

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

I added mostly nit-picky stuff and naming suggestions for new LLC names for here and in the template files. The one larger item is with regard to the "Explore" section. Would it be possible to add a discussion of what's in the Template file/the structure, etc? We could do this either in once place in Getting Started or broken up in each of the sections where we explore before modifying them for the new service?

@ShivangiReja
Copy link
Member Author

The one larger item is with regard to the "Explore" section. Would it be possible to add a discussion of what's in the Template file/the structure, etc? We could do this either in once place in Getting Started or broken up in each of the sections where we explore before modifying them for the new service?

I added small description at the top of each section explaining what's in the template project. Some sections have already the description in it, I added for the rest of them.


## Setup your repo

- Fork and clone an [azure-sdk-for-net](https://github.com/Azure/azure-sdk-for-net) repo. Follow the instructions in the [.NET Contributing.md](https://github.com/Azure/azure-sdk-for-net/issues/12903) to fork and clone the `azure-sdk-for-net` repo.
Copy link
Member

Choose a reason for hiding this comment

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

The wrong link? it is an issue link, shall we place a link to the Contributing.md?

Copy link
Member Author

Choose a reason for hiding this comment

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

This is intentional. I added the issue link because the instructions for fork and clone the repo is not added in the Contributing.md yet.


## Getting started

For this tutorial, we'll create a getting started project in a branch of your fork of `azure-sdk-for-net` repo. To create the project, we'll copy the [Azure.Template.Generated](https://github.com/Azure/azure-sdk-for-net/tree/main/sdk/template-dpg) project for .NET.
Copy link
Member

Choose a reason for hiding this comment

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

Can we put the template under /eng/templates? It will consist with .Net Track2 and other language. The sdk folder is for real service library.

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 add the template project just like any other service SDK in azure-sdk-for-net repo. It gives the partner teams idea about the repo structure and where to add the sdk.

HLC template project also uses the same structure. Here is an example.


For this tutorial, we'll create a getting started project in a branch of your fork of `azure-sdk-for-net` repo. To create the project, we'll copy the [Azure.Template.Generated](https://github.com/Azure/azure-sdk-for-net/tree/main/sdk/template-dpg) project for .NET.

The `Azure.Template.Generated` project is a great place to get started with Azure SDK .NET library development in general, as it contains a number of common patterns we use for tests, samples, documentation, generating API listings. It also has generated code demonstrating an example Data Plane Generated Client.
Copy link
Member

Choose a reason for hiding this comment

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

In the src folder of template, there are a folder 'swagger' to store the swagger. Swagger should be in the azure-rest-api-specs, it should not be in the azure-sdk-for-net folder. It may be good not to add Swagger in the template

Copy link
Member

Choose a reason for hiding this comment

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

In the template, src/properties/AssemblyInfo.cs, the NameSpace is not correct, shall we tell customer to correct it in this doc? And there are some Suppressions needed to added otherwise, build will fail. Shall we add those also?

Copy link
Member Author

@ShivangiReja ShivangiReja Nov 19, 2021

Choose a reason for hiding this comment

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

In the src folder of template, there are a folder 'swagger' to store the swagger. Swagger should be in the azure-rest-api-specs, it should not be in the azure-sdk-for-net folder. It may be good not to add Swagger in the template

This is just a template project, in the template swagger I added all the CRUD operations which follows the REST API guidelines which gives the partner teams idea about the basic operations. Yes, we use the swagger from azure-rest-api-specs repo but they are too big to use in the template. Later in the doc I mentioned to remove the swagger folder, also I mentioned in the autorest.md section to add swagger to your service and gave an example.


You'll notice that the `Azure.Template.Generated` project already has generated code in it! You're welcome to explore what's there -- it's been generated from the swagger file in the `sdk/template-dpg/Azure.Template.Generated/src/swagger` folder. For this tutorial, however, we'll delete these generated files so we can start clean.

- Delete the Generated folder in the `Azure.Template.Generated` project.
Copy link
Member

Choose a reason for hiding this comment

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

Shall we remove the 'swagger' and 'Generated' folder from the template?

Copy link
Member Author

Choose a reason for hiding this comment

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

I think it's good to see how a fully generated solution works, but interested to hear your perspectives - what would be a reason not to include these in the template?

@ShivangiReja
Copy link
Member Author

/check-enforcer override

@ShivangiReja ShivangiReja merged commit 31df886 into Azure:main Nov 19, 2021
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.

LLC Quickstart
4 participants