llvm / llvm-iwg

The LLVM Infrastructure Working Group
https://foundation.llvm.org/docs/infrastructure-wg/
Other
18 stars 14 forks source link

New repository for MLIR vscode extension #49

Closed River707 closed 3 years ago

River707 commented 3 years ago

I (and the MLIR community) would like to add a new repository in the LLVM organization to host an MLIR vscode extension. The extension itself is developed in llvm/llvm-project, but having a unique repository provides an easier integration point into the vscode ecosystem (in terms of publishing to the marketplace and user engagement). There is some amount of prior art for this with clangd, although that repository is not under LLVM and the source code is not developed within the main LLVM monorepo.

Disclaimer: I'm not sure if there is a better way to go about making a proposal like this to the working group, so I apologize in advance if I am posting in the wrong area.

joker-eph commented 3 years ago

How can you say that?

We presented this in an open-meeting just last week where tens of people attended. Regardless, do you have specific concerns that makes you believe this isn't aligned with the current direction in the MLIR community?

If you have a better technical suggestion on how to setup this, this will be welcome to hear though.

ChristianKuehnel commented 3 years ago

I don't know that the normal way of requesting a git repo is. I guess so far it was a discussion/RFC on llvm-dev. @asl @sqlbyme @tstellar can you help here?

@River707 Off-topic nit picking: It would be great to have some readme.md (or something) in the extension folder explaining what this folder contains and what features the vscode extension supports.

River707 commented 3 years ago

I don't know that the normal way of requesting a git repo is. I guess so far it was a discussion/RFC on llvm-dev. @asl @sqlbyme @tstellar can you help here?

@River707 Off-topic nit picking: It would be great to have some readme.md (or something) in the extension folder explaining what this folder contains and what features the vscode extension supports.

Not off-topic at all, thanks for asking! During the initial development phase of the language server (one of the main reasons for the extension), all of the documentation has been focused on the mlir website. Now that we are properly publishing the extension for users, a README will added to the extension directory (along with a few other doc cleanups).

ChristianKuehnel commented 3 years ago

Or you can just add a link to that website, if that contains all the relevant information already.

On Wed, Jun 16, 2021 at 10:48 AM River Riddle @.***> wrote:

I don't know that the normal way of requesting a git repo is. I guess so far it was a discussion/RFC on llvm-dev. @asl https://github.com/asl @sqlbyme https://github.com/sqlbyme @tstellar https://github.com/tstellar can you help here?

@River707 https://github.com/River707 Off-topic nit picking: It would be great to have some readme.md (or something) in the extension folder https://github.com/llvm/llvm-project/tree/main/mlir/utils/vscode explaining what this folder contains and what features the vscode extension supports.

Not off-topic at all, thanks for asking! During the initial development phase of the language server (one of the main reasons for the extension), all of the documentation has been focused on the mlir website https://mlir.llvm.org/docs/Tools/MLIRLSP/. Now that we are properly publishing the extension for users, a README will added to the extension directory (along with a few other doc cleanups).

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/llvm/llvm-iwg/issues/49#issuecomment-862176333, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEYJMCGAJMVLWFSDYDCRLOLTTBQMBANCNFSM46YHX6IQ .

asl commented 3 years ago

We can certainly add repo, yes. I think we need to add some formal prerequisites though :)

  1. README.md
  2. Various additional documents: license, contribution guidelines, etc. Certainly this could be added a bit later or just copied from LLVM itself, so not a big deal
River707 commented 3 years ago

Having formal pre-prerequisites/naming requirements/, would definitely make things a bit easier when proposing a new repo.

As an example, I've currently got a personal repo set up at https://github.com/River707/vscode-mlir. Pretty much all of it (code/License/README/etc.) are all copied or constructed from something in llvm-project/. It uses github workflows to update for changes to llvm-project, in addition to (hopefully soon) publishing to the vscode marketplace.

sqlbyme commented 3 years ago

I’m with River on this one. Maybe we could make a template repo people could use to start new projects? Or am I overthinking it?

-Mike

On Wed, Jun 16, 2021 at 18:33 River Riddle @.***> wrote:

Having formal pre-prerequisites/naming requirements/, would definitely make things a bit easier when proposing a new repo.

As an example, I've currently got a personal repo set up at https://github.com/River707/mlir-vscode. Pretty much all of it (code/License/README/etc.) are all copied or constructed from something in llvm-project/.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/llvm/llvm-iwg/issues/49#issuecomment-862845786, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJI65KCHQP3YVYOBHCWTMLTTFGHNANCNFSM46YHX6IQ .

