mirror of
https://github.com/VSCodium/vscodium.git
synced 2026-04-18 05:34:41 +10:00
Compare commits
19 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1ef601a79b | ||
|
|
c67c2ad9f5 | ||
|
|
d164e43b78 | ||
|
|
f3ba593ae7 | ||
|
|
78b32d7931 | ||
|
|
c71f2250ce | ||
|
|
b0154c7831 | ||
|
|
23313d41ba | ||
|
|
cf48030b59 | ||
|
|
848aabfe54 | ||
|
|
10a0cb4b30 | ||
|
|
0469329683 | ||
|
|
6acd2fbfe1 | ||
|
|
38810539a7 | ||
|
|
34b399c05a | ||
|
|
b0ff3b4f34 | ||
|
|
ca2dc5fcaf | ||
|
|
962326e182 | ||
|
|
d3371f8aab |
1
.gitattributes
vendored
1
.gitattributes
vendored
@@ -1 +0,0 @@
|
|||||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
|
||||||
2
.github/ISSUE_TEMPLATE/bug_report.md
vendored
2
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@@ -30,7 +30,7 @@ A clear and concise description of what you expected to happen.
|
|||||||
If applicable, add screenshots to help explain your problem.
|
If applicable, add screenshots to help explain your problem.
|
||||||
|
|
||||||
**Desktop (please complete the following information):**
|
**Desktop (please complete the following information):**
|
||||||
- OS: [e.g. Mac OS, Ubuntu 16.04, etc]
|
- OS: [e.g. Mac OS, Ubuntu 20.04, etc]
|
||||||
- Architecture [e.g. x64, ia32, arm64]
|
- Architecture [e.g. x64, ia32, arm64]
|
||||||
- Version [e.g. 1.33.0]
|
- Version [e.g. 1.33.0]
|
||||||
|
|
||||||
|
|||||||
2
.github/workflows/linux.yml
vendored
2
.github/workflows/linux.yml
vendored
@@ -88,7 +88,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Release
|
- name: Release
|
||||||
env:
|
env:
|
||||||
GH_CLI_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
run: ./release.sh
|
run: ./release.sh
|
||||||
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||||
|
|
||||||
|
|||||||
2
.github/workflows/macos.yml
vendored
2
.github/workflows/macos.yml
vendored
@@ -95,7 +95,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Release
|
- name: Release
|
||||||
env:
|
env:
|
||||||
GH_CLI_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
run: ./release.sh
|
run: ./release.sh
|
||||||
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||||
|
|
||||||
|
|||||||
10
.github/workflows/windows.yml
vendored
10
.github/workflows/windows.yml
vendored
@@ -23,13 +23,7 @@ jobs:
|
|||||||
vscode_arch: [x64, ia32, arm64]
|
vscode_arch: [x64, ia32, arm64]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout github repo (+ download lfs dependencies)
|
- uses: actions/checkout@v2
|
||||||
uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
lfs: true
|
|
||||||
|
|
||||||
- name: Checkout LFS objects
|
|
||||||
run: git lfs checkout
|
|
||||||
|
|
||||||
- name: Setup Node.js environment
|
- name: Setup Node.js environment
|
||||||
uses: actions/setup-node@v1
|
uses: actions/setup-node@v1
|
||||||
@@ -88,7 +82,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Release
|
- name: Release
|
||||||
env:
|
env:
|
||||||
GH_CLI_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
run: ./release.sh
|
run: ./release.sh
|
||||||
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||||
|
|
||||||
|
|||||||
1
build.sh
1
build.sh
@@ -25,7 +25,6 @@ if [[ "${SHOULD_BUILD}" == "yes" ]]; then
|
|||||||
. ../build/windows/rtf/make.sh
|
. ../build/windows/rtf/make.sh
|
||||||
|
|
||||||
yarn gulp "vscode-win32-${VSCODE_ARCH}-min-ci"
|
yarn gulp "vscode-win32-${VSCODE_ARCH}-min-ci"
|
||||||
yarn gulp "vscode-win32-${VSCODE_ARCH}-code-helper"
|
|
||||||
yarn gulp "vscode-win32-${VSCODE_ARCH}-inno-updater"
|
yarn gulp "vscode-win32-${VSCODE_ARCH}-inno-updater"
|
||||||
|
|
||||||
if [[ "${SHOULD_BUILD_ZIP}" != "no" ]]; then
|
if [[ "${SHOULD_BUILD_ZIP}" != "no" ]]; then
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:c3eac997fba9d3d5596c503a826fe5d54c87b1cf899a790b6d077e4d196bd5e9
|
|
||||||
size 373978
|
|
||||||
@@ -1,15 +1,20 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
set -ex
|
cd "$( dirname "${BASH_SOURCE[0]}" )"/../../../vscode
|
||||||
|
|
||||||
CALLER_DIR=$( pwd )
|
input=LICENSE.txt
|
||||||
|
target=LICENSE.rtf
|
||||||
|
|
||||||
cd "$( dirname "${BASH_SOURCE[0]}" )"
|
cat - >$target <<_EOF
|
||||||
|
{\rtf1\ansi\deff0{\fonttbl{\f0\fnil\fcharset0 Consolas;}}
|
||||||
|
\viewkind4\uc1\pard\lang1033\f0\fs22
|
||||||
|
|
||||||
7z x -y TXT2RTF.zip
|
_EOF
|
||||||
|
|
||||||
LICENSE=$( powershell.exe -Command "[System.IO.Path]::GetFullPath( '../../../vscode/LICENSE.txt' )" )
|
sed -zE -e 's/([A-Za-z,])\r?\n([A-Za-z])/\1 \2/g' -e 's/\r?\n\r?\n/\\par\n\n/g' -e 's/(\\par\n)/\\line\1/g' -e 's/\s*(Copyright)/\\line\n\1/g' -e 's/(\\par)\\line/\1\n/g' $input >> $target
|
||||||
|
|
||||||
"./TXT to RTF Converter.exe" "${LICENSE}"
|
|
||||||
|
|
||||||
cd "${CALLER_DIR}"
|
cat - >>$target <<_EOF
|
||||||
|
\par
|
||||||
|
}
|
||||||
|
_EOF
|
||||||
|
|||||||
@@ -18,6 +18,9 @@
|
|||||||
|
|
||||||
### <a id="dependencies-linux"></a>Linux
|
### <a id="dependencies-linux"></a>Linux
|
||||||
|
|
||||||
|
- GCC
|
||||||
|
- make
|
||||||
|
- pkg-config
|
||||||
- libx11-dev
|
- libx11-dev
|
||||||
- libxkbfile-dev
|
- libxkbfile-dev
|
||||||
- libsecret-1-dev
|
- libsecret-1-dev
|
||||||
@@ -25,6 +28,9 @@
|
|||||||
- rpm
|
- rpm
|
||||||
- rpmbuild
|
- rpmbuild
|
||||||
- dpkg
|
- dpkg
|
||||||
|
- python3
|
||||||
|
- libsecret-1-dev
|
||||||
|
- imagemagick (for AppImage)
|
||||||
|
|
||||||
### <a id="dependencies-macos"></a>MacOS
|
### <a id="dependencies-macos"></a>MacOS
|
||||||
|
|
||||||
@@ -34,6 +40,8 @@
|
|||||||
- sed
|
- sed
|
||||||
- 7z
|
- 7z
|
||||||
- [WiX Toolset](http://wixtoolset.org/releases/)
|
- [WiX Toolset](http://wixtoolset.org/releases/)
|
||||||
|
- python2
|
||||||
|
- 'Tools for Native Modules' from official Node.js installer
|
||||||
|
|
||||||
## <a id="build-scripts"></a>Build Scripts
|
## <a id="build-scripts"></a>Build Scripts
|
||||||
|
|
||||||
@@ -70,4 +78,4 @@ export OS_NAME=linux
|
|||||||
export VSCODE_ARCH=x64
|
export VSCODE_ARCH=x64
|
||||||
|
|
||||||
./build.sh
|
./build.sh
|
||||||
```
|
```
|
||||||
|
|||||||
40
get_repo.sh
40
get_repo.sh
@@ -8,26 +8,26 @@ git remote add origin https://github.com/Microsoft/vscode.git
|
|||||||
|
|
||||||
# figure out latest tag by calling MS update API
|
# figure out latest tag by calling MS update API
|
||||||
if [ "$INSIDER" == "1" ]; then
|
if [ "$INSIDER" == "1" ]; then
|
||||||
UPDATE_INFO=$(curl https://update.code.visualstudio.com/api/update/darwin/insider/lol)
|
UPDATE_INFO=$(curl https://update.code.visualstudio.com/api/update/darwin/insider/lol)
|
||||||
export MS_COMMIT=$(echo $UPDATE_INFO | jq -r '.version')
|
export MS_COMMIT=$(echo $UPDATE_INFO | jq -r '.version')
|
||||||
export MS_TAG=$(echo $UPDATE_INFO | jq -r '.name')
|
export MS_TAG=$(echo $UPDATE_INFO | jq -r '.name')
|
||||||
elif [[ -z "${MS_TAG}" ]]; then
|
elif [[ -z "${MS_TAG}" ]]; then
|
||||||
UPDATE_INFO=$(curl https://update.code.visualstudio.com/api/update/darwin/stable/lol)
|
UPDATE_INFO=$(curl https://update.code.visualstudio.com/api/update/darwin/stable/lol)
|
||||||
export MS_COMMIT=$(echo $UPDATE_INFO | jq -r '.version')
|
export MS_COMMIT=$(echo $UPDATE_INFO | jq -r '.version')
|
||||||
export MS_TAG=$(echo $UPDATE_INFO | jq -r '.name')
|
export MS_TAG=$(echo $UPDATE_INFO | jq -r '.name')
|
||||||
else
|
else
|
||||||
reference=$( git ls-remote --tags | grep -x ".*refs\/tags\/${MS_TAG}" | head -1 )
|
reference=$( git ls-remote --tags | grep -x ".*refs\/tags\/${MS_TAG}" | head -1 )
|
||||||
|
|
||||||
if [[ -z "${reference}" ]]; then
|
if [[ -z "${reference}" ]]; then
|
||||||
echo "The following tag can't be found: ${MS_TAG}"
|
echo "The following tag can't be found: ${MS_TAG}"
|
||||||
exit 1
|
exit 1
|
||||||
elif [[ "${reference}" =~ ^([[:alnum:]]+)[[:space:]]+refs\/tags\/([0-9]+\.[0-9]+\.[0-9]+)$ ]]; then
|
elif [[ "${reference}" =~ ^([[:alnum:]]+)[[:space:]]+refs\/tags\/([0-9]+\.[0-9]+\.[0-9]+)$ ]]; then
|
||||||
export MS_COMMIT="${BASH_REMATCH[1]}"
|
export MS_COMMIT="${BASH_REMATCH[1]}"
|
||||||
export MS_TAG="${BASH_REMATCH[2]}"
|
export MS_TAG="${BASH_REMATCH[2]}"
|
||||||
else
|
else
|
||||||
echo "The following reference can't be parsed: ${reference}"
|
echo "The following reference can't be parsed: ${reference}"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Got the MS tag: ${MS_TAG} version: ${MS_COMMIT}"
|
echo "Got the MS tag: ${MS_TAG} version: ${MS_COMMIT}"
|
||||||
@@ -39,6 +39,6 @@ cd ..
|
|||||||
|
|
||||||
# for GH actions
|
# for GH actions
|
||||||
if [[ $GITHUB_ENV ]]; then
|
if [[ $GITHUB_ENV ]]; then
|
||||||
echo "MS_TAG=$MS_TAG" >> $GITHUB_ENV
|
echo "MS_TAG=$MS_TAG" >> $GITHUB_ENV
|
||||||
echo "MS_COMMIT=$MS_COMMIT" >> $GITHUB_ENV
|
echo "MS_COMMIT=$MS_COMMIT" >> $GITHUB_ENV
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js
|
diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js
|
||||||
index 6d3a369..57009d4 100644
|
index df089a6..7aeb54b 100644
|
||||||
--- a/build/gulpfile.vscode.js
|
--- a/build/gulpfile.vscode.js
|
||||||
+++ b/build/gulpfile.vscode.js
|
+++ b/build/gulpfile.vscode.js
|
||||||
@@ -276,7 +276,7 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
|
@@ -286,7 +286,7 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
|
||||||
all = es.merge(all, gulp.src('resources/linux/code.png', { base: '.' }));
|
all = es.merge(all, gulp.src('resources/linux/code.png', { base: '.' }));
|
||||||
} else if (platform === 'darwin') {
|
} else if (platform === 'darwin') {
|
||||||
const shortcut = gulp.src('resources/darwin/bin/code.sh')
|
const shortcut = gulp.src('resources/darwin/bin/code.sh')
|
||||||
@@ -11,20 +11,11 @@ index 6d3a369..57009d4 100644
|
|||||||
|
|
||||||
all = es.merge(all, shortcut);
|
all = es.merge(all, shortcut);
|
||||||
}
|
}
|
||||||
@@ -483,7 +483,7 @@ const generateVSCodeConfigurationTask = task.define('generate-vscode-configurati
|
|
||||||
const arch = process.env['VSCODE_ARCH'];
|
|
||||||
const appRoot = path.join(buildDir, `VSCode-darwin-${arch}`);
|
|
||||||
const appName = process.env.VSCODE_QUALITY === 'insider' ? 'Visual\\ Studio\\ Code\\ -\\ Insiders.app' : 'Visual\\ Studio\\ Code.app';
|
|
||||||
- const appPath = path.join(appRoot, appName, 'Contents', 'Resources', 'app', 'bin', 'code');
|
|
||||||
+ const appPath = path.join(appRoot, appName, 'Contents', 'Resources', 'app', 'bin', product.applicationName);
|
|
||||||
const codeProc = cp.exec(
|
|
||||||
`${appPath} --export-default-configuration='${allConfigDetailsPath}' --wait --user-data-dir='${userDataDir}' --extensions-dir='${extensionsDir}'`,
|
|
||||||
(err, stdout, stderr) => {
|
|
||||||
diff --git a/src/vs/platform/native/electron-main/nativeHostMainService.ts b/src/vs/platform/native/electron-main/nativeHostMainService.ts
|
diff --git a/src/vs/platform/native/electron-main/nativeHostMainService.ts b/src/vs/platform/native/electron-main/nativeHostMainService.ts
|
||||||
index 692db1d..cd173bc 100644
|
index bd4dc01..02cbbc2 100644
|
||||||
--- a/src/vs/platform/native/electron-main/nativeHostMainService.ts
|
--- a/src/vs/platform/native/electron-main/nativeHostMainService.ts
|
||||||
+++ b/src/vs/platform/native/electron-main/nativeHostMainService.ts
|
+++ b/src/vs/platform/native/electron-main/nativeHostMainService.ts
|
||||||
@@ -341,7 +341,7 @@ export class NativeHostMainService extends Disposable implements INativeHostMain
|
@@ -355,7 +355,7 @@ export class NativeHostMainService extends Disposable implements INativeHostMain
|
||||||
}
|
}
|
||||||
|
|
||||||
private async getShellCommandLink(): Promise<{ readonly source: string, readonly target: string }> {
|
private async getShellCommandLink(): Promise<{ readonly source: string, readonly target: string }> {
|
||||||
@@ -33,7 +24,7 @@ index 692db1d..cd173bc 100644
|
|||||||
const source = `/usr/local/bin/${this.productService.applicationName}`;
|
const source = `/usr/local/bin/${this.productService.applicationName}`;
|
||||||
|
|
||||||
// Ensure source exists
|
// Ensure source exists
|
||||||
@@ -551,7 +551,7 @@ export class NativeHostMainService extends Disposable implements INativeHostMain
|
@@ -565,7 +565,7 @@ export class NativeHostMainService extends Disposable implements INativeHostMain
|
||||||
|
|
||||||
// macOS
|
// macOS
|
||||||
if (this.environmentMainService.isBuilt) {
|
if (this.environmentMainService.isBuilt) {
|
||||||
@@ -42,4 +33,3 @@ index 692db1d..cd173bc 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
return join(this.environmentMainService.appRoot, 'scripts', 'code-cli.sh');
|
return join(this.environmentMainService.appRoot, 'scripts', 'code-cli.sh');
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/src/vs/base/common/product.ts b/src/vs/base/common/product.ts
|
diff --git a/src/vs/base/common/product.ts b/src/vs/base/common/product.ts
|
||||||
index 78d6060..dfa9de2 100644
|
index 657b9c9..9b9b12e 100644
|
||||||
--- a/src/vs/base/common/product.ts
|
--- a/src/vs/base/common/product.ts
|
||||||
+++ b/src/vs/base/common/product.ts
|
+++ b/src/vs/base/common/product.ts
|
||||||
@@ -69,6 +69,7 @@ export interface IProductConfiguration {
|
@@ -70,6 +70,7 @@ export interface IProductConfiguration {
|
||||||
|
|
||||||
readonly extensionsGallery?: {
|
readonly extensionsGallery?: {
|
||||||
readonly serviceUrl: string;
|
readonly serviceUrl: string;
|
||||||
@@ -11,7 +11,7 @@ index 78d6060..dfa9de2 100644
|
|||||||
readonly resourceUrlTemplate: string;
|
readonly resourceUrlTemplate: string;
|
||||||
readonly controlUrl: string;
|
readonly controlUrl: string;
|
||||||
diff --git a/src/vs/platform/product/common/product.ts b/src/vs/platform/product/common/product.ts
|
diff --git a/src/vs/platform/product/common/product.ts b/src/vs/platform/product/common/product.ts
|
||||||
index 09dfc64..fec0cfa 100644
|
index 5e38d35..12bb161 100644
|
||||||
--- a/src/vs/platform/product/common/product.ts
|
--- a/src/vs/platform/product/common/product.ts
|
||||||
+++ b/src/vs/platform/product/common/product.ts
|
+++ b/src/vs/platform/product/common/product.ts
|
||||||
@@ -4,11 +4,12 @@
|
@@ -4,11 +4,12 @@
|
||||||
@@ -26,9 +26,9 @@ index 09dfc64..fec0cfa 100644
|
|||||||
import { ISandboxConfiguration } from 'vs/base/parts/sandbox/common/sandboxTypes';
|
import { ISandboxConfiguration } from 'vs/base/parts/sandbox/common/sandboxTypes';
|
||||||
+import { getUserDataPath } from 'vs/platform/environment/node/userDataPath';
|
+import { getUserDataPath } from 'vs/platform/environment/node/userDataPath';
|
||||||
|
|
||||||
let product: IProductConfiguration;
|
/**
|
||||||
|
* @deprecated You MUST use `IProductService` if possible.
|
||||||
@@ -31,6 +32,32 @@ else if (typeof require?.__$__nodeRequire === 'function') {
|
@@ -34,6 +35,32 @@ else if (typeof require?.__$__nodeRequire === 'function') {
|
||||||
product = require.__$__nodeRequire(joinPath(rootPath, 'product.json').fsPath);
|
product = require.__$__nodeRequire(joinPath(rootPath, 'product.json').fsPath);
|
||||||
const pkg = require.__$__nodeRequire(joinPath(rootPath, 'package.json').fsPath) as { version: string; };
|
const pkg = require.__$__nodeRequire(joinPath(rootPath, 'package.json').fsPath) as { version: string; };
|
||||||
|
|
||||||
@@ -61,7 +61,7 @@ index 09dfc64..fec0cfa 100644
|
|||||||
// Running out of sources
|
// Running out of sources
|
||||||
if (env['VSCODE_DEV']) {
|
if (env['VSCODE_DEV']) {
|
||||||
Object.assign(product, {
|
Object.assign(product, {
|
||||||
@@ -40,6 +67,19 @@ else if (typeof require?.__$__nodeRequire === 'function') {
|
@@ -43,6 +70,19 @@ else if (typeof require?.__$__nodeRequire === 'function') {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/extensions/github-authentication/src/githubServer.ts b/extensions/github-authentication/src/githubServer.ts
|
diff --git a/extensions/github-authentication/src/githubServer.ts b/extensions/github-authentication/src/githubServer.ts
|
||||||
index 8424f5b..5bac245 100644
|
index fe0fbfd..656d8bb 100644
|
||||||
--- a/extensions/github-authentication/src/githubServer.ts
|
--- a/extensions/github-authentication/src/githubServer.ts
|
||||||
+++ b/extensions/github-authentication/src/githubServer.ts
|
+++ b/extensions/github-authentication/src/githubServer.ts
|
||||||
@@ -6,8 +6,6 @@
|
@@ -6,8 +6,6 @@
|
||||||
@@ -47,7 +47,7 @@ index 8424f5b..5bac245 100644
|
|||||||
private _statusBarCommandId = `${this.type}.provide-manually`;
|
private _statusBarCommandId = `${this.type}.provide-manually`;
|
||||||
private _disposable: vscode.Disposable;
|
private _disposable: vscode.Disposable;
|
||||||
private _uriHandler = new UriEventHandler(this._logger);
|
private _uriHandler = new UriEventHandler(this._logger);
|
||||||
@@ -115,150 +99,35 @@ export class GitHubServer implements IGitHubServer {
|
@@ -115,137 +99,35 @@ export class GitHubServer implements IGitHubServer {
|
||||||
this._disposable.dispose();
|
this._disposable.dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -58,15 +58,13 @@ index 8424f5b..5bac245 100644
|
|||||||
- // TODO@joaomoreno TODO@TylerLeonhardt
|
- // TODO@joaomoreno TODO@TylerLeonhardt
|
||||||
- private async isNoCorsEnvironment(): Promise<boolean> {
|
- private async isNoCorsEnvironment(): Promise<boolean> {
|
||||||
- const uri = await vscode.env.asExternalUri(vscode.Uri.parse(`${vscode.env.uriScheme}://vscode.github-authentication/dummy`));
|
- const uri = await vscode.env.asExternalUri(vscode.Uri.parse(`${vscode.env.uriScheme}://vscode.github-authentication/dummy`));
|
||||||
- return (uri.scheme === 'https' && /^(vscode|github)\./.test(uri.authority)) || (uri.scheme === 'http' && /^localhost/.test(uri.authority));
|
- return (uri.scheme === 'https' && /^((insiders\.)?vscode|github)\./.test(uri.authority)) || (uri.scheme === 'http' && /^localhost/.test(uri.authority));
|
||||||
- }
|
- }
|
||||||
-
|
-
|
||||||
public async login(scopes: string): Promise<string> {
|
public async login(scopes: string): Promise<string> {
|
||||||
this._logger.info(`Logging in for the following scopes: ${scopes}`);
|
this._logger.info(`Logging in for the following scopes: ${scopes}`);
|
||||||
|
|
||||||
- // TODO@joaomoreno TODO@TylerLeonhardt
|
- const callbackUri = await vscode.env.asExternalUri(vscode.Uri.parse(`${vscode.env.uriScheme}://vscode.github-authentication/did-authenticate`));
|
||||||
- const nocors = await this.isNoCorsEnvironment();
|
|
||||||
- const callbackUri = await vscode.env.asExternalUri(vscode.Uri.parse(`${vscode.env.uriScheme}://vscode.github-authentication/did-authenticate${nocors ? '?nocors=true' : ''}`));
|
|
||||||
-
|
-
|
||||||
- if (this.isTestEnvironment(callbackUri)) {
|
- if (this.isTestEnvironment(callbackUri)) {
|
||||||
- const token = await vscode.window.showInputBox({ prompt: 'GitHub Personal Access Token', ignoreFocusOut: true });
|
- const token = await vscode.window.showInputBox({ prompt: 'GitHub Personal Access Token', ignoreFocusOut: true });
|
||||||
@@ -86,7 +84,7 @@ index 8424f5b..5bac245 100644
|
|||||||
- return tokenScopes.includes(splitScopes);
|
- return tokenScopes.includes(splitScopes);
|
||||||
- });
|
- });
|
||||||
- })) {
|
- })) {
|
||||||
- throw new Error(`The provided token is does not match the requested scopes: ${scopes}`);
|
- throw new Error(`The provided token does not match the requested scopes: ${scopes}`);
|
||||||
+ const tokenScopes = await getScopes(token, this.getServerUri('/'), this._logger); // Example: ['repo', 'user']
|
+ const tokenScopes = await getScopes(token, this.getServerUri('/'), this._logger); // Example: ['repo', 'user']
|
||||||
+ const scopesList = scopes.split(' '); // Example: 'read:user repo user:email'
|
+ const scopesList = scopes.split(' '); // Example: 'read:user repo user:email'
|
||||||
+ if (!scopesList.every(scope => {
|
+ if (!scopesList.every(scope => {
|
||||||
@@ -104,7 +102,7 @@ index 8424f5b..5bac245 100644
|
|||||||
- const existingStates = this._pendingStates.get(scopes) || [];
|
- const existingStates = this._pendingStates.get(scopes) || [];
|
||||||
- this._pendingStates.set(scopes, [...existingStates, state]);
|
- this._pendingStates.set(scopes, [...existingStates, state]);
|
||||||
-
|
-
|
||||||
- const uri = vscode.Uri.parse(`https://${AUTH_RELAY_SERVER}/authorize/?callbackUri=${encodeURIComponent(callbackUri.toString())}&scope=${scopes}&state=${state}&responseType=code&authServer=https://github.com${nocors ? '&nocors=true' : ''}`);
|
- const uri = vscode.Uri.parse(`https://${AUTH_RELAY_SERVER}/authorize/?callbackUri=${encodeURIComponent(callbackUri.toString())}&scope=${scopes}&state=${state}&responseType=code&authServer=https://github.com`);
|
||||||
- await vscode.env.openExternal(uri);
|
- await vscode.env.openExternal(uri);
|
||||||
-
|
-
|
||||||
- // Register a single listener for the URI callback, in case the user starts the login process multiple times
|
- // Register a single listener for the URI callback, in case the user starts the login process multiple times
|
||||||
@@ -117,7 +115,7 @@ index 8424f5b..5bac245 100644
|
|||||||
+ return tokenScopes.includes(splitScopes);
|
+ return tokenScopes.includes(splitScopes);
|
||||||
+ });
|
+ });
|
||||||
+ })) {
|
+ })) {
|
||||||
+ throw new Error(`The provided token is does not match the requested scopes: ${scopes}`);
|
+ throw new Error(`The provided token does not match the requested scopes: ${scopes}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
- return Promise.race([
|
- return Promise.race([
|
||||||
@@ -158,34 +156,23 @@ index 8424f5b..5bac245 100644
|
|||||||
- const url = `https://${AUTH_RELAY_SERVER}/token?code=${code}&state=${query.state}`;
|
- const url = `https://${AUTH_RELAY_SERVER}/token?code=${code}&state=${query.state}`;
|
||||||
- this._logger.info('Exchanging code for token...');
|
- this._logger.info('Exchanging code for token...');
|
||||||
-
|
-
|
||||||
- // TODO@joao: remove
|
- try {
|
||||||
- if (query.nocors) {
|
- const result = await fetch(url, {
|
||||||
- try {
|
- method: 'POST',
|
||||||
- const json: any = await vscode.commands.executeCommand('_workbench.fetchJSON', url, 'POST');
|
- headers: {
|
||||||
|
- Accept: 'application/json'
|
||||||
|
- }
|
||||||
|
- });
|
||||||
|
-
|
||||||
|
- if (result.ok) {
|
||||||
|
- const json = await result.json();
|
||||||
- this._logger.info('Token exchange success!');
|
- this._logger.info('Token exchange success!');
|
||||||
- resolve(json.access_token);
|
- resolve(json.access_token);
|
||||||
- } catch (err) {
|
- } else {
|
||||||
- reject(err);
|
- reject(result.statusText);
|
||||||
- }
|
|
||||||
- } else {
|
|
||||||
- try {
|
|
||||||
- const result = await fetch(url, {
|
|
||||||
- method: 'POST',
|
|
||||||
- headers: {
|
|
||||||
- Accept: 'application/json'
|
|
||||||
- }
|
|
||||||
- });
|
|
||||||
-
|
|
||||||
- if (result.ok) {
|
|
||||||
- const json = await result.json();
|
|
||||||
- this._logger.info('Token exchange success!');
|
|
||||||
- resolve(json.access_token);
|
|
||||||
- } else {
|
|
||||||
- reject(result.statusText);
|
|
||||||
- }
|
|
||||||
- } catch (ex) {
|
|
||||||
- reject(ex);
|
|
||||||
- }
|
- }
|
||||||
|
- } catch (ex) {
|
||||||
|
- reject(ex);
|
||||||
- }
|
- }
|
||||||
- };
|
- };
|
||||||
-
|
-
|
||||||
@@ -212,7 +199,7 @@ index 8424f5b..5bac245 100644
|
|||||||
private async manuallyProvideUri() {
|
private async manuallyProvideUri() {
|
||||||
const uri = await vscode.window.showInputBox({
|
const uri = await vscode.window.showInputBox({
|
||||||
prompt: 'Uri',
|
prompt: 'Uri',
|
||||||
@@ -290,44 +159,7 @@ export class GitHubServer implements IGitHubServer {
|
@@ -277,44 +159,7 @@ export class GitHubServer implements IGitHubServer {
|
||||||
return getUserInfo(token, this.getServerUri('/user'), this._logger);
|
return getUserInfo(token, this.getServerUri('/user'), this._logger);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
43
release.sh
43
release.sh
@@ -2,12 +2,12 @@
|
|||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
if [[ -z "${GH_CLI_TOKEN}" ]]; then
|
if [[ -z "${GITHUB_TOKEN}" ]]; then
|
||||||
echo "Will not release because no GH_CLI_TOKEN defined"
|
echo "Will not release because no GITHUB_TOKEN defined"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "${GH_CLI_TOKEN}" | gh auth login --with-token
|
npm install -g github-release-cli
|
||||||
|
|
||||||
if [[ $( gh release view "${MS_TAG}" 2>&1 ) =~ "release not found" ]]; then
|
if [[ $( gh release view "${MS_TAG}" 2>&1 ) =~ "release not found" ]]; then
|
||||||
echo "Creating release '${MS_TAG}'"
|
echo "Creating release '${MS_TAG}'"
|
||||||
@@ -16,11 +16,46 @@ fi
|
|||||||
|
|
||||||
cd artifacts
|
cd artifacts
|
||||||
|
|
||||||
|
set +e
|
||||||
|
|
||||||
for FILE in *
|
for FILE in *
|
||||||
do
|
do
|
||||||
if [[ -f "${FILE}" ]] && [[ "${FILE}" != *.sha1 ]] && [[ "${FILE}" != *.sha256 ]]; then
|
if [[ -f "${FILE}" ]] && [[ "${FILE}" != *.sha1 ]] && [[ "${FILE}" != *.sha256 ]]; then
|
||||||
echo "Uploading '${FILE}'"
|
echo "::group::Uploading '${FILE}' at $( date "+%T" )"
|
||||||
gh release upload "${MS_TAG}" "${FILE}" "${FILE}.sha1" "${FILE}.sha256"
|
gh release upload "${MS_TAG}" "${FILE}" "${FILE}.sha1" "${FILE}.sha256"
|
||||||
|
|
||||||
|
EXIT_STATUS=$?
|
||||||
|
echo "exit: $EXIT_STATUS"
|
||||||
|
|
||||||
|
if (( $EXIT_STATUS )); then
|
||||||
|
for (( i=0; i<10; i++ ))
|
||||||
|
do
|
||||||
|
github-release delete --owner VSCodium --repo vscodium --tag "${MS_TAG}" "${FILE}" "${FILE}.sha1" "${FILE}.sha256"
|
||||||
|
|
||||||
|
sleep $(( 15 * (i + 1)))
|
||||||
|
|
||||||
|
echo "RE-Uploading '${FILE}' at $( date "+%T" )"
|
||||||
|
gh release upload "${MS_TAG}" "${FILE}" "${FILE}.sha1" "${FILE}.sha256"
|
||||||
|
|
||||||
|
EXIT_STATUS=$?
|
||||||
|
echo "exit: $EXIT_STATUS"
|
||||||
|
|
||||||
|
if ! (( $EXIT_STATUS )); then
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
echo "exit: $EXIT_STATUS"
|
||||||
|
|
||||||
|
if (( $EXIT_STATUS )); then
|
||||||
|
echo "'${FILE}' hasn't been uploaded!"
|
||||||
|
|
||||||
|
github-release delete --owner VSCodium --repo vscodium --tag "${MS_TAG}" "${FILE}" "${FILE}.sha1" "${FILE}.sha256"
|
||||||
|
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "::endgroup::"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,10 @@
|
|||||||
DEFAULT_TRUE="'default': true"
|
DEFAULT_TRUE="'default': true"
|
||||||
DEFAULT_FALSE="'default': false"
|
DEFAULT_FALSE="'default': false"
|
||||||
|
DEFAULT_ON="'default': TelemetryConfiguration.ON"
|
||||||
|
DEFAULT_OFF="'default': TelemetryConfiguration.OFF"
|
||||||
TELEMETRY_ENABLE="'telemetry.enableTelemetry':"
|
TELEMETRY_ENABLE="'telemetry.enableTelemetry':"
|
||||||
TELEMETRY_CRASH_REPORTER="'telemetry.enableCrashReporter':"
|
TELEMETRY_CRASH_REPORTER="'telemetry.enableCrashReporter':"
|
||||||
|
TELEMETRY_CONFIGURATION=" TelemetryConfiguration.ON"
|
||||||
|
|
||||||
#include common functions
|
#include common functions
|
||||||
. ../utils.sh
|
. ../utils.sh
|
||||||
@@ -22,7 +25,7 @@ update_setting () {
|
|||||||
if [[ $line == *"$SETTING"* ]]; then
|
if [[ $line == *"$SETTING"* ]]; then
|
||||||
local IN_SETTING=1
|
local IN_SETTING=1
|
||||||
fi
|
fi
|
||||||
if [[ $line == *"$DEFAULT_TRUE"* && "$IN_SETTING" == "1" ]]; then
|
if [[ ($line == *"$DEFAULT_TRUE"* || $line == *"$DEFAULT_ON"*) && "$IN_SETTING" == "1" ]]; then
|
||||||
local FOUND=1
|
local FOUND=1
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
@@ -34,10 +37,15 @@ update_setting () {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# construct line-aware replacement string
|
# construct line-aware replacement string
|
||||||
local DEFAULT_TRUE_TO_FALSE="${LINE_NUM}s/${DEFAULT_TRUE}/${DEFAULT_FALSE}/"
|
if [[ $line == *"$DEFAULT_TRUE"* ]]; then
|
||||||
|
local DEFAULT_TRUE_TO_FALSE="${LINE_NUM}s/${DEFAULT_TRUE}/${DEFAULT_FALSE}/"
|
||||||
|
else
|
||||||
|
local DEFAULT_TRUE_TO_FALSE="${LINE_NUM}s/${DEFAULT_ON}/${DEFAULT_OFF}/"
|
||||||
|
fi
|
||||||
|
|
||||||
replace "$DEFAULT_TRUE_TO_FALSE" $FILENAME
|
replace "$DEFAULT_TRUE_TO_FALSE" $FILENAME
|
||||||
}
|
}
|
||||||
|
|
||||||
update_setting "$TELEMETRY_ENABLE" src/vs/platform/telemetry/common/telemetryService.ts
|
update_setting "$TELEMETRY_ENABLE" src/vs/platform/telemetry/common/telemetryService.ts
|
||||||
update_setting "$TELEMETRY_CRASH_REPORTER" src/vs/workbench/electron-sandbox/desktop.contribution.ts
|
update_setting "$TELEMETRY_CRASH_REPORTER" src/vs/workbench/electron-sandbox/desktop.contribution.ts
|
||||||
|
update_setting "$TELEMETRY_CONFIGURATION" src/vs/platform/telemetry/common/telemetryService.ts
|
||||||
|
|||||||
Reference in New Issue
Block a user