github.com/thiagoyeds/go-cloud@v0.26.0/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  # Make sure to use the same version of Go as used by tests
    23  # (see .github/actions/tests.yml) when updating the alldeps file.
    24  tmpfile=$(mktemp)
    25  function cleanup() {
    26    rm -rf "$tmpfile"
    27  }
    28  trap cleanup EXIT
    29  
    30  
    31  sed -e '/^#/d' -e '/^$/d' allmodules | awk '{print $1}' | while read -r path || [[ -n "$path" ]]; do
    32    ( cd "$path" && go list -mod=readonly -deps -f '{{with .Module}}{{.Path}}{{end}}' ./... >> "$tmpfile")
    33  done
    34  
    35  # Sort using the native byte values to keep results from different environment consistent.
    36  LC_ALL=C sort "$tmpfile" | uniq