There is a Grunt script for building JavaPoly. So for building you have to install grunt-cli. Just type command:
$ npm install -g grunt-cliAfter this install all needed packages and type:
$ npm installFor building JavaPoly browser version only run command:
$ grunt build:browserThis creates build/javapoly.js file.
The javapoly.js will auto-load the js library needed(browserjs.js, doppio lib and so on) from external site(eg, www.javapoly.com)
You can create complete package (including JavaPoly-Node-Doppio, JavaPoly-Node-SystemJVM) by running command:
$ grunt buildFor testing JavaPoly-Node-Doppio or JavaPoly-Node-SystemJVM you can run:
$ ./node_modules/mocha/bin/mocha test/TestJavaPolyNodeDoppio.js
or
$ ./node_modules/mocha/bin/mocha test/TestJavaPolyNodeSystem.jsTo develop JavaPoly you have to run command:
$ grunt watchThis command runs watching process that updates build-file when you change any js-file in src-folder.
Tests need to be run in atleast the following two browsers: Firefox and Chromium. (different browser capabilities affect the number and kind of tests that are run).
There is a folder test which should contain a simple build of Doppio and JavaPoly.
Make a build of Doppio and copy / link it into the test/doppio folder.
Note that watching-process updates JavaPoly build in test folder.
You can also rebuild JavaPoly for testing without watching by command:
$ grunt build:testnote, the final javapoly.js file which build:test task generate is a little different from the file which build:browser task generate. the javapoly.js which build:test task generate will load the doppio and browserjs library in local folders. and the javapoly.js which build:browser(or build) task generate will load the doppio and browserjs library from external web site.
To test JavaPoly you should run HTTP server for folder test and open index.html in browser.
We use a custom http server for this. To run it:
$ cd test
$ node server.jsAfter this, open browser and navigate to http://localhost:8080/index.html. The page contains tests written in Mocha environment.
You can also test JavaPoly via Mocha in nodejs. Install it by typing:
$ npm install -g mochaAnd type mocha in projects directory.
we could use webworkers if possible(the browser support) , to avoid blocking the main thread.
simply add a worker options in javapoly. The options value is the url of the javapoly_worker.js.(default value is null for not using webworkers)
eg.
new JavaPoly(worker : 'build/javapoly_worker.js');