-
Notifications
You must be signed in to change notification settings - Fork 129
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* KOGITO-8400 Setup Makefile * set PHONY targets * udpated doc
- Loading branch information
Showing
1 changed file
with
101 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,101 @@ | ||
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-apps' | ||
|
||
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-apps --skipProjectCheckout kiegroup/kogito-apps | ||
|
||
.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" |