Your milestones are marked based on your submissions to give. Specifically, you will be submitting a diff generated by git for each milestone. Take the time to understand these instructions to ensure that what you submit is what you want assessed.
Before generating a diff and submitting, you should ensure you
have committed all files that you wish to be part of your
submission. Ensure that a
git status does not show
untracked files that you have added or modified that should be
part of your submission.
Additionally you should ensure any
CMake configuration variables
you have added or changed have default settings in the
To test this, create a fresh build directory and check that the project compiles and
runs as expected without invoking cmake. An example of how to do this follows:
mkdir submission-test-build cd submission-test-build ../init-build.sh ninja
All diffs produced for submission need to be based off the original commit in the aos-YYYY repository. This commit has been tagged AOSYYYY (e.g. AOS2015). Even if we push out additional commits that you merge into your code base, you should still generate your submission diff from the AOSYYYY tag.
To actually generate the diff use the follow example:
git diff AOSYYYY > milestone.diffThis assumes you have the commit you want to submit currently checked out as
HEAD. You probably want to tag the revision you submit and do something like
git tag -a M0 git diff AOSYYYY M0 > m0.diff
To submit your diff, execute an appropriate variation of
give cs9242 m0 m0.diff
The submission process will test your diff by applying it to the initial release and compiling the result. If for some reason your submission fails the submission test, here are the sequence of step it performs so that you can recreate them in a temporary directory in order to debug your submission.
echo 'Checking out original source tree...' git clone ~cs9242/public_git/aos-YYYY cd aos-YYYY echo 'Checking out AOSYYYY tag...' git checkout -b dryrun AOSYYYY echo "Applying diff $DIFF..." git apply --index "../$DIFF" echo "Setting up build dir..." mkdir build cd build ../init-build.sh echo "Compiling..." ninja