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

Fix Extensions #565

Merged
merged 161 commits into from
Apr 26, 2022
Merged

Fix Extensions #565

merged 161 commits into from
Apr 26, 2022

Conversation

manuth
Copy link
Contributor

@manuth manuth commented Mar 24, 2022

  • I have read the note above about PRs contributing or fixing extensions
  • I have tried reaching out to the extension maintainers about publishing this extension to OpenVSX (if not, please create an issue in the extension's repo using this template).
  • This extension has an OSI-approved OSS license (we don't accept proprietary extensions in this repository)

Description

As seen in the Publish extensions to open-vsx.org workflow, there is quite a number of extensions which is not able to build at the moment.
The goal of this PR is to fix all extensions which aren't able to build at time of writing.
All one-time fixes are guarded with version-comparisons (using the new environment variables described in the Environment paragraph).

Fixing all non-functioning extensions will help to detect, address and fix future issues with extensions more efficiently.
Everything that has been changed is documented below.

Environment

In order to make applying workarounds and advanced actions in custom- and prepublish-commands easier, a few environment variables were added:

  • EXTENSION_ID which contains the id of the extension being published (e.g. rebornix.ruby)
  • EXTENSION_PUBLISHER the name of the publisher (e.g. rebornix)
  • EXTENSION_NAME the name of the extension (e.g. ruby)
  • VERSION the version the extension is assumed to have
  • MS_VERSION the latest version of the extension on microsoft's marketplace
  • OVSX_VERSION the latest version of the extension on Open VSX

Furthermore, a chapter about said environment variables was added to the README.

Updated Extensions

Added

  • ms-dotnettools.vscode-dotnet-runtime (required by some extensions which currently fail to build)

Fixed

Following extensions were fixed:

Renamed

Furthermore, some extensions were renamed:

  • andreweinand.mock-debug replaced w/ ms-vscode.mock-debug
  • felixfbecker.php-debug replaced w/ xdebug.php-debug
  • jpoissonnier.vscode-styled-components replaced w/ styled-components.vscode-styled-components

Non-Functioning Extensions

Some extensions don't work yet
Following extensions do not have an open source license assigned:

Abandoned-Looking Extensions

Some of the extensions which won't work until this PR is merged, might be abandoned.
This list contains extensions with both at least 1 Pull Request which were without any activity for at least 1 month and a repository with at least 1y of inactivity.

  • appulate.filewatcher
  • adamhartford.vscode-base64 (repo inactive for about 4y)
  • arjun.swagger-viewer (probably inactive? repo inactive for about 9 months)
  • formulahendry.vscode-node-red (most likely abandoned - inactive for about 4y. Requires tampering the code)
  • fraser.live-coder (2y of inactivity)
  • ikappas.composer (probably inactive? repo inactive for 8 months)
  • wmaurer.change-case (repo inactive for 6 years)

@filiptronicek
Copy link
Collaborator

@manuth thanks for taking a look at so many extensions. I see you are fixing up some things based on the version of the extensions published. Are those unmaintained extensions that would not be fixable by PRs in their respective repos?

If so, let's make PRs to encourage extension authors to make their extensions build, and if the extensions are unmaintained, I would rather publish them just once via https://github.com/open-vsx/publish-extensions/blob/master/.github/workflows/publish-once.yml.

If you agree with publishing some extensions once, could you make a list somewhere 🙏?

@manuth
Copy link
Contributor Author

manuth commented Mar 25, 2022

Thahks for having a look at this PR 😄
I added the version guard to make sure the workaround won't be applied on upcoming versions. That way, the custom property won't destroy (or tamper) upcoming versions.

I'll make sure to add a list with abandoned extensions and build commands to have them published once.

extensions.json Outdated Show resolved Hide resolved
A new version was released, so deleted workarounds for the vs code cpu visualiser extensions https://github.com/microsoft/vscode-js-profile-visualizer/releases/tag/v1.0.1
@manuth
Copy link
Contributor Author

manuth commented Apr 13, 2022

@filiptronicek is there something more to be done or to consider before we can get this PR merged?
I'm ready from my side 😄

@filiptronicek
Copy link
Collaborator

@manuth I am going to take another look now, I'd love to get this merged soon, just have some other things to finish up 👀.

@manuth
Copy link
Contributor Author

manuth commented Apr 21, 2022

@manuth I am going to take another look now, I'd love to get this merged soon, just have some other things to finish up 👀.

No worries I just wanted to make sure I'm not missing something 😄
Thank you so much for taking care ^^

Copy link
Collaborator

@filiptronicek filiptronicek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the rest and made some changes. This PR LGTM! So glad you made the time for it, thanks again @manuth.

@filiptronicek filiptronicek merged commit 1fd822c into open-vsx:master Apr 26, 2022
@filiptronicek
Copy link
Collaborator

I have to sadly remove the very-hard-to-package-up the neikeq.godot-csharp-vscode extension, because it depends on a proprietary extension from Microsoft, ms-dotnettools.csharp [1]. This makes the publishing fail [1] and sadly there is so far no good way to get around it AFAIK :/

cc @manuth

filiptronicek added a commit that referenced this pull request Apr 26, 2022
@manuth
Copy link
Contributor Author

manuth commented Apr 26, 2022

Before you do, I'll go try whether the Open Source alternative of the OmniSharp extension.

Maybe it works with it out of the box. I really hope it does 🥲😂

@filiptronicek
Copy link
Collaborator

filiptronicek commented Apr 26, 2022

Let's see @manuth, as I already commited the removal, should I revert it? I guess we can do this just as a PR and merge afterwards, keep the removal commit there until that.

@manuth
Copy link
Contributor Author

manuth commented Apr 26, 2022

@filiptronicek Thanks for taking care 😄
I managed it to get it to work by replacing the extension dependencies with muhammad-sammy.csharp.
Funny enough, I even got the "C# Tools for Godot" debugging to run without muhammad-sammy.csharp, so I'm not sure what it's in the dependencies for (perhaps for a better C# coding experiences).

Could you please revert the changes?
I'll open up a PR adding a workaround which replaces the extension dependencies with muhammad-sammy.csharp asap!

Thanks a ton 😄

@filiptronicek
Copy link
Collaborator

@manuth done :) d0889ed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants