duktape-esp32 icon indicating copy to clipboard operation
duktape-esp32 copied to clipboard

Vagrant or Docker

Open boneskull opened this issue 7 years ago • 0 comments

To build this project, you need:

  1. The xtensa build toolchain
  2. the build-essential (or equivalent) toolchain
  3. Python (2.7, I think)
  4. ESP-IDF & its submodule(s)
  5. Some stuff in $PATH and $IDF_PATH must be set
  6. duktape working copy or tarball
  7. Node.js & userland modules for tooling
  8. Some misc tooling such as mkspiffs and mkespfsimage which may need to be (re-)compiled

This is pretty painful, and some may not appreciate any potential version conflicts with already-installed software on their system. To mitigate this, how about we:

  • Use Vagrant and a preconfigured Linux "box" with all of the prerequisites installed. This would necessitate use of hypervisor-specific utils that'd allow the user to "share" any COM ports / USB devices from the host to guest OS. VirtualBox is free (as free as Oracle software gets, anyway) and adequate for our purposes. OR:
  • Instead of Vagrant & a VM, use container(s) and Docker. I know very little about containers other than running and configuring a few via GUIs, but the JerryScript folks went this route, and perhaps we can steal their ideas.

A solution like the above has some added wins:

  1. We can standardize the development environment, so we avoid hitting a certain class of development difficulties.
  2. Any hardcoded paths which currently exist in the codebase (e.g., pointing to @nkolban's home directory :wink:) can instead use this environment
  3. Windows users can build this project
  4. Eliminate need for separate development documentation for Mac users (who have somewhat different prereqs and pre-built/compiled executables in bin/) and Windows users
  5. Easy to update the environment as needed

Thoughts?

boneskull avatar Feb 06 '18 20:02 boneskull