Merge pull request #151 from harshavardhana/pr_out_a_full_restructure

A full restructure
This commit is contained in:
Frederick F. Kautz IV 2014-12-30 18:24:40 +13:00
commit 460fd63f05
202 changed files with 113 additions and 86 deletions

View File

@ -1,17 +0,0 @@
### Contribution Guidelines
We welcome your contributions. To make the process as seamless as possible, we ask for the following:
* Go ahead and fork the project and make your changes. We encourage pull requests to discuss code changes.
- Fork it
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create new Pull Request
* If you have additional dependencies for ``minio``, ``minio`` manages its depedencies using [godep](https://github.com/tools/godep)
- Run `go get foo/bar`
- Edit your code to import foo/bar
- Run `make save` from top-level directory (or `godep restore && godep save ./...`).
* When you're ready to create a pull request, be sure to:
- Have test cases for the new code. If you have questions about how to do it, please ask in your pull request.
- Run go fmt
- Squash your commits into a single commit. git rebase -i. It's okay to force update your pull request.
- Make sure go test -race ./... passes, and go build completes.

40
DEVELOPER.md Normal file
View File

@ -0,0 +1,40 @@
### Setup your Minio Github Repository
Fork [Minio upstream](https://github.com/Minio-io/minio/fork) source repository to your own personal repository. Copy the URL and pass it to ``go get`` command. Go uses git to clone a copy into your project workspace folder.
```sh
$ git clone https://github.com/$USER_ID/minio
$ cd minio
$ mkdir -p ${GOPATH}/src/github.com/minio-io
$ ln -s ${PWD} $GOPATH/src/github.com/minio-io/
```
### Compiling Minio from source
Minio uses ``Makefile`` to wrap around some of the limitations of ``go build``. To compile Minio source, simply change to your workspace folder and type ``make``.
```sh
$ cd $GOPATH/src/github.com/$USER_ID/minio/
$ make
Checking if proper environment variables are set.. Done
...
Checking dependencies for Minio.. Done
...
...
Installed minio into /home/userid/work/minio/gopath/bin
Installed new-cmd into /home/userid/work/minio/gopath/bin
```
### Developer Guidelines
``minio`` community welcomes your contribution. To make the process as seamless as possible, we ask for the following:
* Go ahead and fork the project and make your changes. We encourage pull requests to discuss code changes.
- Fork it
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create new Pull Request
* If you have additional dependencies for ``minio``, ``minio`` manages its depedencies using [godep](https://github.com/tools/godep)
- Run `go get foo/bar`
- Edit your code to import foo/bar
- Run `make save` from top-level directory (or `godep restore && godep save ./...`).
* When you're ready to create a pull request, be sure to:
- Have test cases for the new code. If you have questions about how to do it, please ask in your pull request.
- Run go fmt
- Squash your commits into a single commit. git rebase -i. It's okay to force update your pull request.
- Make sure go test -race ./... passes, and go build completes.

View File

@ -11,54 +11,54 @@ getdeps: checkdeps
@go get golang.org/x/tools/cmd/cover && echo "Installed cover" @go get golang.org/x/tools/cmd/cover && echo "Installed cover"
build-erasure: build-erasure:
@$(MAKE) $(MAKE_OPTIONS) -C pkgs/erasure/isal lib @$(MAKE) $(MAKE_OPTIONS) -C pkg/erasure/isal lib
@godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkgs/erasure @godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkg/erasure
build-signify: build-signify:
@$(MAKE) $(MAKE_OPTIONS) -C pkgs/signify @$(MAKE) $(MAKE_OPTIONS) -C pkg/signify
build-cpu: build-cpu:
@godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkgs/cpu @godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkg/cpu
build-md5: build-md5:
@godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkgs/crypto/md5/ @godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkg/crypto/md5/
@godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkgs/crypto/md5c/ @godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkg/crypto/md5c/
build-sha1: build-sha1:
@godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkgs/crypto/sha1/ @godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkg/crypto/sha1/
build-sha256: build-sha256:
@godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkgs/crypto/sha256/ @godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkg/crypto/sha256/
build-sha512: build-sha512:
@godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkgs/crypto/sha512/ @godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkg/crypto/sha512/
build-crc32c: build-crc32c:
@godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkgs/checksum/crc32c @godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkg/checksum/crc32c
build-scsi: build-scsi:
@godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkgs/scsi @godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkg/scsi
build-split: build-strbyteconv build-split: build-strbyteconv
@godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkgs/split @godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkg/split
build-strbyteconv: build-strbyteconv:
@godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkgs/strbyteconv @godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkg/strbyteconv
build-storage: build-storage-append build-storage-encoded build-storage: build-storage-append build-storage-encoded
build-storage-append: build-storage-append:
@godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkgs/storage/appendstorage @godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkg/storage/appendstorage
build-storage-encoded: build-storage-encoded:
@godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkgs/storage/encodedstorage @godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkg/storage/encodedstorage
cover: build-erasure build-signify build-split build-crc32c build-cpu build-scsi build-storage build-md5 build-sha1 build-sha256 build-sha512 cover: build-erasure build-signify build-split build-crc32c build-cpu build-scsi build-storage build-md5 build-sha1 build-sha256 build-sha512
@godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkgs/gateway @godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkg/gateway
install: build-erasure install: build-erasure
@godep go install github.com/minio-io/minio/cmd/minio && echo "Installed minio into ${GOPATH}/bin" @godep go install github.com/minio-io/minio/cmd/minio && echo "Installed minio into ${GOPATH}/bin"
@godep go install github.com/minio-io/minio/cmd/minio-cli && echo "Installed minio-cli into ${GOPATH}/bin" @godep go install github.com/minio-io/minio/cmd/new-cmd && echo "Installed new-cmd into ${GOPATH}/bin"
@godep go install github.com/minio-io/minio/cmd/crypto && echo "Installed crypto into ${GOPATH}/bin" @godep go install github.com/minio-io/minio/cmd/crypto && echo "Installed crypto into ${GOPATH}/bin"
save: restore save: restore

View File

@ -1,38 +1,21 @@
## Introduction ## Introduction
[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/Minio-io/minio?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
Minio is an open source object storage released under [Apache license v2](./LICENSE) . It uses ``Rubberband Erasure`` coding to dynamically protect the data. Minio is an open source object storage released under [Apache license v2](./LICENSE) . It uses ``Rubberband Erasure`` coding to dynamically protect the data.
Minio's design is inspired by Amazon's S3 for its API and Facebook's Haystack for its immutable data structure. Minio's design is inspired by Amazon's S3 for its API and Facebook's Haystack for its immutable data structure.
### Install BUILD dependencies ### Download
[Build Dependencies](./DEVELOPERS.md) -- No releases have been made yet --
### Setup your Minio Github Repository
Fork [Minio upstream](https://github.com/Minio-io/minio/fork) source repository to your own personal repository. Copy the URL and pass it to ``go get`` command. Go uses git to clone a copy into your project workspace folder.
```sh
$ go get -u github.com/$USER_ID/minio
$ cd $GOPATH/src/github.com/$USER_ID/minio/
$ git remote add upstream https://github.com/Minio-io/minio.git
```
### Compiling Minio from source
Minio uses ``Makefile`` to wrap around some of the limitations of ``go build``. To compile Minio source, simply change to your workspace folder and type ``make``.
```sh
$ cd $GOPATH/src/github.com/$USER_ID/minio/
$ make
Checking dependencies for Minio.. SUCCESS
...
...
Installed minio into /home/harsha/.gvm/pkgsets/go1.4/global/bin
Installed minio-cli into /home/harsha/.gvm/pkgsets/go1.4/global/bin
```
### Join Community ### Join Community
* [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/Minio-io/minio?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
* [Howto Contribute](./CONTRIB.md)
* IRC join channel #minio @ irc.freenode.net * IRC join channel #minio @ irc.freenode.net
* Google Groups - minio-dev@googlegroups.com * Google Groups - minio-dev@googlegroups.com
### Developers
* [Get Source](./DEVELOPER.md)
* [Build Dependencies](./BUILDDEPS.md)
* [Development Workflow](./DEVELOPER.md#developer-guidelines)
[![Analytics](https://ga-beacon.appspot.com/UA-56860620-3/minio/readme)](https://github.com/igrigorik/ga-beacon) [![Analytics](https://ga-beacon.appspot.com/UA-56860620-3/minio/readme)](https://github.com/igrigorik/ga-beacon)

View File

@ -1,5 +1,26 @@
#!/bin/sh #!/bin/sh
echo -n "Checking if proper environment variables are set.. "
echo ${GOROOT:?} 2>&1 >/dev/null
if [ $? -eq 1 ]; then
echo "ERROR"
echo "GOROOT environment variable missing, please refer to Go installation document"
echo "https://github.com/Minio-io/minio/blob/master/BUILDDEPS.md#install-go-13"
exit 1
fi
echo ${GOPATH:?} 2>&1 >/dev/null
if [ $? -eq 1 ]; then
echo "ERROR"
echo "GOPATH environment variable missing, please refer to Go installation document"
echo "https://github.com/Minio-io/minio/blob/master/BUILDDEPS.md#install-go-13"
exit 1
fi
echo "Done"
echo "Using GOPATH=${GOPATH} and GOROOT=${GOROOT}"
echo -n "Checking dependencies for Minio.. " echo -n "Checking dependencies for Minio.. "
## Check all dependencies are present ## Check all dependencies are present
@ -28,4 +49,4 @@ if [ "x${MISSING}" != "x" ]; then
echo echo
exit 1 exit 1
fi fi
echo "SUCCESS" echo "Done"

View File

@ -25,10 +25,10 @@ import (
"os" "os"
"github.com/codegangsta/cli" "github.com/codegangsta/cli"
"github.com/minio-io/minio/pkgs/crypto/md5" "github.com/minio-io/minio/pkg/crypto/md5"
"github.com/minio-io/minio/pkgs/crypto/sha1" "github.com/minio-io/minio/pkg/crypto/sha1"
"github.com/minio-io/minio/pkgs/crypto/sha256" "github.com/minio-io/minio/pkg/crypto/sha256"
"github.com/minio-io/minio/pkgs/crypto/sha512" "github.com/minio-io/minio/pkg/crypto/sha512"
) )
var Options = []cli.Command{ var Options = []cli.Command{

View File

@ -10,7 +10,7 @@ import (
"strings" "strings"
"github.com/codegangsta/cli" "github.com/codegangsta/cli"
"github.com/minio-io/minio/pkgs/strbyteconv" "github.com/minio-io/minio/pkg/strbyteconv"
) )
// config representing cli input // config representing cli input

View File

@ -6,8 +6,8 @@ import (
"io" "io"
"os" "os"
"github.com/minio-io/minio/pkgs/storage" "github.com/minio-io/minio/pkg/storage"
es "github.com/minio-io/minio/pkgs/storage/encodedstorage" es "github.com/minio-io/minio/pkg/storage/encodedstorage"
) )
func erasureGetList(config inputConfig, objectPath string) (io.Reader, error) { func erasureGetList(config inputConfig, objectPath string) (io.Reader, error) {

View File

@ -9,7 +9,7 @@ import (
"text/template" "text/template"
"time" "time"
"github.com/minio-io/minio/pkgs/utils" "github.com/minio-io/minio/pkg/utils"
) )
type source struct { type source struct {
@ -19,7 +19,7 @@ type source struct {
const ( const (
// Relative path from GOPATH default // Relative path from GOPATH default
TEMPLATEREPO = "/src/github.com/minio-io/minio/templates/" TEMPLATEREPO = "/src/github.com/minio-io/minio/cmd/minio-cli/templates/"
) )
type option struct { type option struct {

2
isal
View File

@ -1 +1 @@
pkgs/erasure/isal pkg/erasure/isal

View File

@ -28,7 +28,7 @@ import (
"io" "io"
"unsafe" "unsafe"
"github.com/minio-io/minio/pkgs/cpu" "github.com/minio-io/minio/pkg/cpu"
) )
const ( const (

Some files were not shown because too many files have changed in this diff Show More