#!/bin/bash set -ex # Install dartdoc. pub global activate dartdoc # Generate flutter docs into dev/docs/doc/api/. (cd dev/tools; pub get) # This script generates a unified doc set, and creates # a custom index.html, placing everything into dev/docs/doc dart dev/tools/dartdoc.dart # Ensure google webmaster tools can verify our site. cp dev/docs/google2ed1af765c529f57.html dev/docs/doc # Upload the docs. if [ "$1" = "--upload" ]; then # This isn't great, because we're uploading our files twice. But, # we're ensuring we're not leaving any deleted files on the server. # And we're ensuring we're compressing text files. # Unfortunately, rsync can't set Content-Encoding for a subset of files, # and rsync can't run in a "only delete files on server that are no # longer in the local source dir". # Ensure files on server are deleted when no longer in local generated source. gsutil -m rsync -d -r dev/docs/doc/ gs://docs.flutter.io/ # Ensure compressable files are gzipped and then stored. gsutil -m cp -r -z "js,json,html,css" dev/docs/doc/* gs://docs.flutter.io/ fi