X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/864c3b0afd16c77e046f0072d8517d34c5a44792..266c340d47ed162c44e0e3d321619734d4500109:/doc/Rakefile diff --git a/doc/Rakefile b/doc/Rakefile index 2b4b6af2e0..13e87167b6 100644 --- a/doc/Rakefile +++ b/doc/Rakefile @@ -28,7 +28,7 @@ module Zenweb end end -task :generate => [ :realclean, 'sdk/python/arvados/index.html', 'sdk/R/arvados/index.html', 'sdk/java-v2/javadoc/index.html' ] do +task :generate => [ :realclean, 'sdk/python/arvados.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'] == "" @@ -50,21 +50,25 @@ file ["install/new_cluster_checklist_Azure.xlsx", "install/new_cluster_checklist cp(t, t) end -file "sdk/python/arvados/index.html" do |t| - if ENV['NO_SDK'] || File.exists?("no-sdk") +file "sdk/python/arvados.html" do |t| + if ENV['NO_SDK'] || File.exist?("no-sdk") next end + # pysdk_pdoc.py is a wrapper around the pdoc CLI. `which pdoc` is an easy + # and good-enough test to check whether it's installed at all. `which pdoc` if $? == 0 - STDERR.puts `pdoc --html -o sdk/python ../sdk/python/arvados/ 2>&1` - raise if $? != 0 + raise unless system("python3", "setup.py", "build", + chdir: "../sdk/python", out: :err) + raise unless system("python3", "pysdk_pdoc.py", + out: :err) else - puts "Warning: pdoc3 not found, Python documentation will not be generated".colorize(:light_red) + puts "Warning: pdoc not found, Python documentation will not be generated".colorize(:light_red) end end file "sdk/R/arvados/index.html" do |t| - if ENV['NO_SDK'] || File.exists?("no-sdk") + if ENV['NO_SDK'] || File.exist?("no-sdk") next end `which R` @@ -76,7 +80,6 @@ file "sdk/R/arvados/index.html" do |t| cp('css/R.css', 'sdk/R/arvados') docfiles = [] Dir.chdir("../sdk/R/") do - STDERR.puts `Rscript createDoc.R README.Rmd #{tgt}/sdk/R/README.md 2>&1` Dir.entries("man").each do |rd| if rd[-3..-1] == ".Rd" htmlfile = "#{rd[0..-4]}.html" @@ -87,7 +90,7 @@ file "sdk/R/arvados/index.html" do |t| end raise if $? != 0 - File.open("sdk/R/README.md", "r") do |rd| + File.open("../sdk/R/README.md", "r") do |rd| File.open("sdk/R/index.html.md", "w") do |fn| fn.write(<<-EOF --- @@ -97,7 +100,7 @@ navmenu: R title: "R SDK Overview" ... -#{rd.read.gsub(/^```$/, "~~~").gsub(/^```(\w)$/, "~~~\\1")} +#{rd.read} EOF ) end @@ -131,7 +134,7 @@ EOF end file "sdk/java-v2/javadoc/index.html" do |t| - if ENV['NO_SDK'] || File.exists?("no-sdk") + if ENV['NO_SDK'] || File.exist?("no-sdk") next end `which java` @@ -160,7 +163,8 @@ task :linkchecker => [ :generate ] do Dir.chdir(".site") do `which linkchecker` if $? == 0 - system "linkchecker index.html --ignore-url='!file://'" or exit $?.exitstatus + # we need --check-extern to check relative links, weird but true + system "linkchecker index.html --check-extern --ignore-url='!file://'" or exit $?.exitstatus else puts "Warning: linkchecker not found, skipping run".colorize(:light_red) end @@ -200,6 +204,8 @@ end task :clean do rm_rf "sdk/python/arvados" + rm_f "sdk/python/arvados.html" + rm_f "sdk/python/index.html" rm_rf "sdk/R" rm_rf "sdk/java-v2/javadoc" end @@ -210,5 +216,5 @@ load "zenweb-liquid.rb" load "zenweb-fix-body.rb" task :extra_wirings do - $website.pages["sdk/python/python.html.textile.liquid"].depends_on("sdk/python/arvados/index.html") + $website.pages["sdk/python/python.html.textile.liquid"].depends_on("sdk/python/arvados.html") end