Github provides an API to search for repositories – this can be used directly from wget. As an experiment I have set up a simple script that gets the 30 most recently updated projects on github, clones them to a local directory, examines the code received, classifies it by build mechanism and, for some mechanisms, attempts to build it.
Here are the build mechanisms I have found:
- Python setup.py
- Dockerfile
- bootstrap.sh
- configure
- Makefile
- Vagrantfile
- build.gradle
- Gruntfile.js
- gulpfile.js
- package.json
- composer.json
- custom script based on project name
- Cartfile
- Rakefile
There are, I’m sure, more active build mechanisms and I will add those when I encounter them. From my experiments so far the above list covers about 90% of the currently active projects. Notably missing from the list are some of the Java build systems, like ant and maven, which suggests there might be other places for projects using those to live.