task :generate => [ :realclean, 'sdk/python/arvados/index.html', 'sdk/R/arvados/index.html', 'sdk/java-v2/javadoc/index.html' ] do
vars = ['baseurl', 'arvados_cluster_uuid', 'arvados_api_host', 'arvados_workbench_host']
+ if ! ENV.key?('baseurl') || ENV['baseurl'] == ""
+ if !ENV.key?('WORKSPACE') || ENV['WORKSPACE'] == ""
+ puts "The `baseurl` variable was not specified and the `WORKSPACE` environment variable is not set. Defaulting `baseurl` to file://#{pwd}/.site"
+ ENV['baseurl'] = "file://#{pwd}/.site/"
+ else
+ puts "The `baseurl` variable was not specified, defaulting to a value derived from the `WORKSPACE` environment variable"
+ ENV['baseurl'] = "file://#{ENV['WORKSPACE']}/doc/.site/"
+ end
+ end
vars.each do |v|
if ENV[v]
website.config.h[v] = ENV[v]
end
file "sdk/python/arvados/index.html" do |t|
- if File.exists? "no-sdk"
+ if ENV['NO_SDK'] || File.exists?("no-sdk")
next
end
- `which epydoc`
+ `which pdoc`
if $? == 0
- STDERR.puts `epydoc --html --parse-only -o sdk/python/arvados ../sdk/python/arvados/ 2>&1`
+ STDERR.puts `pdoc --html -o sdk/python ../sdk/python/arvados/ 2>&1`
raise if $? != 0
else
- puts "Warning: epydoc not found, Python documentation will not be generated".colorize(:light_red)
+ puts "Warning: pdoc3 not found, Python documentation will not be generated".colorize(:light_red)
end
end
file "sdk/R/arvados/index.html" do |t|
- if File.exists? "no-sdk"
+ if ENV['NO_SDK'] || File.exists?("no-sdk")
next
end
`which R`
end
file "sdk/java-v2/javadoc/index.html" do |t|
- if File.exists? "no-sdk"
+ if ENV['NO_SDK'] || File.exists?("no-sdk")
next
end
`which java`