You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/Publishing.md
+6-12Lines changed: 6 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Publishing VS Code built-in Extensions for a given VS Code Version
2
2
3
-
Publishing the VS Code built-in extensions for a given relase of VS Code entails multiple steps (in order)
3
+
Publishing the VS Code built-in extensions for a given release of VS Code entails multiple steps (in order)
4
4
5
5
1. Perform IP-checks with the Eclipse foundation for the extensions included in the VS Code repo ("builtin")
6
6
2. Perform IP-checks with the Eclipse foundation for each extension that is included with VS Code, but with source in a different location ("external")
@@ -18,7 +18,7 @@ extensions for compatibility with the Theia license. There are a couple of packa
18
18
19
19
This will run the dash-licenses tool an all extensions in the VS Code repo. To automatically open issues with the Eclipse [IP-issue tracker](https://gitlab.eclipse.org/eclipsefdn/emo-team/iplab), you can pass a `--token` parameter to the `ip-check:builtin` script. The token is described [in the dash-licenses README](https://github.com/eclipse/dash-licenses?tab=readme-ov-file#automatic-ip-team-review-requests).
20
20
21
-
npm run ip-check:builtin --token <your gitlab token>
21
+
npm run ip-check:builtin -- --token <your gitlab token>
22
22
23
23
Any issues will show up as opened by you (or the account owning the token) at <https://gitlab.eclipse.org/eclipsefdn/emo-team/iplab>. In general, it's a good idea to wait for the
24
24
IP tickets to be closed before publishing the built-in. Technically, this restriction applies to publishing the built-ins as part of an Eclipse project artifact like Theia IDE.
@@ -30,7 +30,7 @@ Generate a source zip of the extensions folder. You can use a package script tha
30
30
31
31
This will `git clean` all extension directories and generate a zip file named like so: `vscode-builtins-<version>.src.zip`
32
32
33
-
Open an issue that looks like this: <https://gitlab.eclipse.org/eclipsefdn/emo-team/iplab/-/issues/11676>. Use the template "vet third party" on the new issue and fill in the templata liek in the example issue. Attach the source file generated in step one as "source". Since there is no real "clearlydefined id" for the built-ins, we set the title of the issue to `project/ecd.theia/-/vscode-builtin-extensions/<VS Code version>`
33
+
Open an issue that looks like this: <https://gitlab.eclipse.org/eclipsefdn/emo-team/iplab/-/issues/11676>. Use the template "vet third party" on the new issue and fill in the template link in the example issue. Attach the source file generated in step one as "source". Since there is no real "clearlydefined id" for the built-ins, we set the title of the issue to `project/ecd.theia/-/vscode-builtin-extensions/<VS Code version>`
34
34
35
35
## IP checks for external VS Code built-ins
36
36
@@ -42,10 +42,10 @@ the correct tag into a folder named `external-builtins`.
42
42
43
43
We now have to run the checks for the dependencies of those extensions:
44
44
45
-
npm run ip-check:external --token <your gitlab token>
45
+
npm run ip-check:external -- --token <your gitlab token>
46
46
47
47
Again, this will open issues with the Eclipse IP issue tracker. Once this is done, it's time to open an ip-check issue for the content of each of the external built ins.
48
-
For extensions from github, it's usually enough to open a "vet third party" issue with just the project in the details, like this one: <https://gitlab.eclipse.org/eclipsefdn/emo-team/iplab/-/issues/14430>. The title should be the clearlydefined id of the form `git/github/<github org>/<project>/v<version>`. The IP-check bot is usually able to download the source from the github release page on its own. In the issue template, just fill in the "project" field.
48
+
For extensions from github, it's usually enough to open a "vet third party" issue with just the project in the details, like this one: <https://gitlab.eclipse.org/eclipsefdn/emo-team/iplab/-/issues/14430>. The title should be the "clearlydefined" id of the form `git/github/<github org>/<project>/v<version>`. The IP-check bot is usually able to download the source from the github release page on its own. In the issue template, just fill in the "project" field.
49
49
If the IP-check bot cannot figure out the source (it will ask for source in a comment on the issue), you can zip up the source of all external built-ins into files of the form `<publisher>.<name>-<version>.src.zip>` with a package script:
50
50
51
51
npm run archive:external
@@ -85,17 +85,11 @@ Note that startup will take a bit longer than usual while Theia unzips the *.vsi
85
85
86
86
File issues for problems found. Some problems may require changing how we build or package, in which case a fix would be made on `vscode-builtin-extensions` as part of the ongoing release PR. If the issue is with the upstream Theia repo, we open the issue there.
87
87
88
-
While testing buitins 1.72.2, we found the following, for example:
89
-
90
-
-[RangeError: Maximum call stack size exceeded with recent vscode.html builtin extension #12434](https://github.com/eclipse-theia/theia/issues/12434)
Once you are confident that the new set of builtins do not have obvious issues, you can proceed with publishing them to `open-vsx.org`. It's ok if there are issues that will later be fixed in Theia - older version of the builtin can be temporarily used instead in most cases.
95
89
96
90
Now it's time to open a PR against master. The convention is to create a branch that is named after the version of VS Code wer're using:
97
91
98
-
git checkout -b <major>.<minor>.<patch> # replace the version here wiht the VS Code version, for example "1.88.1"
92
+
git checkout -b <major>.<minor>.<patch> # replace the version here with the VS Code version, for example "1.88.1"
99
93
100
94
Now commit all changes you had to make to get the built-ins to correctly build, **including the `vscode` folder**. Adding `vscode` will update the submodule configuration n this repo to
101
95
check out the correct version of VS Code upon `git submodule update`. The convention is to make a single commit named `changes for builtins v<major>.<minor>.<patch>`. Open a PR and have it reviewed as usual.
0 commit comments