-
Notifications
You must be signed in to change notification settings - Fork 176
Google Summer of Code 2015 Starter Task
If you're potentially interested in working on Doppio for Google Summer of Code, then you're at the right wiki page!
- If you were interested in our idea involving network sockets, read on.
- If you were interested in the Python Interpreter, click here (TODO: Write that page.).
This document will walk you through setting up a development environment for Doppio, building Doppio and DoppioJVM, adding a native method to DoppioJVM, and opening up a pull request.
In this document, we will get you up and running with DoppioJVM, and will walk you through writing your first pull request.
If you have never programmed in TypeScript before, you should read our TypeScript Background Information article.
Before doing anything, you should install the following items:
-
Node v0.12 (Note: The current bleeding-edge version of Doppio is incompatible with v0.10.)
- We use Node to build Doppio/DoppioJVM. In addition, DoppioJVM can run on the command line using Node, which is useful during development.
- Java JDK 8
- Git
You'll also need to install the following Node modules globally:
npm install -g grunt-cli bower
You'll be adding a new native method for DoppioJVM in this tutorial and contributing your changes back. You'll use a pull request to contribute your changes back, which means you'll need to fork our repository first.
Click here to fork the Doppio repository.
You'll make modifications to your fork, and then create a pull request from your fork to our main version of the repository to integrate your changes.
Clone your fork, and switch to the new-objects
branch. This is the current branch that we are developing in:
git clone https://github.com/yourusername/doppio
cd doppio
git checkout new-objects
Then, install the needed Node and Bower dependencies:
npm install
bower install
Finally, build Doppio/DoppioJVM (NOTE: This will download ~40MB of files!):
grunt release-cli
When complete, you can run doppio using ./doppio
(or, if in Windows, doppio.bat
):
$ ./doppio
Usage: node build/release-cli/console/runner.js [flags] /path/to/classfile [args for main()]
-classpath, -cp JVM classpath, "path1:...:pathN"
-D set a system property, "name[=value]"
-jar add JAR to classpath and run its Main-Class (if found)
-help, -h print this help message
-X print help on non-standard options
-enableassertions, -ea enable debug assertions