Currently, an associative array variable waf_supported_boards is used to
trigger waf build only the currently supported boards. After the transition to
the new build system is done, that variable can be removed.
We're just building for now - there is a current issue related to the rotation
for solo, and it turns out that the first unit test added as an example is for
vector rotations. After that is solved we can use waf check, so that unit tests
are run as well.
In order to use the container infrastructure we can't use sudo to
install packages. Now Travis has a way to install packages by specifying
them in the .travis.yml. This greatly simplifies how we install the
packages and there's no need for a separate script anymore.
This also removes several outdated packages that aren't needed anymore.
The driver for this is to separate the Copter and TradHeli builds so
Copter and TradHeli do not have to be released at the same time. This
will also work for all frame times but it is anticipated only required
by Heli.
The realpath tool may be missing on a Ubuntu distro and we use it in
sim_vehicle.sh. Make sure it's also installed as part of sitl packages.
On Archlinux it's part of the coreutils package which is part of the
base group. Therefore it's guaranteed to be available.
Fix#2730.
Instead of always trying to fix the entire tree, accept paths in the
command line so it only fixes that paths. This allows to easily rebase a
branch after the header changes, without touching the rest of the tree.
This way we can group together the builds that are fast so we pay the
"setup price" just once. Let the long PX4 build on its own VM because
it's the one that takes most of the time building NuttX.
By grouping the projects by target it's also easier to split the build
in more VMs if we want to speed up the build.
Travis build is timing out because it's taking too much time. Let's
split the build so 1) they can run concurrently and 2) we don't timeout.
We still lose some time due to multiple checkouts, but at least we don't
fail the build due to timeout.
In ArduPlane "make all" is the same as "make sitl" and both sitl and
linux are already covered by the loop below. Don't build the same
configuration multiple times.