require 'date' require 'rake/packagetask' Rake::PackageTask.new("comp-268-2", DateTime.now.strftime("%y%m").to_i) do |package| package.need_tar_gz = true package.package_files.add([ '.dockerignore', '.gitignore', 'Dockerfile', 'Gemfile*', 'README.*', 'Rakefile', 'doc/*.pdf', 'package.json', 'pom.xml', 'src/**/*.java', 'src/**/*.md', 'src/**/*.pdf', 'tmp/.keep', 'yarn.lock', ]) end def run_cli(selection = nil) sh "java -cp target/assignment2*.jar ca.mokhan.comp268.App #{selection}" end task(:pdf) do Dir.chdir(__dir__) do readmes = (Dir["src/**/*.md"] + ['README.md']).sort readmes.each do |file| sh "node ./node_modules/.bin/mdpdf #{file}" end end end task(:clean) { sh 'rm -fr pkg target' } task(:test) { sh 'mvn test' } task(doc: [:pdf]) { sh 'mvn javadoc:javadoc' } task publish: [:clean, :test, :doc, :repackage] task(:build) { sh "mvn package" } task(run: :build) { run_cli } 1.upto(10) { |n| task("run#{n}": :build) { run_cli(n) } } task default: [:publish]