Skip to content
This repository has been archived by the owner on Sep 29, 2018. It is now read-only.

Commit

Permalink
add release.sh
Browse files Browse the repository at this point in the history
  • Loading branch information
hoffoo committed Jan 27, 2015
1 parent e4bd7a2 commit 8ada296
Show file tree
Hide file tree
Showing 2 changed files with 78 additions and 1 deletion.
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ NOTES:
1. Source and Destination are required
1. Copies using the [_source](http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping-source-field.html) field in elasticsearch. If you have made modifications to it (excluding fields) they will not be indexed on the destination host.
1. Ports are required, otherwise 80 is the assumed port
1. All documents are created, nothing is updated. If a document with the same _id is received (which shouldnt happen anyway) an error will be shown and the latter document will not be indexed.
1. --settings is a toggle on weather we should copy replication and sharding settings for the indexes. This is the default, and replication and sharding are the only settings copied.
1. --force will delete indexes on the destination host. Otherwise an error will be returned if the index exists
1. --time is the [scroll time](http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-scroll.html#scroll-search-context) passed to the source host, default is 1m. This is a string in es's format.
Expand All @@ -29,6 +30,6 @@ NOTES:
BUGS:
==

1. It will not do anything special when copying the _id (copies _id from source host). If _id is remapped this probably wont do what you want.
1. It will not do anything special when copying the _id (copies _id from source host). If _id is remapped this probably won't do what you want.
1. Should check if the bulk index requests starts getting large (in bytes), and force a flush if that is the case. Right now we silently fail if elasticsearch refuses a large request.
1. Should assume a default port of 9200
76 changes: 76 additions & 0 deletions release.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
#!/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.

# support functions for go cross compilation

type setopt >/dev/null 2>&1 && setopt shwordsplit
PLATFORMS="darwin/386 darwin/amd64 freebsd/386 freebsd/amd64 freebsd/arm linux/386 linux/amd64 linux/arm windows/386 windows/amd64"

function go-alias {
GOOS=${1%/*}
GOARCH=${1#*/}
eval "function go-${GOOS}-${GOARCH} { ( GOOS=${GOOS} GOARCH=${GOARCH} go \"\$@\" ) }"
}

function go-crosscompile-build {
GOOS=${1%/*}
GOARCH=${1#*/}
cd $(go env GOROOT)/src ; GOOS=${GOOS} GOARCH=${GOARCH} ./make.bash --no-clean 2>&1
}

function go-crosscompile-build-all {
FAILURES=""
for PLATFORM in $PLATFORMS; do
CMD="go-crosscompile-build ${PLATFORM}"
echo "$CMD"
$CMD || FAILURES="$FAILURES $PLATFORM"
done
if [ "$FAILURES" != "" ]; then
echo "*** go-crosscompile-build-all FAILED on $FAILURES ***"
return 1
fi
}

function go-all {
FAILURES=""
for PLATFORM in $PLATFORMS; do
GOOS=${PLATFORM%/*}
GOARCH=${PLATFORM#*/}
CMD="go-${GOOS}-${GOARCH} $@"
echo "$CMD"
$CMD || FAILURES="$FAILURES $PLATFORM"
done
if [ "$FAILURES" != "" ]; then
echo "*** go-all FAILED on $FAILURES ***"
return 1
fi
}

function go-build-all {
FAILURES=""
for PLATFORM in $PLATFORMS; do
GOOS=${PLATFORM%/*}
GOARCH=${PLATFORM#*/}
SRCFILENAME=`echo $@ | sed 's/\.go//'`
CURDIRNAME=${PWD##*/}
OUTPUT=${SRCFILENAME:-$CURDIRNAME} # if no src file given, use current dir name
CMD="go-${GOOS}-${GOARCH} build -o $OUTPUT-${GOOS}-${GOARCH} $@"
echo "$CMD"
$CMD || FAILURES="$FAILURES $PLATFORM"
done
if [ "$FAILURES" != "" ]; then
echo "*** go-build-all FAILED on $FAILURES ***"
return 1
fi
}

for PLATFORM in $PLATFORMS; do
go-alias $PLATFORM
done

unset -f go-alias

# crosscompile
go-build-all

0 comments on commit 8ada296

Please sign in to comment.