Skip to content

Commit d758608

Browse files
akosyakovjeanp413
authored andcommitted
gitpod server initial commit
1 parent 673165c commit d758608

File tree

100 files changed

+8495
-138
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

100 files changed

+8495
-138
lines changed

.eslintrc.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1071,6 +1071,18 @@
10711071
}
10721072
]
10731073
}
1074+
},
1075+
{
1076+
"files": [
1077+
"build/gulpfile.gitpod.js",
1078+
"src/vs/gitpod/*",
1079+
"extensions/gitpod*/**/*"
1080+
],
1081+
"rules": {
1082+
"header/header": [
1083+
"off"
1084+
]
1085+
}
10741086
}
10751087
]
10761088
}

.gitpod.Dockerfile

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
FROM gitpod/workspace-full:latest
2+
3+
USER gitpod
4+
5+
# We use latest major version of Node.js distributed VS Code. (see about dialog in your local VS Code)
6+
RUN bash -c ". .nvm/nvm.sh \
7+
&& nvm install 14 \
8+
&& nvm use 14 \
9+
&& nvm alias default 14"
10+
11+
RUN echo "nvm use default &>/dev/null" >> ~/.bashrc.d/51-nvm-fix
12+
13+
# Install dependencies
14+
RUN sudo apt-get update \
15+
&& sudo apt-get install -y --no-install-recommends \
16+
xvfb x11vnc fluxbox dbus-x11 x11-utils x11-xserver-utils xdg-utils \
17+
fbautostart xterm eterm gnome-terminal gnome-keyring seahorse nautilus \
18+
libx11-dev libxkbfile-dev libsecret-1-dev libnotify4 libnss3 libxss1 \
19+
libasound2 libgbm1 xfonts-base xfonts-terminus fonts-noto fonts-wqy-microhei \
20+
fonts-droid-fallback vim-tiny nano libgconf2-dev libgtk-3-dev twm \
21+
&& sudo apt-get clean && sudo rm -rf /var/cache/apt/* && sudo rm -rf /var/lib/apt/lists/* && sudo rm -rf /tmp/*

.gitpod.yml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
image:
2+
file: .gitpod.Dockerfile
3+
ports:
4+
- port: 9888
5+
onOpen: open-browser
6+
tasks:
7+
- init: |
8+
yarn
9+
yarn server:init
10+
command: |
11+
gp sync-done init
12+
export NODE_ENV=development
13+
export VSCODE_DEV=1
14+
yarn gulp watch-init
15+
name: watch app
16+
- command: |
17+
export NODE_ENV=development
18+
export VSCODE_DEV=1
19+
gp sync-await init
20+
cd ./extensions
21+
yarn watch
22+
name: watch extension
23+
- command: |
24+
export NODE_ENV=development
25+
export VSCODE_DEV=1
26+
gp sync-await init
27+
./resources/server/web.sh
28+
name: run app
29+
openMode: split-right
30+
github:
31+
prebuilds:
32+
pullRequestsFromForks: true
33+
vscode:
34+
extensions:
35+
- dbaeumer.vscode-eslint

.vscode/launch.json

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,21 @@
11
{
22
"version": "0.1.0",
33
"configurations": [
4+
{
5+
"name": "Launch Built-in Extension",
6+
"type": "extensionHost",
7+
"request": "launch",
8+
"runtimeExecutable": "${execPath}",
9+
"args": [
10+
"${workspaceFolder}",
11+
"--extensionDevelopmentPath=${workspaceRoot}/extensions/gitpod-web",
12+
"--log=debug"
13+
],
14+
"outFiles": [
15+
"${workspaceRoot}/extensions/gitpod-shared/out/**/*.js",
16+
"${workspaceRoot}/extensions/gitpod-web/out/**/*.js",
17+
]
18+
},
419
{
520
"type": "node",
621
"request": "launch",

BUILD.yaml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
packages:
2+
- name: install
3+
type: generic
4+
srcs:
5+
- "**"
6+
config:
7+
commands:
8+
- ["yarn"]
9+
- name: init
10+
type: generic
11+
deps:
12+
- ":install"
13+
config:
14+
commands:
15+
- ["yarn", "--cwd", "./install/build", "compile"]
16+
- ["yarn", "--cwd", "./install", "compile"]
17+
- ["yarn", "--cwd", "./install", "download-builtin-extensions"]

build/.moduleignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,4 +151,11 @@ xterm-addon-*/fixtures/**
151151
xterm-addon-*/out/**
152152
xterm-addon-*/out-test/**
153153

154+
@improbable-eng/**
155+
!@improbable-eng/grpc-web/dist/grpc-web-client.umd.js
154156

157+
@gitpod/**
158+
!@gitpod/local-app-api-grpcweb/lib/localapp.js
159+
160+
browser-headers/**
161+
google-protobuf/**

build/.webignore

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,12 @@ xterm-addon-webgl/out/**
3232

3333
# This makes sure the model is included in the package
3434
!@vscode/vscode-languagedetection/model/**
35+
36+
@improbable-eng/**
37+
!@improbable-eng/grpc-web/dist/grpc-web-client.umd.js
38+
39+
@gitpod/**
40+
!@gitpod/local-app-api-grpcweb/lib/localapp.js
41+
42+
browser-headers/**
43+
google-protobuf/**

build/gulpfile.gitpod.js

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
/*!--------------------------------------------------------
2+
* Copyright (C) Gitpod. All rights reserved.
3+
*--------------------------------------------------------*/
4+
5+
'use strict';
6+
7+
const promisify = require('util').promisify;
8+
const cp = require('child_process');
9+
const argv = require('yargs').argv;
10+
const vsce = require('vsce');
11+
const gulp = require('gulp');
12+
const path = require('path');
13+
const es = require('event-stream');
14+
const util = require('./lib/util');
15+
const task = require('./lib/task');
16+
const rename = require('gulp-rename');
17+
const ext = require('./lib/extensions');
18+
19+
gulp.task(task.define('watch-init', require('./lib/compilation').watchTask('out', false)));
20+
21+
const extensionsPath = path.join(path.dirname(__dirname), 'extensions');
22+
const marketplaceExtensions = ['gitpod', 'gitpod-remote'];
23+
const outMarketplaceExtensions = 'out-gitpod-marketplace';
24+
const cleanMarketplaceExtensions = task.define('clean-gitpod-marketplace-extensions', util.rimraf(outMarketplaceExtensions));
25+
const bumpMarketplaceExtensions = task.define('bump-marketplace-extensions', () => {
26+
if ('new-version' in argv && argv['new-version']) {
27+
const newVersion = argv['new-version'];
28+
console.log(newVersion);
29+
return Promise.allSettled(marketplaceExtensions.map(async extensionName => {
30+
const { stderr } = await promisify(cp.exec)(`yarn version --new-version ${newVersion} --cwd ${path.join(extensionsPath, extensionName)} --no-git-tag-version`, { encoding: 'utf8' });
31+
if (stderr) {
32+
throw new Error('failed to bump up version: ' + stderr);
33+
}
34+
}));
35+
}
36+
});
37+
const bundleMarketplaceExtensions = task.define('bundle-gitpod-marketplace-extensions', task.series(
38+
cleanMarketplaceExtensions,
39+
bumpMarketplaceExtensions,
40+
() =>
41+
ext.minifyExtensionResources(
42+
es.merge(
43+
...marketplaceExtensions.map(extensionName =>
44+
ext.fromLocal(path.join(extensionsPath, extensionName), false)
45+
.pipe(rename(p => p.dirname = `${extensionName}/${p.dirname}`))
46+
)
47+
)
48+
).pipe(gulp.dest(outMarketplaceExtensions))
49+
));
50+
gulp.task(bundleMarketplaceExtensions);
51+
const publishMarketplaceExtensions = task.define('publish-gitpod-marketplace-extensions', task.series(
52+
bundleMarketplaceExtensions,
53+
() => Promise.allSettled(marketplaceExtensions.map(extensionName => {
54+
vsce.publish({
55+
cwd: path.join(outMarketplaceExtensions, extensionName)
56+
});
57+
}))
58+
));
59+
gulp.task(publishMarketplaceExtensions);
60+
const packageMarketplaceExtensions = task.define('package-gitpod-marketplace-extensions', task.series(
61+
bundleMarketplaceExtensions,
62+
() => Promise.allSettled(marketplaceExtensions.map(extensionName => {
63+
vsce.createVSIX({
64+
cwd: path.join(outMarketplaceExtensions, extensionName)
65+
});
66+
}))
67+
));
68+
gulp.task(packageMarketplaceExtensions);
69+
for (const extensionName of marketplaceExtensions) {
70+
const cleanExtension = task.define('gitpod:clean-extension:' + extensionName, util.rimraf(path.join(outMarketplaceExtensions, extensionName)));
71+
const bumpExtension = task.define('gitpod:bump-extension:' + extensionName, async () => {
72+
if ('new-version' in argv && argv['new-version']) {
73+
const newVersion = argv['new-version'];
74+
const { stderr } = await promisify(cp.exec)(`yarn version --new-version ${newVersion} --cwd ${path.join(extensionsPath, extensionName)} --no-git-tag-version`, { encoding: 'utf8' });
75+
if (stderr) {
76+
throw new Error('failed to bump up version: ' + stderr);
77+
}
78+
}
79+
});
80+
const bundleExtension = task.define('gitpod:bundle-extension:' + extensionName, task.series(
81+
cleanExtension,
82+
bumpExtension,
83+
() =>
84+
ext.minifyExtensionResources(
85+
ext.fromLocal(path.join(extensionsPath, extensionName), false)
86+
.pipe(rename(p => p.dirname = `${extensionName}/${p.dirname}`))
87+
).pipe(gulp.dest(outMarketplaceExtensions))
88+
));
89+
gulp.task(bundleExtension);
90+
const publishExtension = task.define('gitpod:publish-extension:' + extensionName, task.series(
91+
bundleExtension,
92+
() => vsce.publish({
93+
cwd: path.join(outMarketplaceExtensions, extensionName)
94+
})
95+
));
96+
gulp.task(publishExtension);
97+
const packageExtension = task.define('gitpod:package-extension:' + extensionName, task.series(
98+
bundleExtension,
99+
() => vsce.createVSIX({
100+
cwd: path.join(outMarketplaceExtensions, extensionName)
101+
})
102+
));
103+
gulp.task(packageExtension);
104+
}

build/gulpfile.reh.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -355,7 +355,12 @@ function packageTask(type, platform, arch, sourceFolderName, destinationFolderNa
355355
out: `out-vscode-${type}`,
356356
inlineAmdImages: true,
357357
bundleInfo: undefined,
358-
fileContentMapper: createVSCodeWebFileContentMapper('.build/extensions')
358+
fileContentMapper: createVSCodeWebFileContentMapper('.build/extensions'),
359+
header: [
360+
'/*!-----------------------------------------',
361+
' * Copyright (c) Gitpod. All rights reserved.',
362+
' *-----------------------------------------*/'
363+
].join('\n')
359364
})
360365
));
361366

build/gulpfile.vscode.web.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ const version = (quality && quality !== 'stable') ? `${packageJson.version}-${qu
3333
const vscodeWebResourceIncludes = [
3434
// Workbench
3535
'out-build/vs/{base,platform,editor,workbench}/**/*.{svg,png,jpg}',
36-
'out-build/vs/code/browser/workbench/*.html',
36+
'out-build/vs/gitpod/browser/workbench/*.html',
3737
'out-build/vs/base/browser/ui/codicons/codicon/**/*.ttf',
3838
'out-build/vs/**/markdown.css',
3939

0 commit comments

Comments
 (0)