All submissions to CS132 needs to be a single Tar file that follow a set of requirements:
-
It MUST have your UID as name; example:
123456789.tar
. -
It MUST contain ONLY and ALL the source code and used to compile your program:
$ tar -vtf 123456789.tar <main-class>.java other/packages/Used.java other/packages/My.java
Espessially it should not contain any of the files generated by javacc or jtb. The files are listed in the
./misc/illegalfiles
file. -
Its contents MUST be able to build, and execute using the following sequence: $ mkdir -p /tmp/123456789 $ tar -xf 123456789.tar -C /tmp/123456789 $ (cd /tmp/123456789/ && javac .java) $ (cd /tmp/123456789/ && java )
-
The content of the folder is tested using
Java SE 1.8.0_101
.
Notes for Windows Users: The commands described above should work on any of the UNIX SEAS machines that is available to you. If in doubt ask your TA.
To make everything easier for you we have created this automatic tester,
packager, and pregrader. To use this helper tool, you can write your
code in src/main/java
, and any unit tests you want in src/test/java
.
-
First of download and install gradle.
-
change
MY_UID
to your UID ingradle.properties
, and thehomework
variable to the current homework. -
build, and unit-test the code using
gradle build
. -
your submission file is in
build/distributions/<your-uid>.tar
You can run the code directly using the run
task:
gradle run <testcases/hw1/test01
Finally to get a pregrade simply run gradle pregrade
. The pregrader is
the grader that we will use to grade you, but more test-cases will be
added in the final grading.
NOTE: The current pregrade script uses bash, so you might have some problems using Windows.
Some of the excises will use JavaCC and JTB, to use them with the gradle
script follow the instructions in src/parse/java/README.mkd
.