mirror of
https://github.com/reactos/reactos.git
synced 2024-11-26 21:13:30 +08:00
[GITPOD]Add gitpod config
this commit adds support for Gitpod.io, a free automated dev environment that makes contributing and generally working on GitHub projects much easier. It allows anyone to start a ready-to-code dev environment for any branch, issue and pull request with a single click.
This commit is contained in:
parent
45b5ec8e7b
commit
04d0d95b8a
23
.gitpod.Dockerfile
vendored
Normal file
23
.gitpod.Dockerfile
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
FROM gitpod/workspace-full-vnc
|
||||||
|
|
||||||
|
USER gitpod
|
||||||
|
|
||||||
|
# Install custom tools, runtime, etc. using apt-get
|
||||||
|
# For example, the command below would install "bastet" - a command line tetris clone:
|
||||||
|
#
|
||||||
|
# RUN sudo apt-get -q update && # sudo apt-get install -yq bastet && # sudo rm -rf /var/lib/apt/lists/*
|
||||||
|
#
|
||||||
|
# More information: https://www.gitpod.io/docs/config-docker/
|
||||||
|
RUN sudo apt-get -q update && \
|
||||||
|
sudo apt-get -yq upgrade && \
|
||||||
|
sudo apt-get -yq install qemu-system-x86 qemu-utils gdb-mingw-w64 && \
|
||||||
|
sudo rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
RUN wget https://svn.reactos.org/amine/RosBEBinFull.tar.gz && \
|
||||||
|
sudo tar -xzf RosBEBinFull.tar.gz -C /usr/local && \
|
||||||
|
sudo mv /usr/local/RosBEBinFull /usr/local/RosBE && \
|
||||||
|
rm -f RosBEBinFull.tar.gz
|
||||||
|
|
||||||
|
RUN echo 'export PATH=/usr/local/RosBE/i386/bin:$PATH' >> /home/gitpod/.profile
|
||||||
|
|
||||||
|
RUN qemu-img create -f qcow2 reactos_hdd.qcow 10G
|
18
.gitpod.yml
Normal file
18
.gitpod.yml
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
tasks:
|
||||||
|
- before: >
|
||||||
|
brew install cmake ninja
|
||||||
|
init: >
|
||||||
|
mkdir -p /workspace/reactos/build &&
|
||||||
|
cd /workspace/reactos/build &&
|
||||||
|
cmake .. -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DGDB:BOOL=TRUE -DSEPARATE_DBG:BOOL=TRUE -D_WINKD_:BOOL=TRUE -DKDBG:BOOL=FALSE -DENABLE_ROSTESTS:BOOL=TRUE -DCMAKE_TOOLCHAIN_FILE=toolchain-gcc.cmake -G "Ninja" &&
|
||||||
|
ninja xdk psdk
|
||||||
|
command: >
|
||||||
|
cd /workspace/reactos/build &&
|
||||||
|
ninja all
|
||||||
|
|
||||||
|
image:
|
||||||
|
file: .gitpod.Dockerfile
|
||||||
|
|
||||||
|
vscode:
|
||||||
|
extensions:
|
||||||
|
- ms-vscode.cpptools@0.27.0-insiders3:Djj3Csw0GXjmueWAPWvTsg==
|
29
.theia/launch.json
Normal file
29
.theia/launch.json
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
{
|
||||||
|
// Use IntelliSense to learn about possible attributes.
|
||||||
|
// Hover to view descriptions of existing attributes.
|
||||||
|
"version": "0.2.0",
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"type": "cppdbg",
|
||||||
|
"request": "launch",
|
||||||
|
"name": "livecd (qemu)",
|
||||||
|
"preLaunchTask": "launch livecd",
|
||||||
|
"miDebuggerServerAddress": "localhost:9091",
|
||||||
|
"miDebuggerArgs": "-l 15 -ex 'set sysroot ${workspaceRoot}/build/symbols'",
|
||||||
|
"program": "${workspaceRoot}/build/ntoskrnl/ntoskrnl.exe",
|
||||||
|
"cwd": "${workspaceRoot}/build",
|
||||||
|
"miDebuggerPath": "i686-w64-mingw32-gdb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "cppdbg",
|
||||||
|
"request": "launch",
|
||||||
|
"name": "bootcd (qemu)",
|
||||||
|
"preLaunchTask": "launch bootcd",
|
||||||
|
"miDebuggerServerAddress": "localhost:9091",
|
||||||
|
"miDebuggerArgs": "-l 15 -ex 'set sysroot ${workspaceRoot}/build/symbols'",
|
||||||
|
"program": "${workspaceRoot}/build/ntoskrnl/ntoskrnl.exe",
|
||||||
|
"cwd": "${workspaceRoot}/build",
|
||||||
|
"miDebuggerPath": "i686-w64-mingw32-gdb"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
10
.theia/settings.json
Normal file
10
.theia/settings.json
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"cpp.buildConfigurations": [
|
||||||
|
{
|
||||||
|
"name": "build",
|
||||||
|
"directory": "${workspaceFolder}/build"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"cpp.clangdArgs": "--background-index",
|
||||||
|
"C_Cpp.intelliSenseEngine": "Disabled",
|
||||||
|
}
|
91
.theia/tasks.json
Normal file
91
.theia/tasks.json
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
{
|
||||||
|
// See https://go.microsoft.com/fwlink/?LinkId=733558
|
||||||
|
// for the documentation about the tasks.json format
|
||||||
|
"version": "2.0.0",
|
||||||
|
"tasks": [
|
||||||
|
{
|
||||||
|
"label": "build livecd",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "ninja livecd",
|
||||||
|
"options": {
|
||||||
|
"cwd": "${workspaceFolder}/build"
|
||||||
|
},
|
||||||
|
"group": "build",
|
||||||
|
"problemMatcher": [
|
||||||
|
{
|
||||||
|
"owner": "cpp",
|
||||||
|
"fileLocation": ["relative", "${workspaceFolder}/build"],
|
||||||
|
"pattern": {
|
||||||
|
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
|
||||||
|
"file": 1,
|
||||||
|
"line": 2,
|
||||||
|
"column": 3,
|
||||||
|
"severity": 4,
|
||||||
|
"message": 5
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "build bootcd",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "ninja bootcd",
|
||||||
|
"options": {
|
||||||
|
"cwd": "${workspaceFolder}/build"
|
||||||
|
},
|
||||||
|
"group": "build",
|
||||||
|
"problemMatcher": [
|
||||||
|
{
|
||||||
|
"base": "$gcc",
|
||||||
|
"fileLocation": ["relative", "${workspaceFolder}/build"],
|
||||||
|
},
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "launch livecd",
|
||||||
|
"type": "process",
|
||||||
|
"options": {
|
||||||
|
"cwd": "${workspaceFolder}/build"
|
||||||
|
},
|
||||||
|
"dependsOn": [
|
||||||
|
"build livecd"
|
||||||
|
],
|
||||||
|
"dependsOrder": "sequence",
|
||||||
|
"command": "qemu-system-i386",
|
||||||
|
"args": [
|
||||||
|
"-cdrom", "livecd.iso",
|
||||||
|
"-chardev", "socket,port=9091,host=localhost,server,nowait,id=char0",
|
||||||
|
"-serial", "chardev:char0",
|
||||||
|
"-nic", "user,model=e1000",
|
||||||
|
"-boot", "d",
|
||||||
|
"-chardev", "socket,path=/tmp/livecd_dbg,server,nowait,id=char1", "-serial", "chardev:char1",
|
||||||
|
"-daemonize"
|
||||||
|
],
|
||||||
|
"problemMatcher": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "launch bootcd",
|
||||||
|
"type": "process",
|
||||||
|
"options": {
|
||||||
|
"cwd": "${workspaceFolder}/build"
|
||||||
|
},
|
||||||
|
"dependsOn": [
|
||||||
|
"build bootcd"
|
||||||
|
],
|
||||||
|
"dependsOrder": "sequence",
|
||||||
|
"command": "qemu-system-i386",
|
||||||
|
"args": [
|
||||||
|
"-cdrom", "bootcd.iso",
|
||||||
|
"-hda", "${env:HOME}/reactos_hdd.qcow",
|
||||||
|
"-boot", "d",
|
||||||
|
"-m", "1024",
|
||||||
|
"-chardev", "socket,port=9091,host=localhost,server,nowait,id=char0",
|
||||||
|
"-serial", "chardev:char0",
|
||||||
|
"-nic", "user,model=e1000",
|
||||||
|
"-chardev", "socket,path=/tmp/bootcd_dbg,server,nowait,id=char1", "-serial", "chardev:char1",
|
||||||
|
"-daemonize"
|
||||||
|
],
|
||||||
|
"problemMatcher": []
|
||||||
|
},
|
||||||
|
],
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user