#!/usr/bin/env bash # Copyright 2023 The Go Authors. All rights reserved. # Use of this source code is governed by a BSD-style # license that can be found in the LICENSE file. # This script copies this directory to golang.org/x/exp/trace. # Just point it at an golang.org/x/exp checkout. set -e if [ ! -f mkexp.bash ]; then echo 'mkexp.bash must be run from $GOROOT/src/internal/trace/v2' 1>&2 exit 1 fi if [ "$#" -ne 1 ]; then echo 'mkexp.bash expects one argument: a path to a golang.org/x/exp git checkout' exit 1 fi # Copy. mkdir -p $1/trace cp -r ./* $1/trace # Cleanup. # Delete mkexp.bash. rm $1/trace/mkexp.bash # Move tools to cmd. Can't be cmd here because dist will try to build them. mv $1/trace/tools $1/trace/cmd # Make some packages internal. mv $1/trace/raw $1/trace/internal/raw mv $1/trace/event $1/trace/internal/event mv $1/trace/version $1/trace/internal/version mv $1/trace/testtrace $1/trace/internal/testtrace # Move the debug commands out of testdata. mv $1/trace/testdata/cmd $1/trace/cmd # Fix up import paths. find $1/trace -name '*.go' | xargs -- sed -i 's/internal\/trace\/v2/golang.org\/x\/exp\/trace/' find $1/trace -name '*.go' | xargs -- sed -i 's/golang.org\/x\/exp\/trace\/raw/golang.org\/x\/exp\/trace\/internal\/raw/' find $1/trace -name '*.go' | xargs -- sed -i 's/golang.org\/x\/exp\/trace\/event/golang.org\/x\/exp\/trace\/internal\/event/' find $1/trace -name '*.go' | xargs -- sed -i 's/golang.org\/x\/exp\/trace\/event\/go122/golang.org\/x\/exp\/trace\/internal\/event\/go122/' find $1/trace -name '*.go' | xargs -- sed -i 's/golang.org\/x\/exp\/trace\/version/golang.org\/x\/exp\/trace\/internal\/version/' find $1/trace -name '*.go' | xargs -- sed -i 's/golang.org\/x\/exp\/trace\/testtrace/golang.org\/x\/exp\/trace\/internal\/testtrace/' # Format the files. find $1/trace -name '*.go' | xargs -- gofmt -w -s