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