# # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # mvn_opts= mvn_cmd=mvn $(mvn_opts) build_chain_branch=$(shell git branch --show-current) build_chain_file='https://raw.githubusercontent.com/kiegroup/kogito-pipelines/main/.ci/pull-request-config.yaml' build_chain_group='kiegroup' build_chain_project='kiegroup/kogito-runtimes' default: help .PHONY: build ## Build the project build: $(mvn_cmd) clean install .PHONY: build-quickly ## Perform a quick build of the project build-quickly: $(mvn_cmd) clean install -Dquickly .PHONY: build-upstream ## (build-chain) Build upstream projects from the same branch. If needed, you can modify the `build_chain_file`, `build_chain_group` and `build_chain_branch`. See `build_chain_file` for setting correct environment variables build-upstream: build-chain build-chain build cross_pr -f ${build_chain_file} -o /tmp/bc -p ${build_chain_project} -b ${build_chain_branch} -g ${build_chain_group} --skipParallelCheckout --skipProjectExecution kiegroup/kogito-runtimes --skipProjectCheckout kiegroup/kogito-runtimes .PHONY: build-pr pr_link= ## (build-chain) Build projects from a given `pr_link` argument. If needed, you can also modify the `build_chain_file` and `build_chain_project`. See `build_chain_file` for setting correct environment variables build-pr: build-chain $(if $(pr_link),,$(error Please provide the 'pr_link' argument)) build-chain build cross_pr -f ${build_chain_file} -o /tmp/bc -p ${build_chain_project} -u ${pr_link} --skipParallelCheckout .PHONY: test ## Launch full testing test: $(mvn_cmd) clean verify .PHONY: quick-test ## Launch unit testing quick-test: $(mvn_cmd) clean verify -DquickTests .PHONY: deploy ## Deploy the project deploy: $(mvn_cmd) deploy .PHONY: clean ## Clean the project clean: $(mvn_cmd) clean .PHONY: mvn ## Execute a Maven command with project configuration. Needs the `cmd` argument set mvn: $(mvn_cmd) ${cmd} .PHONY: update-quarkus ## Update the quarkus version. Needs the `quarkus_version` argument set. See also '.ci/environments/common/update_quarkus.sh' for setting correct environment variables update-quarkus: .ci/environments/common/update_quarkus.sh ${quarkus_version} $(MAKE) show-diff .PHONY: prepare-env ## Prepare the repository for a specific environment. Needs the `environment` argument set. See also '.ci/environments/{environment}' script for setting correct environment variables prepare-env: .ci/environments/update.sh ${environment} .PHONY: tree ## Show project dependencies tree: $(mvn_cmd) dependency:tree .PHONY: show-diff ## Show Git diff show-diff: git status git diff .PHONY: help ## This help screen help: @printf "Available targets:\n\n" @awk '/^[a-zA-Z\-_0-9%:\\]+/ { \ helpMessage = match(lastLine, /^## (.*)/); \ if (helpMessage) { \ helpCommand = $$1; \ helpMessage = substr(lastLine, RSTART + 3, RLENGTH); \ gsub("\\\\", "", helpCommand); \ gsub(":+$$", "", helpCommand); \ printf " \x1b[32;01m%-35s\x1b[0m %s\n", helpCommand, helpMessage; \ } \ } \ { lastLine = $$0 }' $(MAKEFILE_LIST) @printf "\n" @printf "All Maven commands can include some maven options via the \`mvn_opts\` argument !" @printf "\n" .PHONY: build-chain build-chain: which build-chain || npm i @kie/build-chain-action -g || printf "\nERROR: Cannot install build-chain. Please run \`npm i @kie/build-chain-action -g\` as sudo user\n"