diff options
Diffstat (limited to 'vendor/github.com/mattermost/rsc/mkapp')
-rwxr-xr-x | vendor/github.com/mattermost/rsc/mkapp | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/vendor/github.com/mattermost/rsc/mkapp b/vendor/github.com/mattermost/rsc/mkapp new file mode 100755 index 000000000..1a52931f1 --- /dev/null +++ b/vendor/github.com/mattermost/rsc/mkapp @@ -0,0 +1,51 @@ +#!/bin/bash +# Copyright 2012 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. + +# Run this script in your app root directory, the one containing +# the app.yaml file. Then point appcfg.py or dev_appserver.py +# at './tmp' instead of '.'. +# +# It creates a symlink forest in a subdirectory named 'tmp' that +# includes all the files from packages under your app root as +# well as any packages from your $GOPATH that are needed by +# the app packages. This makes deployment to App Engine +# bring in just the packages you need, without manual chasing +# of dependencies. Perhaps some day appcfg.py and dev_appserver.py +# will work this way by default. + +set -e +rm -rf tmp +dirs=$(find . -type d) +mkdir tmp + +for i in * +do + case "$i" in + tmp | *.go) + ;; + *) + ln -s ../$i tmp/$i + esac +done + +# Like App Engine +export GOOS=linux +export GOARCH=amd64 + +mkdir tmp/_go_top +cp $(go list -f '{{range .GoFiles}}{{.}} {{end}}') tmp/_go_top + +dirs=$(go list -e -f '{{if not .Standard}}{{.ImportPath}} {{end}}' $(go list -f '{{range .Deps}}{{.}} {{end}}' $dirs)) +for import in $dirs +do + case "$import" in + appengine | appengine/*) + ;; + *) + mkdir -p tmp/$import + files=$(go list -f '{{range .GoFiles}}{{$.Dir}}/{{.}} {{end}}' $import) + ln -s $files tmp/$import 2>&1 | grep -v 'is a directory' || true # ignore subdirectory warnings + esac +done |