google-auth-library-ruby/rakelib/devsite_builder.rb

46 lines
1.0 KiB
Ruby

require "pathname"
require_relative "repo_metadata.rb"
class DevsiteBuilder
def initialize master_dir = "."
@master_dir = Pathname.new master_dir
@output_dir = "doc"
@metadata = RepoMetadata.from_source "#{master_dir}/.repo-metadata.json"
end
def build
FileUtils.remove_dir @output_dir if Dir.exist? @output_dir
markup = "--markup markdown"
Dir.chdir @master_dir do
cmds = ["-o #{@output_dir}", markup]
cmd "yard --verbose #{cmds.join ' '}"
end
@metadata.build @master_dir + @output_dir
end
def upload
Dir.chdir @output_dir do
opts = [
"--credentials=#{ENV['KOKORO_KEYSTORE_DIR']}/73713_docuploader_service_account",
"--staging-bucket=#{ENV.fetch 'STAGING_BUCKET', 'docs-staging'}",
"--metadata-file=./docs.metadata"
]
cmd "python3 -m docuploader upload . #{opts.join ' '}"
end
end
def publish
build
upload
end
def cmd line
puts line
output = `#{line}`
puts output
output
end
end