github.com/cornelk/go-cloud@v0.17.1/internal/testing/listdeps.sh (about) 1 #!/usr/bin/env bash 2 # Copyright 2019 The Go Cloud Development Kit Authors 3 # 4 # Licensed under the Apache License, Version 2.0 (the "License"); 5 # you may not use this file except in compliance with the License. 6 # You may obtain a copy of the License at 7 # 8 # https://www.apache.org/licenses/LICENSE-2.0 9 # 10 # Unless required by applicable law or agreed to in writing, software 11 # distributed under the License is distributed on an "AS IS" BASIS, 12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 # See the License for the specific language governing permissions and 14 # limitations under the License. 15 16 set -euo pipefail 17 18 # To run this script manually to update alldeps: 19 # 20 # $ internal/testing/listdeps.sh > internal/testing/alldeps 21 # 22 # Important note: there are changes in module tooling behavior between go 1.11 23 # and go 1.12; please make sure to use the same version of Go as used by Travis 24 # (see .travis.yml) when updating the alldeps file. 25 tmpfile=$(mktemp) 26 function cleanup() { 27 rm -rf "$tmpfile" 28 } 29 trap cleanup EXIT 30 31 32 sed -e '/^#/d' -e '/^$/d' allmodules | awk '{print $1}' | while read -r path || [[ -n "$path" ]]; do 33 ( cd "$path" && go list -mod=readonly -deps -f '{{with .Module}}{{.Path}}{{end}}' ./... >> "$tmpfile") 34 done 35 36 # Sort using the native byte values to keep results from different environment consistent. 37 LC_ALL=C sort "$tmpfile" | uniq