Create a development environment that is enjoyable and allowing you to quickly and easily jump in creating esoui addons using TDD approach.
Use docker to expose lua interpreter upon alpine linux, luarocks package manager, and the busted lua testing framework.
- Setup https://docs.docker.com/install/
- Build the images:
docker-compose build luadocker-compose build luarocksdocker-compose build busted
- Replace
AddonNamewith the addon name intests/bootstrap.lua - Execute Tests
docker-compose run --rm busted tests -v
This scripts folder has scripts automating tasks such as getting busted, esoui sdks. Tools such as dos2unix, and even fetching esoui globals.
Storing source code inside the system feels like coding on production server :mind_blown: Let's fix that by creating a symbolic link from the source code to system:
- Open
cmdwith Admin privileges - Paste:
mklink /d "C:\Users\rdok\Documents\Elder Scrolls Online\live\AddOns\Pomodoro" "D:\Code\Pomodoro"
standard_init_linux.go:207: exec user process caused "no such file or directory" Convert file endings to Unix style:
PowerShell:
- Fetch dos2unix: .\tools\get_dos2unix.ps1
- PowerShell:
{dos2unix_path} {sh file path} - Example:
.\tools\dos2unix\bin\dos2unix.exe .\docker\luarocks\entry-point.sh
Remove any stopped containers and all unused images.
docker system prune -a