Do open source projects have an obvious "run this script to configure your complete dev environment in respect to this project" ?
I would be happy to spin up a new VM for every project on that basis.
Ironically (or perhaps obviously) the OSS projects I've used that have approachable build processes and requirements don't seem to have easily-fixed problems...
I was waiting for something like this for years, it’s great.
Try it out https://Gitpod.io#https://GitHub.com/gitpod-io/website
PS. If you aren't impressed by a JavaScript app then take Kubernetes for a spin!
I use VS Code devcontainers a lot locally, and it's the same concept. This really ought to be something we aspire to as a standard IMO.
I've submitted several Gitpod + VS Code Devcontainer setup PR's to projects to spare others the pain of having to figure it out.
One of the latest OSS projects I checked required gcloud and some online account to run make, it wad absurd...
As a fulltime working parent, 50 hours a month is more time than I am likely to spend anyway.
Awesome. Thank you!
Have used Vagrant for that, worked well, but not popular these days. Spins up a VM, you check in a script to install everything you need inside it.
Docker Compose isn’t bad for that either. Can specify a bunch of components such a databases, and a Dockerfile can specify what you need in your main container such as particular versions of Java or whatever.
Not to say all projects are using these things. But they’re out there, and can be used if the developers want.
Sounds pretty ridiculous, doesn't it? Why is it that people think that all this computery stuff like syntax and semantics, compilers, and operating systems is superfluous fluff invented by programmers to gatekeep their profession, instead of tools we created to actually do our job?
This is the original idea behind IDEs, in that they would come with everything set-up, and you could just jump into the code. But we lost this, maybe because of the web, or the great IDE extinction of the 00's, or the proliferation of non-integrated OSS, or some other thing that happened at the time, and now IDEs are about as hard to configure as a normal build environment.
./configure
1) Install an appropriate compiler toolchain.
2) Install whatever other tools are needed (like pkgconfig).
3) Install the necessary *-dev packages for the library dependencies.
4) Figure out which options to pass to configure to include the features you want and exclude the features you don't want.
5) ./configure
6) Go back to step 3 because you had a wrong *-dev package version, or you missed a library you care about.
7) ./configure
8) make
9) Diagnose the error messages and scream in frustration, because the compiler you installed in step 1 is too old/too new/too not gcc.
10) Install gcc version x.y.z
11) ./configure
12) make
13) Get the same error messages, because you didn't deinstall the first compiler and configure helpfully selected it again.
14) Give up in disgust and let someone else fix the bug you found.
0.1) Install the autotools.
0.2) Run autoconf, no wait, automake, no wait, autoreconf, no wait, autoreconf --install.
0.3) Delete all files in the directory and checkout a fresh copy.
0.4) autoreconf --install
1) ...