Skip to content

Commit 201351f

Browse files
author
Christian Weichel
committed
Moving repo to bmci-labs
0 parents  commit 201351f

Some content is hidden

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

61 files changed

+16427
-0
lines changed

.gitignore

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
node_modules/
2+
# .node_modules is a hack for the electron builder.
3+
.node_modules/
4+
lib/
5+
build/
6+
!electron/build/
7+
src-gen/
8+
arduino-ide-*/webpack.config.js
9+
.DS_Store

.gitpod.yml

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
image:
2+
file: Dockerfile
3+
4+
ports:
5+
- port: 3000
6+
onOpen: open-browser
7+
8+
tasks:
9+
- init: >
10+
yarn &&
11+
yarn --cwd ./arduino-ide-browser start
12+
13+
github:
14+
prebuilds:
15+
master: true
16+
branches: true
17+
pullRequests: true
18+
pullRequestsFromForks: true
19+
addComment: false
20+
addBadge: false

.vscode/launch.json

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
{
2+
// Use IntelliSense to learn about possible attributes.
3+
// Hover to view descriptions of existing attributes.
4+
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5+
"version": "0.2.0",
6+
"configurations": [
7+
{
8+
"type": "node",
9+
"request": "launch",
10+
"name": "Launch Backend",
11+
"program": "${workspaceRoot}/arduino-ide-browser/src-gen/backend/main.js",
12+
"args": [
13+
"--hostname=0.0.0.0",
14+
"--port=3000",
15+
"--no-cluster",
16+
"--no-app-auto-install"
17+
],
18+
"env": {
19+
"NODE_ENV": "development"
20+
},
21+
"sourceMaps": true,
22+
"outFiles": [
23+
"${workspaceRoot}/arduino-ide-browser/src-gen/backend/*.js",
24+
"${workspaceRoot}/arduino-ide-browser/lib/**/*.js",
25+
"${workspaceRoot}/arduino-ide-extension/*/lib/**/*.js"
26+
],
27+
"smartStep": true,
28+
"internalConsoleOptions": "openOnSessionStart",
29+
"outputCapture": "std"
30+
}
31+
]
32+
}

Dockerfile

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
FROM gitpod/workspace-full
2+
3+
USER root
4+
RUN apt-get update -q --fix-missing && \
5+
apt-get install -y -q software-properties-common && \
6+
apt-get install -y -q --no-install-recommends \
7+
build-essential \
8+
libssl-dev \
9+
golang-go \
10+
libxkbfile-dev
11+
12+
RUN set -ex && \
13+
tmpdir=$(mktemp -d) && \
14+
curl -L -o $tmpdir/protoc.zip https://github.com/protocolbuffers/protobuf/releases/download/v3.6.1/protoc-3.6.1-linux-x86_64.zip && \
15+
mkdir -p /usr/lib/protoc && cd /usr/lib/protoc && unzip $tmpdir/protoc.zip && \
16+
chmod -R 755 /usr/lib/protoc/include/google && \
17+
ln -s /usr/lib/protoc/bin/* /usr/bin && \
18+
rm $tmpdir/protoc.zip

README.md

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Arduino IDE PoC
2+
3+
> **Beware:** This is very much work-in-progress. Things can and probably will be broken, even on master.
4+
5+
This repo contains a proof-of-concept for an Arduino IDE based on Theia.
6+
It's built on top of a [version of the arduino-cli](https://github.com/cmaglie/arduino-cli/tree/daemon) that sports a gRPC interface.
7+
8+
## How to try (online)
9+
The easiest way to try the browser version is using Gitpod: https://gitpod.io/#github.com/typefox/arduino-poc
10+
11+
## How to try (offline)
12+
requires [protoc](https://github.com/protocolbuffers/protobuf/releases/tag/v3.7.1) to be in the `PATH` and some other [prerequisites](https://github.com/theia-ide/theia/blob/master/doc/Developing.md#prerequisites).
13+
14+
```
15+
git clone https://github.com/typefox/arduino-poc
16+
cd arduino-poc
17+
yarn
18+
yarn --cwd arduino-ide-electron start
19+
```

arduino-ide-browser/package.json

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
{
2+
"private": true,
3+
"name": "arduino-ide-browser",
4+
"version": "0.0.1",
5+
"license": "MIT",
6+
"dependencies": {
7+
"@theia/core": "next",
8+
"@theia/editor": "next",
9+
"@theia/file-search": "next",
10+
"@theia/filesystem": "next",
11+
"@theia/languages": "next",
12+
"@theia/messages": "next",
13+
"@theia/monaco": "next",
14+
"@theia/navigator": "next",
15+
"@theia/preferences": "next",
16+
"@theia/process": "next",
17+
"@theia/terminal": "next",
18+
"@theia/workspace": "next",
19+
"@theia/textmate-grammars": "next",
20+
"arduino-ide-extension": "0.0.1"
21+
},
22+
"devDependencies": {
23+
"@theia/cli": "next"
24+
},
25+
"scripts": {
26+
"prepare": "theia build --mode development",
27+
"start": "theia start --root-dir=../workspace",
28+
"watch": "theia build --watch --mode development"
29+
}
30+
}

arduino-ide-electron/package.json

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
{
2+
"private": true,
3+
"name": "arduino-ide-electron",
4+
"version": "0.0.1",
5+
"license": "MIT",
6+
"dependencies": {
7+
"@theia/core": "next",
8+
"@theia/editor": "next",
9+
"@theia/electron": "next",
10+
"@theia/file-search": "next",
11+
"@theia/filesystem": "next",
12+
"@theia/languages": "next",
13+
"@theia/messages": "next",
14+
"@theia/monaco": "next",
15+
"@theia/navigator": "next",
16+
"@theia/preferences": "next",
17+
"@theia/process": "next",
18+
"@theia/terminal": "next",
19+
"@theia/workspace": "next",
20+
"@theia/textmate-grammars": "next",
21+
"arduino-ide-extension": "0.0.1"
22+
},
23+
"devDependencies": {
24+
"@theia/cli": "next"
25+
},
26+
"scripts": {
27+
"prepare": "theia build --mode development",
28+
"start": "theia start --root-dir=../workspace",
29+
"watch": "theia build --watch --mode development"
30+
},
31+
"theia": {
32+
"target": "electron",
33+
"backend": {
34+
"config": {
35+
"startupTimeout": -1
36+
}
37+
}
38+
}
39+
}

arduino-ide-extension/.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
src/node/cli-protocol

0 commit comments

Comments
 (0)