Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .devcontainer/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.devpod-internal
2 changes: 2 additions & 0 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Explicitly force the platform here to ensure the build happens on amd64
FROM --platform=linux/amd64 mcr.microsoft.com/devcontainers/base:ubuntu-22.04
13 changes: 13 additions & 0 deletions .devcontainer/aws-config
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
[profile default-engineering]
sso_start_url = https://6si-mgmt.awsapps.com/start
sso_region = us-east-1
sso_account_id = 242358675102
sso_role_name = BigData
region = us-east-1
output = json
sso_session = default

[sso-session default]
sso_start_url = https://6si-mgmt.awsapps.com/start
sso_region = us-east-1
sso_registration_scopes = sso:account:access
21 changes: 21 additions & 0 deletions .devcontainer/bash_additional.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#!/bin/bash

__spark_git_branch() {
command -v git >/dev/null 2>&1 || return
git rev-parse --is-inside-work-tree >/dev/null 2>&1 || return
git branch --show-current 2>/dev/null
}

__spark_prompt_git() {
local b
b="$(__spark_git_branch)"
if [ -n "$b" ]; then
printf '(%s)' "$b"
fi
}

if [ -n "$DEVPOD_WORKSPACE_ID" ]; then
export PS1="\[\e[32m\]\u@\h\[\e[33m\]($DEVPOD_WORKSPACE_ID)\[\e[34m\]:\w \[\e[33m\]$(__spark_prompt_git)\[\e[0m\]\n\$ "
else
export PS1="\[\e[32m\]\u@\h:\[\e[34m\]\w \[\e[33m\]$(__spark_prompt_git)\[\e[0m\]\n\$ "
fi
52 changes: 52 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
{
// Devcontainer config for x86_64 (amd64) development
"name": "Apache Spark Development (Multi-JDK, x86_64)",
// CHANGE: Use 'build' instead of 'image'
"build": {
"dockerfile": "Dockerfile"
},
// Force running the container as linux/amd64 via Docker run args
"runArgs": ["--platform=linux/amd64"],

"features": {
// Installs SDKMAN and multiple Java versions
// 1. Install multiple JDKs (8, 11, 17, 21)
"ghcr.io/devcontainers/features/java:1": {
"version": "17",
"installMaven": "true",
"installGradle": "false",
"jdkDistro": "amzn"
},
// Common utilities for Spark building
"ghcr.io/devcontainers/features/common-utils:1": {
"installZsh": "true",
"configureZshAsDefaultShell": "true"
}
},

"customizations": {
"vscode": {
"extensions": [
"GitHub.vscode-pull-request-github",
"vscjava.vscode-java-pack",
"vscjava.vscode-maven",
"vscjava.vscode-java-dependency",
"rebornix.project-config",
"mtxr.sqltools"
],
"settings": {
"java.configuration.runtimes": [
{ "name": "JavaSE-1.8", "path": "/usr/local/sdkman/candidates/java/8.0.402-amzn" },
{ "name": "JavaSE-11", "path": "/usr/local/sdkman/candidates/java/11.0.22-amzn" },
{ "name": "JavaSE-17", "path": "/usr/local/sdkman/candidates/java/17.0.10-amzn", "default": true }
],
"files.watcherExclude": {
"**/target/**": true
}
}
}
},

"postCreateCommand": "bash .devcontainer/setup-sparkdev.sh",
"remoteUser": "vscode"
}
Loading
Loading