diff --git a/Makefile b/Makefile index 7de90c218..6db6c8241 100644 --- a/Makefile +++ b/Makefile @@ -10,33 +10,35 @@ TAG ?= "minio/minio:$(VERSION)" all: build -checks: +checks: ## check dependencies @echo "Checking dependencies" @(env bash $(PWD)/buildscripts/checkdeps.sh) -getdeps: +help: ## print this help + @grep -E '^[a-zA-Z_-]+:.*?## .*$$' Makefile | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' + +getdeps: ## fetch necessary dependencies @mkdir -p ${GOPATH}/bin @echo "Installing golangci-lint" && curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(GOPATH)/bin v1.40.1 @which msgp 1>/dev/null || (echo "Installing msgp" && go install -v github.com/tinylib/msgp@v1.1.3) @which stringer 1>/dev/null || (echo "Installing stringer" && go install -v golang.org/x/tools/cmd/stringer) -crosscompile: +crosscompile: ## cross compile minio @(env bash $(PWD)/buildscripts/cross-compile.sh) verifiers: getdeps lint check-gen -check-gen: +check-gen: ## check for updated autogenerated files @go generate ./... >/dev/null @(! git diff --name-only | grep '_gen.go$$') || (echo "Non-committed changes in auto-generated code is detected, please commit them to proceed." && false) -lint: +lint: ## runs golangci-lint suite of linters @echo "Running $@ check" @GO111MODULE=on ${GOPATH}/bin/golangci-lint cache clean @GO111MODULE=on ${GOPATH}/bin/golangci-lint run --build-tags kqueue --timeout=10m --config ./.golangci.yml -# Builds minio, runs the verifiers then runs the tests. check: test -test: verifiers build +test: verifiers build ## builds minio, runs linters, tests @echo "Running unit tests" @GOGC=25 GO111MODULE=on CGO_ENABLED=0 go test -tags kqueue ./... 1>/dev/null @@ -44,20 +46,17 @@ test-race: verifiers build @echo "Running unit tests under -race" @(env bash $(PWD)/buildscripts/race.sh) -# Verify minio binary -verify: +verify: ## verify minio various setups @echo "Verifying build with race" @GO111MODULE=on CGO_ENABLED=1 go build -race -tags kqueue -trimpath --ldflags "$(LDFLAGS)" -o $(PWD)/minio 1>/dev/null @(env bash $(PWD)/buildscripts/verify-build.sh) -# Verify healing of disks with minio binary -verify-healing: +verify-healing: ## verify healing and replacing disks with minio binary @echo "Verify healing build with race" @GO111MODULE=on CGO_ENABLED=1 go build -race -tags kqueue -trimpath --ldflags "$(LDFLAGS)" -o $(PWD)/minio 1>/dev/null @(env bash $(PWD)/buildscripts/verify-healing.sh) -# Builds minio locally. -build: checks +build: checks ## builds minio to $(PWD) @echo "Building minio binary to './minio'" @GO111MODULE=on CGO_ENABLED=0 go build -tags kqueue -trimpath --ldflags "$(LDFLAGS)" -o $(PWD)/minio 1>/dev/null @@ -65,23 +64,22 @@ hotfix-vars: $(eval LDFLAGS := $(shell MINIO_RELEASE="RELEASE" MINIO_HOTFIX="hotfix.$(shell git rev-parse --short HEAD)" go run buildscripts/gen-ldflags.go $(shell git describe --tags --abbrev=0 | \ sed 's#RELEASE\.\([0-9]\+\)-\([0-9]\+\)-\([0-9]\+\)T\([0-9]\+\)-\([0-9]\+\)-\([0-9]\+\)Z#\1-\2-\3T\4:\5:\6Z#'))) $(eval TAG := "minio/minio:$(shell git describe --tags --abbrev=0).hotfix.$(shell git rev-parse --short HEAD)") -hotfix: hotfix-vars install +hotfix: hotfix-vars install ## builds minio binary with hotfix tags -docker-hotfix: hotfix checks +docker-hotfix: hotfix checks ## builds minio docker container with hotfix tags @echo "Building minio docker image '$(TAG)'" @docker build -t $(TAG) . -f Dockerfile.dev -docker: build checks +docker: build checks ## builds minio docker container @echo "Building minio docker image '$(TAG)'" @docker build -t $(TAG) . -f Dockerfile.dev -# Builds minio and installs it to $GOPATH/bin. -install: build +install: build ## builds minio and installs it to $GOPATH/bin. @echo "Installing minio binary to '$(GOPATH)/bin/minio'" @mkdir -p $(GOPATH)/bin && cp -f $(PWD)/minio $(GOPATH)/bin/minio @echo "Installation successful. To learn more, try \"minio --help\"." -clean: +clean: ## cleanup all generated assets @echo "Cleaning up all the generated files" @find . -name '*.test' | xargs rm -fv @find . -name '*~' | xargs rm -fv diff --git a/cmd/gateway/s3/gateway-s3-sse.go b/cmd/gateway/s3/gateway-s3-sse.go index e0d4048c7..3e1c391cb 100644 --- a/cmd/gateway/s3/gateway-s3-sse.go +++ b/cmd/gateway/s3/gateway-s3-sse.go @@ -113,7 +113,7 @@ func (l *s3EncObjects) ListObjectsV2(ctx context.Context, bucket, prefix, contin } else { objects = append(objects, obj) } - if len(objects) > maxKeys { + if maxKeys > 0 && len(objects) > maxKeys { break } } @@ -130,7 +130,7 @@ func (l *s3EncObjects) ListObjectsV2(ctx context.Context, bucket, prefix, contin prefixes = append(prefixes, p) } } - if (len(objects) > maxKeys) || !loi.IsTruncated { + if (maxKeys > 0 && len(objects) > maxKeys) || !loi.IsTruncated { break } }