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

Updates description file naming. #4650

Merged
merged 2 commits into from
May 13, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Fixed `InvalidOperationException` thrown when serializing IBacked models with no changes present in the additional data in dotnet [microsoftgraph/msgraph-sdk-dotnet#2471](https://github.com/microsoftgraph/msgraph-sdk-dotnet/issues/2471).
- Fixed `RequestConfiguration` Classes dropped in RequestBuilder methods in python [#4535](https://github.com/microsoft/kiota/issues/4535)
- Fixed incorrect optional types in method parameters in Python [#4507](https://github.com/microsoft/kiota/issues/4507)
- Changes the cached description file name to `openapi.yml|json` from `description.yml|json` [#4641](https://github.com/microsoft/kiota/issues/4641)

## [1.14.0] - 2024-05-02

Expand Down
2 changes: 1 addition & 1 deletion specs/cli/client-add.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

When executing, a new API entry will be added and will use the `--client-name` parameter as the key for the map. When loading the OpenAPI description, it will store the location of the description in the `descriptionLocation` property. If `--include-path` or `--exclude-path` are provided, they will be stored in the `includePatterns` and `excludePatterns` properties respectively.

Every time an API client is added, a copy of the OpenAPI description file will be stored in the `./.kiota/documents/{client-name}/{client-name}.yaml|json` folder. The files will be named using the API client name. This will allow the CLI to detect changes in the description and avoid downloading the description again if it hasn't changed.
Every time an API client is added, a copy of the OpenAPI description file will be stored in the `./.kiota/documents/{client-name}/openapi.yaml|json` folder. The files will be named using the API client name. This will allow the CLI to detect changes in the description and avoid downloading the description again if it hasn't changed.

At the same time, an [API Manifest](https://www.ietf.org/archive/id/draft-miller-api-manifest-01.html) file will be generated (if non existing) or edited (if already existing) in the `.kiota` folder next to `workspace.json`. API Manifest represents a snapshot of API dependencies and permissions required to access those APIs. This file will represent a concatenated surface of all APIs used across plugins and clients. Both files, `apimanifest.json` and `workspace.json` will be used to generate the code files. A new hash composed of the Kiota version, the OpenAPI description location and the properties of the client will be generated and would trigger an update to the [API Manifest][https://www.ietf.org/archive/id/draft-miller-api-manifest-01.html].

Expand Down
2 changes: 1 addition & 1 deletion specs/cli/client-edit.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ _The resulting `apimanifest.json` file will look like this:_
└─workspace.json
└─documents
└─GraphClient
└─GraphClient.yaml
└─openapi.yaml
└─generated
└─graph
└─csharp
Expand Down
2 changes: 1 addition & 1 deletion specs/cli/plugin-add.md
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ _The resulting API Manifest named `apimanifest.json` in the `./kiota` folder (co
└─apimanifest.json # Single artifact with all APIs dependencies info across clients and plugins
└─documents
└─github
└─GitHub.json # OpenAPI document
└─openapi.json # OpenAPI document
└─overlay.json # Overlay to be applied on top of OpenAPI document
└─generated
└─plugins
Expand Down
2 changes: 1 addition & 1 deletion specs/cli/plugin-edit.md
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ _The resulting API Manifest named `apimanifest.json` in the `./kiota` folder (co
└─apimanifest.json
└─documents
└─github
└─GitHub.json # OpenAPI document
└─openapi.json # OpenAPI document
└─overlay.json # Overlay to be applied on top of OpenAPI document
└─generated
└─plugins
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public DescriptionStorageService(string targetDirectory)
o.PoolSize = 20;
o.PoolInitialFill = 1;
});
private string GetDescriptionFilePath(string clientName, string extension) => Path.Combine(TargetDirectory, DescriptionsSubDirectoryRelativePath, clientName, $"description.{extension}");
private string GetDescriptionFilePath(string clientName, string extension) => Path.Combine(TargetDirectory, DescriptionsSubDirectoryRelativePath, clientName, $"openapi.{extension}");
public async Task UpdateDescriptionAsync(string clientName, Stream description, string extension = "yml", CancellationToken cancellationToken = default)
{
ArgumentNullException.ThrowIfNull(clientName);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,7 @@ await classicService.UpdateStateFromConfigurationAsync(
Assert.False(File.Exists(Path.Combine(tempPath, LockManagementService.LockFileName)));
Assert.True(File.Exists(Path.Combine(tempPath, WorkspaceConfigurationStorageService.KiotaDirectorySegment, WorkspaceConfigurationStorageService.ConfigurationFileName)));
Assert.True(File.Exists(Path.Combine(tempPath, WorkspaceConfigurationStorageService.KiotaDirectorySegment, WorkspaceConfigurationStorageService.ManifestFileName)));
Assert.True(File.Exists(Path.Combine(tempPath, DescriptionStorageService.DescriptionsSubDirectoryRelativePath, "clientName", "description.yml")));
Assert.True(File.Exists(Path.Combine(tempPath, DescriptionStorageService.DescriptionsSubDirectoryRelativePath, "clientName", "openapi.yml")));
}
[InlineData(true, true)]
[InlineData(true, false)]
Expand All @@ -231,7 +231,7 @@ public async Task GetsADescription(bool usesConfig, bool cleanOutput)
var mockLogger = Mock.Of<ILogger>();
Directory.CreateDirectory(tempPath);
var service = new WorkspaceManagementService(mockLogger, httpClient, usesConfig, tempPath);
var descriptionPath = Path.Combine(tempPath, $"{DescriptionStorageService.DescriptionsSubDirectoryRelativePath}/clientName/description.yml");
var descriptionPath = Path.Combine(tempPath, $"{DescriptionStorageService.DescriptionsSubDirectoryRelativePath}/clientName/openapi.yml");
var outputPath = Path.Combine(tempPath, "client");
Directory.CreateDirectory(outputPath);
Directory.CreateDirectory(Path.GetDirectoryName(descriptionPath));
Expand Down
Loading