joker-eph commented 3 years ago

This isn't a new project though: this is a "deployment" repository for code that lives in the monorepo. In particular it seems that VSCode extensions are deployed through git repos: in the IDE when they will look to install the plugin it'll fetch the code from there. It is quite specific, and I'm not sure it would be similar to someone who wants a new incubator project, or something more standalone.

On Wed, Jun 16, 2021 at 7:14 PM Mike Edwards @.***> wrote:

I’m with River on this one. Maybe we could make a template repo people could use to start new projects? Or am I overthinking it?

-Mike

On Wed, Jun 16, 2021 at 18:33 River Riddle @.***> wrote:

Having formal pre-prerequisites/naming requirements/, would definitely make things a bit easier when proposing a new repo.

As an example, I've currently got a personal repo set up at https://github.com/River707/mlir-vscode. Pretty much all of it (code/License/README/etc.) are all copied or constructed from something in llvm-project/.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/llvm/llvm-iwg/issues/49#issuecomment-862845786, or unsubscribe < https://github.com/notifications/unsubscribe-auth/AAJI65KCHQP3YVYOBHCWTMLTTFGHNANCNFSM46YHX6IQ

.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/llvm/llvm-iwg/issues/49#issuecomment-862861496, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAZXKDBEHNAGAFMXJTS56JLTTFLB3ANCNFSM46YHX6IQ .

sqlbyme commented 3 years ago

Ah, fair enough. I did not understand that. Thanks for the clarification.

On Wed, Jun 16, 2021 at 19:28 Mehdi Amini @.***> wrote:

This isn't a new project though: this is a "deployment" repository for code that lives in the monorepo. In particular it seems that VSCode extensions are deployed through git repos: in the IDE when they will look to install the plugin it'll fetch the code from there. It is quite specific, and I'm not sure it would be similar to someone who wants a new incubator project, or something more standalone.

On Wed, Jun 16, 2021 at 7:14 PM Mike Edwards @.***> wrote:

I’m with River on this one. Maybe we could make a template repo people could use to start new projects? Or am I overthinking it?

-Mike

On Wed, Jun 16, 2021 at 18:33 River Riddle @.***> wrote:

Having formal pre-prerequisites/naming requirements/, would definitely make things a bit easier when proposing a new repo.

As an example, I've currently got a personal repo set up at https://github.com/River707/mlir-vscode. Pretty much all of it (code/License/README/etc.) are all copied or constructed from something in llvm-project/.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/llvm/llvm-iwg/issues/49#issuecomment-862845786, or unsubscribe <

https://github.com/notifications/unsubscribe-auth/AAJI65KCHQP3YVYOBHCWTMLTTFGHNANCNFSM46YHX6IQ

.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/llvm/llvm-iwg/issues/49#issuecomment-862861496, or unsubscribe < https://github.com/notifications/unsubscribe-auth/AAZXKDBEHNAGAFMXJTS56JLTTFLB3ANCNFSM46YHX6IQ

.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/llvm/llvm-iwg/issues/49#issuecomment-862867388, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJI65OW4M34RVTYJWW2N3LTTFMV7ANCNFSM46YHX6IQ .

ChristianKuehnel commented 3 years ago

I added an issue to document how people are supposed to set up new repositories: #51 Feel free to pick that up or add more thoughts there.

asl commented 3 years ago

@River707 this is great! Just curious: are you going to preserve the history of changes when migrating? Or just start from scratch?

xgupta commented 3 years ago

How can you say that?

We presented this in an open-meeting just last week where tens of people attended. Regardless, do you have specific concerns that makes you believe this isn't aligned with the current direction in the MLIR community?

If you have a better technical suggestion on how to setup this, this will be welcome to hear though.

🙏

River707 commented 3 years ago

@River707 this is great! Just curious: are you going to preserve the history of changes when migrating? Or just start from scratch?

Thanks for asking! At the moment, I don't think we'll preserve history. We still intend for all of the development to take place within the monorepo, so preserving history isn't as important/interesting. This repo is ideally just a convenient way for us to auto-publish/expose to users/etc.

ChristianKuehnel commented 3 years ago

Any other concerns around the new repo or can we just create one?

asl commented 3 years ago

Sorry, missed the message. No further concerns / suggestions from me :)

River707 commented 3 years ago

Sorry for any delays in responding (I've been OOO for a few weeks moving). Is there anything else required here?

ChristianKuehnel commented 3 years ago

I was also our for a while :)

@asl can you please create the repo? Do you need anything?

joker-eph commented 3 years ago

This is done, the repo is live now. Thanks all!