#!/bin/bash

path=${0::-3}

if [[ $1 == "help" ]]; then
  echo "lc (Launch Container) help:
===========================
  - lc new <dockerfile> <container_name> <image_name>: create new image &
  container using the selected dockerfile
    - available dockerfiles: go, rust
  - lc stop <container_name>: stop container
  - lc rm <container_name>: remove container
  - lc ls: list containers
  - lc stop <container_name> <image_name>: stop container
  - lc <container_name>: launch container
  "
  exit 0
elif [[ $1 == "new" ]]; then
  # $2: lang, $3: container_name, $4: image_name
  lang=$2

  if [[ $lang == "rust" ]]; then
    lang="$path/Dockerfile.rust"
  elif [[ $lang == "go" ]]; then
    lang="$path/Dockerfile.go"
  else
    echo "available dockerfiles: go, rust"
    exit 0
  fi
  echo $lang

  sudo docker build -t $4 -f $lang $path/.
  sudo docker run -it --entrypoint=/bin/bash --name $3 $4
  exit 0
elif [[ $1 == "stop" ]]; then
  # $2: container_name
  sudo docker stop $2
  exit 0
elif [[ $1 == "rm" ]]; then
  # $2: container_name
  sudo docker stop $2
  sudo docker rm $2
  exit 0
elif [[ $1 == "ls" ]]; then
  sudo docker ps -a
  exit 0
fi

# $1: container_name, $2: image_name
sudo docker start $1
sudo docker container exec -it $1 bash
