desc "Generate documentation" task :doc do sh 'mvn javadoc:javadoc' Dir["src/**/*.md"].each do |file| sh "mdpdf #{file}" end sh "mdpdf README.md" end desc "Run tests" task :test do sh 'mvn test' end desc "Package assignment" task package: [:test, :doc] do sh 'rm -fr tmp/assignment1/' sh 'mkdir -p tmp/assignment1/' sh 'cp -r README.* tmp/assignment1/' sh 'cp -r src/ tmp/assignment1' sh 'rm tmp/assignment1/App*.java' sh 'rm tmp/assignment1/README.*' sh 'cp tmp/assignment1/Q1/AddressBook.java tmp/assignment1/Q4/' sh 'cp tmp/assignment1/Q1/AddressBook.java tmp/assignment1/Q5/' sh 'cp tmp/assignment1/Q1/AddressBook.java tmp/assignment1/Q8/' sh 'cp -r doc/ tmp/assignment1/doc' sh 'cp -r target/site/apidocs/ tmp/assignment1/doc' sh "sed -i '' '/package Q.*;/d' tmp/assignment1/Q*/*.java" sh "sed -i '' '/import Q.*;/d' tmp/assignment1/Q*/*.java" sh 'cd tmp/ && zip -r assignment1.zip assignment1' end desc "Run the program" task :run do sh "mvn package" sh "java -cp target/assignment1*.jar ca.mokhan.comp268.App" end task default: [:test]