kiota icon indicating copy to clipboard operation
kiota copied to clipboard

kiota plugin generate creates an empty folder called `output` when the output folder is set to something else.

Open darrelmiller opened this issue 1 year ago • 9 comments

What are you generating using Kiota, clients or plugins?

API Client/SDK

In what context or format are you using Kiota?

Nuget tool

Client library/SDK language

None

Describe the bug

When creating a plugin and choosing a different folder for output, the generate command causes a folder called output to still be created.

Expected behavior

No output folder.

How to reproduce

kiota plugin add --pn openaiplug  --type APIPlugin -o testplugin -d "https://raw.githubusercontent.com/openai/openai-openapi/master/openapi.yaml"

kiota plugin generate --pn openaiplug 

Open API description file

No response

Kiota Version

1.18.0-preview.202408220001+9b943845ea8e90b3d5d7d4ee30b4fee0f9d36ab1

Latest Kiota version known to work for scenario above?(Not required)

No response

Known Workarounds

No response

Configuration

No response

Debug output

Click to expand log ```
</details>


### Other information

_No response_

darrelmiller avatar Aug 26 '24 15:08 darrelmiller

@darrelmiller this is expected. It's because we are operating on multiple clients/plugins and we need somewhere to place the logs. (there are logs like parsing the workspace configuration that are not related to any given plugin/client) We could decide to place this somewhere else, like in the .kiota directory, but then we should decide where to place it for other commands.

Also while looking into that, I noticed kiota was emitting the wrong hints afterwards. This has been addressed by #5245

baywet avatar Aug 26 '24 16:08 baywet

I think we need to consider putting those files in the .kiota file. I found it quite intrusive when trying to organize the project with Kiota/TypeSpec/TTK all working together.

darrelmiller avatar Aug 26 '24 16:08 darrelmiller

And then would you expect a second log file: one for each client essentially?

baywet avatar Aug 26 '24 17:08 baywet

I think I would expect just one log file for kiota. I'm not sure what the value of a client specific log is.

darrelmiller avatar Aug 26 '24 17:08 darrelmiller

so should we say we always log under .kiota in the workspace experience? CC @maisarissi

baywet avatar Aug 26 '24 18:08 baywet

I vote yes for logs. Less intrusive and easier to locate across all clients generated! Maybe a .kiota/logs folder? Are we generating a single file for all generated artifacts or a log file per artifact?

sebastienlevert avatar Aug 26 '24 22:08 sebastienlevert

right now the experience is a bit inconsistent:

  • any command that impacts a single client/plugin: next to the client/plugins
  • any other command (including search, show, etc...): output folder

baywet avatar Aug 27 '24 12:08 baywet

I'm ok with one log file and I don't see scenarios where having specific logs per client/plugin generation would benefit the user more than 1 log across all generation. So, in the future we want TTK to use the .kiota as part of their app creation when creating a API plugin, so their users can benefit from Kiota features like editing existing plugins, regeneration, etc. Should the logs be part of the .kiota too?

maisarissi avatar Sep 02 '24 17:09 maisarissi

We could have a structure like this one in the workspace experience:

  • commands that impact clients/plugins .kiota/logs/CLientName.log
  • every other command .kiota/logs/main.log (assuming nobody names a client "main")

if that works for you, can you update the specs please?

baywet avatar Sep 03 '24 13:09 baywet

@maisarissi is this still a problem? or can we close this?

baywet avatar Apr 09 '25 18:04 baywet

This issue has been automatically marked as stale because it has been marked as requiring author feedback but has not had any activity for 4 days. It will be closed if no further activity occurs within 3 days of this comment.