Skip to content

Generate code from TypeSpec

Weidong Xu edited this page Nov 20, 2024 · 11 revisions

Before you Start

Java Azure SDK Design Guidelines is the overall design guideline of the client SDK. Make sure you are familiar with concepts such as "Service Client" and "Packaging".

Make sure you are familiar with Git and Maven, especially the Build Lifecycle.

See Prerequisite of @azure-tools/typespec-java. Make sure that NodeJS, JDK, Maven is installed.

Generate SDK

Use TypeSpec defined in REST API specifications

☑️ The package structure in the azure-rest-api-specs repository should follow these guidelines.

Here is a sample for tspconfig.yaml. Please make sure service-dir, package-dir, namespace (for typespec-java) is correctly configured.

  • "parameters.service-dir.default" would be sdk/<service>
  • "options.@azure-tools/typespec-java.package-dir" would be <module>

If you have your namespace reviewed and finalized as e.g. azure-resourcemanager-elasticsearch (com.azure.resourcemanager.elasticsearch), <service> would be elasticsearch, module would be azure-resourcemanager-elasticsearch.

SDK module would be generated under the SDK project folder at sdk/<service>/<module>.

Generate Code

Install tsp-client CLI tool

npm install -g @azure-tools/typespec-client-generator-cli

For initial set up, from the root of the SDK repo, call

tsp-client init -c <url-to-tspconfig>

For updating TypeSpec generated SDK, call below in the SDK module folder (sdk/<service>/<module>) where tsp-location.yaml exists

tsp-client update

Build

See Build.

Clone this wiki locally