I'm trying to take the current Build Environment documentation and see what is applicable on Windows. This is obviously a moving target, and my goal isn't necessarily to keep this up to date as much as it's to get an initial ideal of what does and doesn't make sense on Windows.
This might be better as a wiki or some other collaborative document, but I didn't see a wiki and don't know if you use something else, so I created an issue.
I'm not sure anything special is needed for IPv6 support, but I think it's not part of an MVP. There are plenty of projects that could test on windows with ipv4 only.
Linux | Windows | Notes |
---|---|---|
git | git | |
mercurial | mercurial | |
subversion | subversion |
(P.s. I already have a working Chef script for all 3... woohoo!)
Team Foundation Version Control is also popular on Windows, but I don't think it should be part of the initial Windows effort.
Linux | Windows | Notes |
---|---|---|
GCC | ||
Clang | ||
make | ||
autotools | ||
cmake | ||
scons | ||
go | go | Travis-CI hacks related to GOPATH likely needed for Windows |
I don't think most of these are applicable, unless you run MinGW or Cygwin. I'm trying to avoid that or at least save it as a last resort if progress is slow on "pure Windows" workers.
Visual Studio Express including msbuild is probably desirable, but perhaps C# will be a separate effort.
Linux | Windows | Notes |
---|---|---|
curl | PowerShell | |
wget | PowerShell | |
OpenSSL | PowerShell | |
rsync | Not sure :\ |
Again, probably not applicable unless MinGW or Cygwin are used.
I put PowerShell because most of the things you'd usually do (downloading files w/ curl/get or creating certificates with OpenSSL) can be done with PowerShell.
Linux | Windows | Notes |
---|---|---|
Ruby (rvm) | Ruby (uru?) | |
OpenJDK (update-alternatives?) | OpenJDK (??) | Not sure about a switcher on Windows, or if one is necessary |
Python (virtualenv) | Python (virtualenv) | |
Node.js (nvm) | Node.js (??) | nodist? |
Go | Go | Go workarounds on Linux need to be ported |
Linux | Windows | Notes |
---|---|---|
MySQL | Supports windows | |
PostgreSQL | Supports windows | |
SQLite | Supports windows | |
MongoDB | Supports windows | |
Redis | Redis does not support Windows, but MS Open Tech maintains an unofficial port | |
Riak | Riak is on Azure, but recommended server is CentOS | |
Cassandra | Supports Windows | |
Neo4J | Supports Windows | |
ElasticSearch | Supports Windows | |
CouchDB | Supports Windows |
Although all of these seem possible, I'm not any of them should be part of an MVP. Applying the pareto principle (80/20 rule) might make sense though I don't know which 20% to target.
Linux | Windows | Notes |
---|---|---|
RabbitMQ | Supports Windows | |
ZeroMQ | Supports Windows |
Linux | Windows | Notes |
---|---|---|
xvfb | I don't think it's applicable | |
PhantomJS | Supports Windows |
Looks fine, except for HOME
Linux | Windows | Notes |
---|---|---|
OpenSSL | Available for Windows... is it commonly used? | |
ImageMagick | Available for Windows |
I added the version manager to the list of runtimes above