flutter/dev/bots/docs.sh
Greg Spencer 72d6bcc3f7
Use .pub-cache from Flutter root, if it exists. (#13248)
The purpose of this PR is to make it so that when the user runs 'flutter', if they have a .pub-cache directory in their flutter root, we use that instead of the default location for the pub cache. Otherwise, it should act as before.

The eventual goal is to support a pre-populated flutter .zip/.tar.gz file that has everything the developer needs in one bundle. In order for that to actually work, we need to have the pub cache be self-contained, and not in the user's home dir.

Another advantage of this is that if you have multiple flutter repos that you're switching between, then the versions in the pub cache will remain static when you switch between them.
2017-12-05 12:02:14 -08:00

56 lines
1.8 KiB
Bash
Executable File

#!/bin/bash
set -e
# If you want to run this script locally, make sure you run it from
# the root of the flutter repository.
export FLUTTER_ROOT="$PWD"
# This is called from travis_upload.sh on Travis.
# Make sure dart is installed
bin/flutter --version
# If the pub cache directory exists in the root, then use that.
FLUTTER_PUB_CACHE="$FLUTTER_ROOT/.pub-cache"
if [ -d "$FLUTTER_PUB_CACHE" ]; then
# This has to be exported, because pub interprets setting it
# to the empty string in the same way as setting it to ".".
export PUB_CACHE="${PUB_CACHE:-"$FLUTTER_PUB_CACHE"}"
fi
# Install dartdoc.
bin/cache/dart-sdk/bin/pub global activate dartdoc 0.14.1
# This script generates a unified doc set, and creates
# a custom index.html, placing everything into dev/docs/doc.
(cd dev/tools; ../../bin/cache/dart-sdk/bin/pub get)
bin/cache/dart-sdk/bin/dart dev/tools/dartdoc.dart
bin/cache/dart-sdk/bin/dart dev/tools/java_and_objc_doc.dart
# Ensure google webmaster tools can verify our site.
cp dev/docs/google2ed1af765c529f57.html dev/docs/doc
# Upload new API docs when on Travis
if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then
if [ "$TRAVIS_BRANCH" == "master" -o "$TRAVIS_BRANCH" == "alpha" ]; then
cd dev/docs
if [ "$TRAVIS_BRANCH" == "master" ]; then
echo -e "User-agent: *\nDisallow: /" > doc/robots.txt
while : ; do
firebase deploy --project master-docs-flutter-io && break
echo Error: Unable to deploy documentation to firebase. Retrying in five seconds...
sleep 5
done
fi
if [ "$TRAVIS_BRANCH" == "alpha" ]; then
while : ; do
firebase deploy --project docs-flutter-io && break
echo Error: Unable to deploy documentation to firebase. Retrying in five seconds...
sleep 5
done
fi
fi
fi