github.com/knieriem/gointernal@v0.2.0-pre2/gen/setup.sh (about) 1 #!/bin/sh 2 3 set -e 4 5 gopackages="\ 6 lazyregexp\ 7 testenv\ 8 cfg\ 9 execabs\ 10 syscall/windows\ 11 unsafeheader\ 12 " 13 14 cmdintpkgs="\ 15 browser\ 16 " 17 18 cmdpkgs="\ 19 quoted\ 20 " 21 22 gocmdintpkgs="\ 23 par\ 24 lockedfile\ 25 str\ 26 web\ 27 auth\ 28 " 29 30 cliintpkgs="\ 31 help/help.go\ 32 " 33 34 clipkgs="\ 35 main.go\ 36 " 37 38 gocmdpackages="\ 39 base/base.go\ 40 base/flag.go\ 41 cfg/cfg.go\ 42 envcmd/env.go\ 43 work/build.go\ 44 \ 45 modfetch/codehost\ 46 modfetch/repo.go\ 47 modfetch/coderepo.go\ 48 " 49 50 modified="\ 51 cmd/go/base/base.go\ 52 cmd/go/base/flag.go\ 53 cmd/go/cfg/cfg.go\ 54 cmd/go/envcmd/env.go\ 55 cmd/go/work/build.go\ 56 \ 57 cmd/cli/main.go\ 58 cmd/cli/internal/help/help.go\ 59 " 60 61 goroot=`go1.18.6 env GOROOT` 62 63 copy() { 64 dest=$1 65 src=$2 66 shift 67 shift 68 mkdir $dest 69 (cd $goroot/src/$src && tar cf - $@) | (cd $dest && tar xf -) 70 } 71 72 msg() { 73 echo '*' $@ 74 } 75 76 msg backup 77 mkdir _prev 78 mv internal _prev/internal 79 mv cmd _prev/cmd 80 81 msg import files from $goroot 82 copy internal internal $gopackages 83 copy cmd cmd/internal $cmdpkgs 84 copy cmd/internal cmd/internal $cmdintpkgs 85 copy cmd/go cmd/go/internal $gocmdpackages 86 copy cmd/go/internal cmd/go/internal $gocmdintpkgs 87 88 copy cmd/cli cmd/go $clipkgs 89 copy cmd/cli/internal cmd/go/internal $cliintpkgs 90 91 msg put original files of modified sources aside 92 # save originals of modified sources 93 mkdir -p _orig 94 (tar cf - $modified) | (cd _orig && tar xf -) 95 96 msg restore own modifications 97 (cd _prev && tar cf - $modified) | tar xf - 98 99 msg adjust modfetch/repo.go 100 ed -s < gen/modfetch_repo.go.ed 101 cp gen/_coderepo_ext.go cmd/go/modfetch/coderepo_ext.go 102 103 msg adjust import paths, replace '"any"' 104 for f in `find cmd internal -type f -name '*.go'`; do 105 mv $f $f, 106 sed -f gen/adjimports.sed <$f, >$f 107 rm -f $f, 108 gofmt -r 'any -> interface{}' -w $f 109 done 110 111 go fmt ./...