Skip to content

This repository builds and publishes VS Code extensions used in Eclipse Che and Red Hat OpenShift Dev Spaces (formerly Red Hat CodeReady Workspaces)

License

Notifications You must be signed in to change notification settings

SDawley/devspaces-vscode-extensions

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This repository builds and publishes VS Code extensions used in both Eclipse Che and in Red Hat OpenShift Dev Spaces (formerly Red Hat CodeReady Workspaces).

Every extension in this repository builds inside a ubi8 based Dockerfile. The resulting .vsix files and sources tarballs are then copied out of the container and published as GitHub release assets. Every PR merged in this repository will trigger a GitHub release, where the extensions built from that PR will be the release assets in the corresponding GitHub release.

Contributing

Repository Structure

Every folder in this repository belongs to a VS Code extension. For example, the Dockerfile that builds the vscode-python extension would live in the /vscode-python folder. Please note that the name of the folder must match the repository name for the VS Code extension. For example, the folder name for the extension hosted at https://github.com/microsoft/vscode-eslint must be named vscode-eslint.

Every extension folder must have an extension.json file at its root. The schema of this JSON file is as follows:

{
  // Repository URL of the extension's git repository
  "repository": "https://github.com/microsoft/vscode-python",
  // The tag/SHA1-ID of the extension's repository which you would like to build
  "revision": "2020.11.358366026"
}

Optionally, a Dockerfile that builds the extension can be provided inside the extension's folder. Note, this is only needed if the extension requires "special" dependencies to build. If no Dockerfile is found in the extensions's folder, then the "generic" Dockerfile (found at the root of this repository) will be used. In this case, the only thing needed is the folder matching the extension's name, and the extension.json file as outlined above.

Dockerfile Structure

Should you choose to contribute a Dockerfile, the following things are required

  • The Dockerfile must take the following build-time arguments (i.e. ARG name):
    • extension_repository
    • extension_revision
    • extension_name
  • The vsix file resulting from the build (inside the container) must be located at the root of the container, named /name-revision.vsix (where name and revision are the values of the build arg specified above)
  • A tarball of the extension's source code (prior to build) must be located at the root of the container, named /name-revision-sources.tar.gz (again, where name and revision are the values of the build arg specified above)

About

This repository builds and publishes VS Code extensions used in Eclipse Che and Red Hat OpenShift Dev Spaces (formerly Red Hat CodeReady Workspaces)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Dockerfile 53.4%
  • Shell 46.6%