| Index: runtime/observatory/maintainers/snapshot_dependencies.sh
|
| diff --git a/runtime/observatory/maintainers/snapshot_dependencies.sh b/runtime/observatory/maintainers/snapshot_dependencies.sh
|
| new file mode 100755
|
| index 0000000000000000000000000000000000000000..cd13564e577631e32a73c543149026c95197add2
|
| --- /dev/null
|
| +++ b/runtime/observatory/maintainers/snapshot_dependencies.sh
|
| @@ -0,0 +1,62 @@
|
| +#!/bin/sh
|
| +
|
| +# This script will create a deep snapshot of all Observatory package
|
| +# dependencies. The output will be in observatory_pub_packages which
|
| +# then should be committed to third_party/observatory_pub_packages.
|
| +
|
| +
|
| +PUBSPEC_INPUT="pubspec.template"
|
| +PUBSPEC_OUTPUT="pubspec.yaml"
|
| +PACKAGES_INPUT="packages"
|
| +PACKAGES_OUTPUT="observatory_pub_packages"
|
| +
|
| +if [ ! -d "../maintainers" ]; then
|
| + echo "Please run this script from the maintainers directory"
|
| + exit
|
| +fi
|
| +
|
| +if [ ! -f $PUBSPEC_INPUT ]; then
|
| + echo "Cannot find $PUBSPEC_INPUT"
|
| + exit
|
| +fi
|
| +
|
| +# Cleanup leftovers
|
| +rm -f $PUBSPEC_OUTPUT
|
| +rm -rf $PACKAGES_INPUT
|
| +rm -rf $PACKAGES_OUTPUT
|
| +
|
| +# Setup for pub get run
|
| +cp $PUBSPEC_INPUT $PUBSPEC_OUTPUT
|
| +
|
| +# Run pub get
|
| +pub get
|
| +
|
| +# Prepare for output
|
| +mkdir $PACKAGES_OUTPUT
|
| +
|
| +OUTPUT_BASE=`realpath $PACKAGES_OUTPUT`
|
| +# Copy necessary files
|
| +pushd $PACKAGES_INPUT > /dev/null
|
| +for i in *; do
|
| + ACTUAL_PATH=`realpath $i`
|
| + mkdir $OUTPUT_BASE/$i
|
| + mkdir $OUTPUT_BASE/$i/lib
|
| + cp $ACTUAL_PATH/../pubspec.yaml $OUTPUT_BASE/$i/pubspec.yaml
|
| + rsync -Lr $ACTUAL_PATH/* $OUTPUT_BASE/$i/lib
|
| +done
|
| +popd > /dev/null
|
| +
|
| +echo '***'
|
| +echo 'Dumping package dependencies:':
|
| +echo ''
|
| +echo 'dependency_overrides:'
|
| +pushd $PACKAGES_OUTPUT > /dev/null
|
| +for i in *; do
|
| + echo -e " $i:\n path: ../../third_party/$PACKAGES_OUTPUT/$i"
|
| +done
|
| +popd > /dev/null
|
| +echo ''
|
| +echo '***'
|
| +echo -n 'Now run: rsync -a --delete observatory_pub_packages/ '
|
| +echo '~/workspace/dart-third_party/observatory_pub_packages/'
|
| +echo '***'
|
|
|