Skip to content

Commit

Permalink
Merge pull request #4650 from microsoft/andrueastman/openApilocation
Browse files Browse the repository at this point in the history
Updates description file naming.
  • Loading branch information
andrueastman authored May 13, 2024
2 parents 72e70ba + 39b4804 commit e445e0b
Show file tree
Hide file tree
Showing 7 changed files with 8 additions and 7 deletions.
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

0 comments on commit e445e0b

Please sign in to comment.