mirror of
https://github.com/reactos/reactos.git
synced 2024-12-25 16:50:57 +00: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
5 changed files with 171 additions and 0 deletions
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 a new issue