* Remove gulp, replace with custom scripts
* Symlink entire dirs where possible (fixes#1232)
* Significantly speed up subsequent builds (fixes#1238)
* Watch process now observes new/removed files, not only changed
* Add ignoreMask, exclude all files with names starting with a #
* Better logging during builds
* Update travis.yml to use new, non-gulp-based build
I think it's more useful to see that tests failed sooner than to see all
errors from a test run, particularly since earlier failures often cause
meaningless later failures anyway. And since spurious failures are
fairly common, this will also let us restart tests more quickly without
searching for "[FAIL]" in the output while it's running.
This does mean that, if there's a legitimate test failure you
overlooked, it might be worth running tests locally after fixing it to
make sure there aren't other instances of the problem that can be fixed
at the same time.
(Travis might call this automatically before 'script', but we need it
before 'gulp build', and we don't want to do 'gulp build' in 'script',
because the output isn't relevant and if it fails there's no need to run
the tests.)
Since the names of the tinderbox builds apparently aren't reliable (e.g., the latest mozilla-release-linux64-add-on-devel and mozilla-beta-linux64-add-on-devel builds are both Firefox 49)
Mozilla removed support for xpinstall.signatures.required in Fx47 Beta
before making an unbranded build available, so a source installation
won't currently run.
Don't echo version on Windows, because it hangs Firefox
Also add testing with Firefox Beta (and prior ESR, but commented out for now, since we don't support it and we know it breaks)
Implements the beginnings of unit testing infrastructure using
mocha/chai. The unit tests can be run locally using test/runtests.sh,
although this will need tweaks to run on Windows. They should also run
on commit using Travis-CI.
The unit tests themselves live in test/tests. The index.js file
specifies separate test sets, which can be run individually by calling
test/runtests.sh <testsets>. Right now there is only a single unit
test, but hopefully we'll have more soon...