| OLD | NEW |
| (Empty) |
| 1 # INSTALLING NPM/BOWER | |
| 2 | |
| 3 The version of npm in apt-get is too old for bower. | |
| 4 $ curl https://www.npmjs.org/install.sh | sudo sh | |
| 5 $ sudo npm install -g bower | |
| 6 | |
| 7 Eventually, we'll move into the infra repo, which will have npm and bower | |
| 8 checked in. | |
| 9 | |
| 10 # SYNCING DEPENDENCIES | |
| 11 | |
| 12 The makefile will update dependencies, including polymer components and testing
libraries: | |
| 13 | |
| 14 $ make update | |
| 15 | |
| 16 This just checks for npm and bower, and then runs: | |
| 17 | |
| 18 $ bower update | |
| 19 $ npm install | |
| 20 | |
| 21 # RUNNING SHERIFF-O-MATIC | |
| 22 | |
| 23 sheriff-o-matic must be run from the Google App Engine server, available here: | |
| 24 https://cloud.google.com/appengine/downloads | |
| 25 | |
| 26 $ cd Tools/GardeningServer | |
| 27 $ dev_appserver.py . | |
| 28 | |
| 29 Then load: http://localhost:8080/ | |
| 30 | |
| 31 # TESTING | |
| 32 | |
| 33 From the command line: | |
| 34 | |
| 35 $ cd Tools/GardeningServer | |
| 36 $ make test | |
| 37 | |
| 38 This will launch karma, run the tests and watch the source files for changes. To
run once and exit, use: | |
| 39 | |
| 40 $ make single-test | |
| 41 | |
| 42 Or, you can start karma manually: | |
| 43 | |
| 44 $ cd Tools/GardeningServer | |
| 45 $ ./node_modules/karma/bin/karma start | |
| 46 | |
| 47 You can shorten this command to 'karma start' if you run 'npm install -g karma-c
li'. | |
| 48 | |
| 49 To run a single test or test suite, change the test code to use describe.only | |
| 50 or it.only as appropriate. You can use the chromium dev tools inside the | |
| 51 Chrome instance that karma starts up in order to set breakpoints and otherwise | |
| 52 debug. | |
| 53 | |
| 54 # PUSHING | |
| 55 | |
| 56 In GardeningServer: | |
| 57 | |
| 58 1. make update | |
| 59 2. appcfg.py update . --version r$(git svn find-rev HEAD) --oauth2 | |
| 60 3. Go to appengine.google.com and select the sheriff-o-matic app. | |
| 61 4. Click on the version tab | |
| 62 5. Make the rXXXX version the default, where XXXX is: | |
| 63 git svn find-rev HEAD | |
| 64 | |
| 65 The versioning is so that we can easily roll back if there's something | |
| 66 wrong with the push and so we can know what we've pushed. | |
| 67 | |
| 68 If you're unsure about whether you might have broken things, before | |
| 69 step 4, you can click on the link for that version to see that | |
| 70 version of the server before you make it the default. | |
| 71 | |
| 72 # LIBRARIES | |
| 73 | |
| 74 sugar: Provides generic syntactic sugar for JavaScript, mostly by extending nati
ve object prototypes. | |
| 75 | |
| 76 karma: test runner. Runs the unit tests in an instance of Chrome and pipes the r
esults to the command | |
| 77 line. By default, it watches for changes to files and will automatically
re-run the tests. To run | |
| 78 once and exit, use 'karma start --single-run' or 'make single-test'. | |
| 79 | |
| 80 mocha: testing framework. Provides good asynchronous and synchronous test suppor
t. Tests run serially, | |
| 81 so exceptions are reported for the right test case. | |
| 82 | |
| 83 chai: assertion library. | |
| OLD | NEW |