github.com/golang/gofrontend@v0.0.0-20240429183944-60f985a78526/libgo/godeps.sh (about)

     1  #!/bin/sh
     2  
     3  # Copyright 2011 The Go Authors. All rights reserved.
     4  # Use of this source code is governed by a BSD-style
     5  # license that can be found in the LICENSE file.
     6  
     7  # The godeps.sh script outputs a dependency file for a package.  The
     8  # dependency file is then included in the libgo Makefile.  This is
     9  # automatic dependency generation, Go style.
    10  
    11  # The first parameter is the name of the file being generated.  The
    12  # remaining parameters are the names of Go files which are scanned for
    13  # imports.
    14  
    15  set -e
    16  
    17  if test $# = 0; then
    18      echo 1>&2 "Usage: godeps.sh OUTPUT INPUTS..."
    19      exit 1
    20  fi
    21  
    22  output=$1
    23  shift
    24  
    25  files=$*
    26  deps=`for f in $files; do cat $f; done | 
    27    sed -n -e '/^import.*"/p; /^import[ 	]*(/,/^)/p' |
    28    sed -e 's/^import //' -e 's/^[^"]*"/"/' |
    29    grep '^[ 	]*"' |
    30    grep -v '"unsafe"' |
    31    grep -v '%' |
    32    sed -e 's/^.*"\([^"]*\)".*$/\1/' -e 's/$/.gox/' |
    33    sort -u`
    34  
    35  echo $output: $files $deps