Skip to content

Commit

Permalink
feat(jetbrains): add rider and clion
Browse files Browse the repository at this point in the history
  • Loading branch information
Andrea Falzetti committed Nov 9, 2022
1 parent d334e95 commit b4dd94a
Show file tree
Hide file tree
Showing 32 changed files with 896 additions and 26 deletions.
2 changes: 2 additions & 0 deletions .github/workflows/jetbrains-auto-update-template.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@ jobs:
echo $IDE_VERSION
- name: Leeway build
if: ${{ steps.ide-version.outputs.result }}
env:
LEEWAY_MAX_PROVENANCE_BUNDLE_SIZE: '8388608'
run: |
gcloud auth configure-docker --quiet
export LEEWAY_WORKSPACE_ROOT=$(pwd)
Expand Down
18 changes: 18 additions & 0 deletions .github/workflows/jetbrains-auto-update.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,3 +65,21 @@ jobs:
projectId: ${{ secrets.GCP_PROJECT_ID }}
serviceAccountKey: ${{ secrets.GCP_SA_KEY }}
slackWebhook: ${{ secrets.IDE_SLACK_WEBHOOK }}
rider:
uses: ./.github/workflows/jetbrains-auto-update-template.yml
with:
productId: rider
productCode: RD
secrets:
projectId: ${{ secrets.GCP_PROJECT_ID }}
serviceAccountKey: ${{ secrets.GCP_SA_KEY }}
slackWebhook: ${{ secrets.IDE_SLACK_WEBHOOK }}
clion:
uses: ./.github/workflows/jetbrains-auto-update-template.yml
with:
productId: clion
productCode: CL
secrets:
projectId: ${{ secrets.GCP_PROJECT_ID }}
serviceAccountKey: ${{ secrets.GCP_SA_KEY }}
slackWebhook: ${{ secrets.IDE_SLACK_WEBHOOK }}
2 changes: 2 additions & 0 deletions WORKSPACE.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ defaultArgs:
phpstormDownloadUrl: "https://download.jetbrains.com/webide/PhpStorm-2022.2.3.tar.gz"
rubymineDownloadUrl: "https://download.jetbrains.com/ruby/RubyMine-2022.2.3.tar.gz"
webstormDownloadUrl: "https://download.jetbrains.com/webstorm/WebStorm-2022.2.3.tar.gz"
riderDownloadUrl: "https://download.jetbrains.com/rider/JetBrains.Rider-2022.2.3.tar.gz"
clionDownloadUrl: "https://download.jetbrains.com/cpp/CLion-2022.2.3.tar.gz"
REPLICATED_API_TOKEN: ""
REPLICATED_APP: ""
provenance:
Expand Down
4 changes: 4 additions & 0 deletions components/BUILD.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,10 @@ packages:
- components/ide/jetbrains/image:rubymine-latest
- components/ide/jetbrains/image:webstorm
- components/ide/jetbrains/image:webstorm-latest
- components/ide/jetbrains/image:rider
- components/ide/jetbrains/image:rider-latest
- components/ide/jetbrains/image:clion
- components/ide/jetbrains/image:clion-latest
- components/image-builder-bob:docker
- components/image-builder-mk3:docker
- components/local-app:docker
Expand Down
8 changes: 8 additions & 0 deletions components/gitpod-protocol/data/gitpod-schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -283,6 +283,14 @@
"webstorm": {
"$ref": "#/definitions/jetbrainsProduct",
"description": "Configure WebStorm integration"
},
"rider": {
"$ref": "#/definitions/jetbrainsProduct",
"description": "Configure Rider integration"
},
"clion": {
"$ref": "#/definitions/jetbrainsProduct",
"description": "Configure CLion integration"
}
}
},
Expand Down
36 changes: 36 additions & 0 deletions components/gitpod-protocol/go/gitpod-config-types.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions components/gitpod-protocol/src/protocol.ts
Original file line number Diff line number Diff line change
Expand Up @@ -802,6 +802,8 @@ export interface JetBrainsConfig {
phpstorm?: JetBrainsProductConfig;
rubymine?: JetBrainsProductConfig;
webstorm?: JetBrainsProductConfig;
rider?: JetBrainsProductConfig;
clion?: JetBrainsProductConfig;
}
export interface JetBrainsProductConfig {
prebuilds?: JetBrainsPrebuilds;
Expand Down
1 change: 1 addition & 0 deletions components/ide-proxy/static/image/ide-logo/clionLogo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions components/ide-proxy/static/image/ide-logo/riderLogo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 8 additions & 0 deletions components/ide/jetbrains/image/BUILD.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,14 @@ const ideConfigs = [
name: "webstorm",
productCode: "WS",
},
{
name: "rider",
productCode: "RD",
},
{
name: "clion",
productCode: "CL",
},
];

const packages = [];
Expand Down
4 changes: 4 additions & 0 deletions components/ide/jetbrains/image/download.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,7 @@ mkdir backend && cd backend || exit
curl -sSLo backend.tar.gz "$JETBRAINS_BACKEND_URL" && tar -xf backend.tar.gz --strip-components=1 && rm backend.tar.gz
# enable shared indexes by default
printf '\nshared.indexes.download.auto.consent=true' >> "bin/idea.properties"

# TODO(andreafalzetti): this is a workaround to build Rider, as these files are supposed to be for MacOS and leeway does not like them
rm -rf bin/JBDevice.framework
rm -rf bin/Bridge.framework
14 changes: 14 additions & 0 deletions components/ide/jetbrains/image/gha-update-image/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,20 @@ const IDEs = [
productType: "release",
exampleRepo: "https://github.com/gitpod-io/template-jetbrains-webstorm",
},
{
productName: "Rider",
productId: "rider",
productCode: "RD",
productType: "release",
exampleRepo: "https://github.com/gitpod-io/template-dotnet-core-cli-csharp",
},
{
productName: "CLion",
productId: "clion",
productCode: "CL",
productType: "release",
exampleRepo: "https://github.com/gitpod-io/template-cpp",
},
];

(async () => {
Expand Down
10 changes: 10 additions & 0 deletions components/ide/jetbrains/image/supervisor-ide-config_clion.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"entrypoint": "/ide-desktop/startup.sh",
"entrypointArgs": [ "{DESKTOPIDEPORT}", "clion", "Open in CLion" ],
"readinessProbe": {
"type": "http",
"http": {
"path": "/status"
}
}
}
10 changes: 10 additions & 0 deletions components/ide/jetbrains/image/supervisor-ide-config_rider.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"entrypoint": "/ide-desktop/startup.sh",
"entrypointArgs": [ "{DESKTOPIDEPORT}", "rider", "Open in Rider" ],
"readinessProbe": {
"type": "http",
"http": {
"path": "/status"
}
}
}
4 changes: 4 additions & 0 deletions components/server/src/ide-service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,10 @@ export class IDEService {
productCode = "RM";
} else if (key === "webstorm") {
productCode = "WS";
} else if (key === "rider") {
productCode = "RD";
} else if (key === "clion") {
productCode = "CL";
}
const prebuilds = productCode && ws.config.jetbrains[key as keyof JetBrainsConfig]?.prebuilds;
if (prebuilds) {
Expand Down
60 changes: 58 additions & 2 deletions install/installer/cmd/testdata/render/aws-setup/output.golden

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit b4dd94a

Please sign in to comment.