33 lines
887 B
Ruby
33 lines
887 B
Ruby
# This Source Code Form is subject to the terms of the Mozilla Public License,
|
|
# v. 2.0. If a copy of the MPL was not distributed with this file, You can
|
|
# obtain one at https://mozilla.org/MPL/2.0/.
|
|
# frozen_string_literal: true
|
|
|
|
require 'pathname'
|
|
require 'rake/clean'
|
|
|
|
CLEAN.include 'build/doc'
|
|
directory 'build/doc'
|
|
|
|
rule '.bbl' => '.bcf' do |t|
|
|
task_target = Pathname.new t.name
|
|
chdir = 'doc'
|
|
output_directory = task_target.dirname.relative_path_from(chdir).to_path
|
|
source = task_target.basename('.bbl').to_path
|
|
|
|
sh 'biber', '-output-directory', output_directory, source, chdir:
|
|
end
|
|
|
|
namespace :doc do
|
|
task :tex do
|
|
sh 'pdflatex', '-output-directory', '../build/doc', 'report', chdir: 'doc'
|
|
end
|
|
end
|
|
|
|
desc 'Generate documentation'
|
|
task doc: 'doc:tex' do
|
|
Rake::Task['build/doc/report.bbl'].invoke
|
|
Rake::Task['doc:tex'].reenable
|
|
Rake::Task['doc:tex'].invoke
|
|
end
|