diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json new file mode 100644 index 000000000..cfe712f08 --- /dev/null +++ b/Godeps/Godeps.json @@ -0,0 +1,76 @@ +{ + "ImportPath": "github.com/umbel/pilosa", + "GoVersion": "go1.5", + "Packages": [ + "./..." + ], + "Deps": [ + { + "ImportPath": "github.com/BurntSushi/toml", + "Comment": "v0.1.0-21-g056c9bc", + "Rev": "056c9bc7be7190eaa7715723883caffa5f8fa3e4" + }, + { + "ImportPath": "github.com/bitly/go-notify", + "Rev": "0a148b8111d688ba7550fc7119fe0d5d8e650838" + }, + { + "ImportPath": "github.com/cactus/go-statsd-client/statsd", + "Rev": "3999011ef0451eb805b0fa31f98cfb9261bd71be" + }, + { + "ImportPath": "github.com/cihub/seelog", + "Comment": "go1.1-81-gc510775", + "Rev": "c510775bb50d98213cfafca75a4bc5e3fddc8d8f" + }, + { + "ImportPath": "github.com/coreos/go-etcd/etcd", + "Rev": "1e26d8ee84cf9b1000d2af8acfb45b2521f49be5" + }, + { + "ImportPath": "github.com/davecgh/go-spew/spew", + "Rev": "e762b3d1320b76030bd7f6cc2bfc3d9acce874c0" + }, + { + "ImportPath": "github.com/gocql/gocql", + "Comment": "1st_gen_framing-221-gf8fb76b", + "Rev": "f8fb76bb772442ea938e4be46ab1666e542411a5" + }, + { + "ImportPath": "github.com/golang/groupcache/lru", + "Rev": "d781998583680cda80cf61e0b37dd0cd8da2eb52" + }, + { + "ImportPath": "github.com/golang/snappy", + "Rev": "723cc1e459b8eea2dea4583200fd60757d40097a" + }, + { + "ImportPath": "github.com/gorilla/websocket", + "Rev": "92334662baa9cbebc2e6e68b8d56bc1233f85a4c" + }, + { + "ImportPath": "github.com/kr/s3", + "Rev": "c070c8f9a8f0032d48f0d2a77d4e382788bd8a1d" + }, + { + "ImportPath": "github.com/robertkrimen/otto", + "Rev": "f9e07770bd9b5142de517b05a85ffbb42d1895da" + }, + { + "ImportPath": "github.com/stathat/consistent", + "Rev": "0262985f12333852b6423025aa3ca315af473a4a" + }, + { + "ImportPath": "github.com/syndtr/goleveldb/leveldb", + "Rev": "183614d6b32571e867df4cf086f5480ceefbdfac" + }, + { + "ImportPath": "github.com/yasushi-saito/rbtree", + "Rev": "571e2538414bf914c7e2909b61217b4e3e5508f4" + }, + { + "ImportPath": "gopkg.in/inf.v0", + "Rev": "c85f1217d51339c0fa3a498cc8b2075de695dae6" + } + ] +} diff --git a/Godeps/Readme b/Godeps/Readme new file mode 100644 index 000000000..4cdaa53d5 --- /dev/null +++ b/Godeps/Readme @@ -0,0 +1,5 @@ +This directory tree is generated automatically by godep. + +Please do not edit. + +See https://github.com/tools/godep for more information. diff --git a/Makefile b/Makefile new file mode 100644 index 000000000..897276636 --- /dev/null +++ b/Makefile @@ -0,0 +1,5 @@ +default: + +# Temporary workaround to avoid testing vendor directory. +test: + go test $(go list ./... | grep -v /vendor/) diff --git a/README.md b/README.md index 9dfcb19db..6f46f6a54 100644 --- a/README.md +++ b/README.md @@ -5,25 +5,19 @@ Pilosa is a bitmap index database. ## Getting Started -To download the source, run `go get`: +Pilosa uses the new Go 1.5 vendoring experiment. To enable this, you'll need +to export an environment variable in your `.profile`: + +```sh +export GO15VENDOREXPERIMENT=1 +``` + +Then you can download the source by running `go get`: ```sh $ go get github.com/umbel/pilosa ``` -You can update the dependencies to specific versions using [`depman`][depman]: - -```sh -$ go get github.com/vube/depman -``` - -And then run `depman` from the project directory: - -```sh -$ cd $GOPATH/src/github.com/umbel/pilosa -$ depman -``` - Now you can install the `pilosa` binary: ```sh @@ -40,7 +34,7 @@ $ etcd Now run `pilosa` with the default configuration: ```sh -PILOSA_CONFIG=default.yaml pilosa +pilosa ``` This setup assumes that cassandra and etcd are running locally and that @@ -48,8 +42,35 @@ cassandra keyspace pilosa has been setup as describe in the file `index/storage_cass.go`. If you don't want backend storage you can comment out storage_backend in the -yaml file and it will just operate out of memory. +config file and it will just operate out of memory. [etcd]: https://github.com/coreos/etcd -[depman]: https://github.com/vube/depman + + +## Development + +### Updating dependencies + +To update dependencies, you'll need to install [godep][]: + +```sh +$ go get -u github.com/tools/godep +``` + +Then save the dependencies in your project: + +```sh +$ godep save ./... +``` + +*Make sure you have set the `GO15VENDOREXPERIMENT` environment variable!* + +[godep]: https://github.com/tools/godep + + +### Running tests + +Because of a bug in Go 1.5, you'll need to run `make test` to exclude tests +the the `vendor/` directory. + diff --git a/brand.go b/brand.go index f3faf4e2f..7a538949e 100644 --- a/brand.go +++ b/brand.go @@ -9,7 +9,6 @@ import ( "time" log "github.com/cihub/seelog" - _ "github.com/go-sql-driver/mysql" "github.com/umbel/pilosa/util" ) diff --git a/cmd/pilosa/main.go b/cmd/pilosa/main.go index 088a6ef1b..09db4be03 100644 --- a/cmd/pilosa/main.go +++ b/cmd/pilosa/main.go @@ -12,7 +12,6 @@ import ( log "github.com/cihub/seelog" "github.com/coreos/go-etcd/etcd" "github.com/kr/s3/s3util" - "github.com/mitchellh/panicwrap" "github.com/umbel/pilosa" "github.com/umbel/pilosa/core" "github.com/umbel/pilosa/db" @@ -52,16 +51,6 @@ func NewMain() *Main { func (m *Main) Run(args ...string) error { defer log.Flush() - // Handle panics with a log entry and process exit. - if code, err := panicwrap.BasicWrap(func(output string) { - log.Critical("The child panicked:\n\n", output) - os.Exit(1) - }); err != nil { - panic(err) - } else if code >= 0 { - os.Exit(code) - } - // Parse command line arguments. opt, err := m.ParseFlags(args) if err != nil { diff --git a/deps.json b/deps.json deleted file mode 100644 index 4eafb126c..000000000 --- a/deps.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "consistent": { - "repo": "github.com/stathat/consistent", - "version": "0262985f12333852b6423025aa3ca315af473a4a", - "type": "git" - }, - "etcd": { - "repo": "github.com/coreos/go-etcd/etcd", - "version": "9847b93751a5fbaf227b893d172cee0104ac6427", - "type": "git" - }, - "gkvlite": { - "repo": "github.com/steveyen/gkvlite", - "version": "master", - "type": "git" - }, - "gocql": { - "repo": "github.com/gocql/gocql", - "version": "f8fb76bb772442ea938e4be46ab1666e542411a5", - "type": "git" - }, - "goleveldb": { - "repo": "github.com/syndtr/goleveldb/leveldb", - "version": "183614d6b32571e867df4cf086f5480ceefbdfac", - "type": "git" - }, - "google-crypto": { - "repo": "code.google.com/p/go.crypto/ssh", - "version": "7aa593ce8cea", - "type": "hg" - }, - "goyaml": { - "repo": "launchpad.net/goyaml", - "version": "50", - "type": "bzr" - }, - "log": { - "repo": "github.com/coreos/go-log/log", - "version": "70d039bee4b0e389e5be560491d8291708506f59", - "type": "git" - }, - "lru": { - "repo": "github.com/golang/groupcache/lru", - "version": "d781998583680cda80cf61e0b37dd0cd8da2eb52", - "type": "git" - }, - "mysql": { - "repo": "github.com/go-sql-driver/mysql", - "version": "master", - "type": "git" - }, - "notify": { - "repo": "github.com/bitly/go-notify", - "version": "0a148b8111d688ba7550fc7119fe0d5d8e650838", - "type": "git" - }, - "otto": { - "repo": "github.com/robertkrimen/otto", - "version": "f9e07770bd9b5142de517b05a85ffbb42d1895da", - "type": "git" - }, - "panicwrapper": { - "repo": "github.com/mitchellh/panicwrap", - "version": "master", - "type": "git" - }, - "rbtree": { - "repo": "github.com/yasushi-saito/rbtree", - "version": "571e2538414bf914c7e2909b61217b4e3e5508f4", - "type": "git" - }, - "s3": { - "repo": "github.com/kr/s3/s3util", - "version": "master", - "type": "git" - }, - "seelog": { - "repo": "github.com/cihub/seelog", - "version": "master", - "type": "git" - }, - "spew": { - "repo": "github.com/davecgh/go-spew/spew", - "version": "e762b3d1320b76030bd7f6cc2bfc3d9acce874c0", - "type": "git" - }, - "statsd": { - "repo": "github.com/cactus/go-statsd-client/statsd", - "version": "3999011ef0451eb805b0fa31f98cfb9261bd71be", - "type": "git" - }, - "toml": { - "repo": "github.com/BurntSushi/toml", - "version": "056c9bc7be7190eaa7715723883caffa5f8fa3e4", - "type": "git" - }, - "websocket": { - "repo": "github.com/gorilla/websocket", - "version": "92334662baa9cbebc2e6e68b8d56bc1233f85a4c", - "type": "git" - } -}