@name  = File.basename(File.dirname(__FILE__))

task default: :build

desc 'Build document as PDF (default)'
task build: "#@name.pdf"
 
desc 'Build document as PDF'
file "#@name.pdf" => Dir['{*.{bib,tex},images/*.pdf}'] do
  sh "texi2pdf #@name.tex"
end

desc 'Build document as PDF with line numbers'
task :review do
  File.write 'review.tex', '\usepackage{lineno}\linenumbers'
  Rake::Task['build'].invoke
  rm_f 'review.tex'
end
 
desc 'Cleanup temporary files'
task :clean do
  Dir['**/*.{aux,bbl,bcf,blg,log,nav,out,run.xml,snm,toc}'].each do |file|
    rm_f file
  end
end

desc 'Cleanup everything'
task clean_all: :clean do
  rm_f "#@name.pdf"
end

desc 'Open document in default PDF viewer'
task open: :build do
  sh "xdg-open #@name.pdf"
end

desc 'Build document for export and clean up'
task export: :build do
  export_name = 'moeil-' + Time.now.strftime('%Y%m%d') + '.pdf'
  sh "ln -f #@name.pdf #{export_name}"
  Rake::Task['clean_all'].invoke
end
