| OLD | NEW |
| (Empty) |
| 1 #!/bin/sh | |
| 2 | |
| 3 # This script will create a deep snapshot of all Observatory package | |
| 4 # dependencies. The output will be in observatory_pub_packages which | |
| 5 # then should be committed to third_party/observatory_pub_packages. | |
| 6 | |
| 7 | |
| 8 PUBSPEC_INPUT="pubspec.template" | |
| 9 PUBSPEC_OUTPUT="pubspec.yaml" | |
| 10 PACKAGES_INPUT="packages" | |
| 11 PACKAGES_OUTPUT="observatory_pub_packages" | |
| 12 | |
| 13 if [ ! -d "../maintainers" ]; then | |
| 14 echo "Please run this script from the maintainers directory" | |
| 15 exit | |
| 16 fi | |
| 17 | |
| 18 if [ ! -f $PUBSPEC_INPUT ]; then | |
| 19 echo "Cannot find $PUBSPEC_INPUT" | |
| 20 exit | |
| 21 fi | |
| 22 | |
| 23 # Cleanup leftovers | |
| 24 rm -f $PUBSPEC_OUTPUT | |
| 25 rm -rf $PACKAGES_INPUT | |
| 26 rm -rf $PACKAGES_OUTPUT | |
| 27 | |
| 28 # Setup for pub get run | |
| 29 cp $PUBSPEC_INPUT $PUBSPEC_OUTPUT | |
| 30 | |
| 31 # Run pub get | |
| 32 pub get | |
| 33 | |
| 34 # Prepare for output | |
| 35 mkdir $PACKAGES_OUTPUT | |
| 36 | |
| 37 OUTPUT_BASE=`realpath $PACKAGES_OUTPUT` | |
| 38 # Copy necessary files | |
| 39 pushd $PACKAGES_INPUT > /dev/null | |
| 40 for i in *; do | |
| 41 ACTUAL_PATH=`realpath $i` | |
| 42 mkdir $OUTPUT_BASE/$i | |
| 43 mkdir $OUTPUT_BASE/$i/lib | |
| 44 cp $ACTUAL_PATH/../pubspec.yaml $OUTPUT_BASE/$i/pubspec.yaml | |
| 45 rsync -Lr $ACTUAL_PATH/* $OUTPUT_BASE/$i/lib | |
| 46 done | |
| 47 popd > /dev/null | |
| 48 | |
| 49 echo '***' | |
| 50 echo 'Dumping package dependencies:': | |
| 51 echo '' | |
| 52 echo 'dependency_overrides:' | |
| 53 pushd $PACKAGES_OUTPUT > /dev/null | |
| 54 for i in *; do | |
| 55 echo -e " $i:\n path: ../../third_party/$PACKAGES_OUTPUT/$i" | |
| 56 done | |
| 57 popd > /dev/null | |
| 58 echo '' | |
| 59 echo '***' | |
| 60 echo -n 'Now run: rsync -a --delete observatory_pub_packages/ ' | |
| 61 echo '~/workspace/dart-third_party/observatory_pub_packages/' | |
| 62 echo '***' | |
| OLD | NEW |