blob: 30cb95b06c8a98fbbbb2d4b5da3e8bb74541963b [file] [log] [blame]
VERSIONFILE := pkg/util/defaults/defaults.go
VERSION := 0.3.2-SNAPSHOT
RUNTIME_VERSION := 0.3.1
CAMEL_VERSION := 2.23.1
CAMEL_VERSION_CONSTRAINT := ~2.23.x
BASE_IMAGE := fabric8/s2i-java:3.0-java8
LOCAL_REPOSITORY := /tmp/artifacts/m2
IMAGE_NAME := docker.io/apache/camel-k
RELEASE_GIT_REMOTE := upstream
default: test
#
# Generates the version file
#
codegen:
@echo "package defaults" > $(VERSIONFILE)
@echo "" >> $(VERSIONFILE)
@echo "// ***********************" >> $(VERSIONFILE)
@echo "// DO NOT EDIT THIS FILE" >> $(VERSIONFILE)
@echo "// ***********************" >> $(VERSIONFILE)
@echo "" >> $(VERSIONFILE)
@echo "const (" >> $(VERSIONFILE)
@echo " // Version -- " >> $(VERSIONFILE)
@echo " Version = \"$(VERSION)\"" >> $(VERSIONFILE)
@echo "" >> $(VERSIONFILE)
@echo " // CamelVersionConstraint -- " >> $(VERSIONFILE)
@echo " CamelVersionConstraint = \"$(CAMEL_VERSION_CONSTRAINT)\"" >> $(VERSIONFILE)
@echo "" >> $(VERSIONFILE)
@echo " // RuntimeVersion -- " >> $(VERSIONFILE)
@echo " RuntimeVersion = \"$(RUNTIME_VERSION)\"" >> $(VERSIONFILE)
@echo "" >> $(VERSIONFILE)
@echo " // BaseImage -- " >> $(VERSIONFILE)
@echo " BaseImage = \"$(BASE_IMAGE)\"" >> $(VERSIONFILE)
@echo "" >> $(VERSIONFILE)
@echo " // LocalRepository -- " >> $(VERSIONFILE)
@echo " LocalRepository = \"$(LOCAL_REPOSITORY)\"" >> $(VERSIONFILE)
@echo ")" >> $(VERSIONFILE)
@echo "" >> $(VERSIONFILE)
gofmt -w pkg/util/defaults/defaults.go
generate:
operator-sdk generate k8s
build: build-operator build-kamel build-publisher build-compile-integration-tests
test: build
go test ./...
test-integration: build
go test ./... -tags=integration
build-operator:
go build -o camel-k ./cmd/manager/*.go
build-kamel:
go build -o kamel ./cmd/kamel/*.go
build-publisher:
go build -o publisher ./cmd/util/publisher/*.go
build-resources:
./script/build_catalog.sh $(CAMEL_VERSION) $(RUNTIME_VERSION)
./script/build_catalog.sh 2.23.0 $(RUNTIME_VERSION)
./script/embed_resources.sh deploy
go run cmd/util/json-schema-gen/jsonschemagen.go --out=./assets/json-schema
build-compile-integration-tests:
go test -c -tags=integration ./test/*.go
clean:
go clean
rm -f camel-k
rm -f kamel
rm -f publisher
rm -rf build/_maven_output
rm -rf build/_output
rm -rf camel-k-client-*.tar.gz
rm -rf camel-k-examples-*.tar.gz
version:
@echo $(VERSION)
dep:
dep ensure -v
lint:
golangci-lint run
images: test
mkdir -p build/_maven_output
operator-sdk build $(IMAGE_NAME):$(VERSION)
images-dev: test package-artifacts
mkdir -p build/_maven_output
operator-sdk build $(IMAGE_NAME):$(VERSION)
images-push:
docker push $(IMAGE_NAME):$(VERSION)
set-version:
./script/set_version.sh $(VERSION)
git-tag:
./script/git_tag.sh $(VERSION) $(RELEASE_GIT_REMOTE)
cross-compile:
./script/cross_compile.sh $(VERSION)
package-examples:
./script/package_examples.sh $(VERSION)
package-artifacts:
./script/package_maven_artifacts.sh $(RUNTIME_VERSION)
publish-base-images:
go run cmd/util/publisher/publisher.go --runtime-version=$(RUNTIME_VERSION)
release: clean codegen set-version build-resources build images images-push cross-compile package-examples git-tag
install-minishift:
./script/install_minishift.sh
install-minikube:
./script/install_minikube.sh
.PHONY: build build-operator build-kamel build-resources dep codegen images images-dec images-push test check test-integration clean release cross-compile package-examples set-version git-tag publish-base-images