OpenMetadata/Makefile

87 lines
2.6 KiB
Makefile
Raw Normal View History

.PHONY: env38
PY_SOURCE ?= ingestion/src
2021-08-01 14:27:44 -07:00
env38:
# virtualenv -p python3.8 env38
python3.8 -m venv env38
clean_env37:
rm -rf env38
install:
python3 -m pip install ingestion/
install_test:
python3 -m pip install "ingestion[test]/"
install_dev:
python3 -m pip install "ingestion[dev]/"
precommit_install:
@echo "Installing pre-commit hooks"
@echo "Make sure to first run `make install_test`"
pre-commit install
isort:
isort $(PY_SOURCE) --skip $(PY_SOURCE)/metadata/generated --profile black --multi-line 3
lint:
find $(PY_SOURCE) -path $(PY_SOURCE)/metadata/generated -prune -false -o -type f -name "*.py" | xargs pylint
black:
black $(PY_SOURCE) --exclude $(PY_SOURCE)/metadata/generated
black_check:
black --check --diff $(PY_SOURCE) --exclude $(PY_SOURCE)/metadata/generated
generate:
@echo "Running Datamodel Code Generator"
@echo "Make sure to first run the install_dev recipe"
datamodel-codegen --input catalog-rest-service/src/main/resources/json --input-file-type jsonschema --output ingestion/src/metadata/generated
make install
run_ometa_integration_tests:
coverage run -m pytest -c ingestion/setup.cfg --doctest-modules --junitxml=ingestion/junit/test-results-integration.xml --override-ini=testpaths="ingestion/tests/integration/ometa ingestion/tests/integration/stage"
unit_ingestion:
coverage run -m pytest -c ingestion/setup.cfg -s --doctest-modules --junitxml=ingestion/junit/test-results-unit.xml --override-ini=testpaths="ingestion/tests/unit"
coverage:
coverage erase
make unit_ingestion
make run_ometa_integration_tests
coverage xml -i -o ingestion/coverage.xml
sonar_ingestion:
docker run \
--rm \
-e SONAR_HOST_URL="https://sonarcloud.io" \
-e SONAR_LOGIN=$(token) \
-v ${PWD}:/usr/src \
sonarsource/sonar-scanner-cli \
-Dproject.settings=ingestion/sonar-project.properties
publish:
make install_dev generate
cd ingestion; \
python setup.py install sdist bdist_wheel; \
twine check dist/*; \
twine upload dist/*
build_docker_base:
make install_dev generate
docker build -f ingestion/connectors/Dockerfile-base ingestion/ -t openmetadata/ingestion-connector-base
build_docker_connectors:
@echo "Building Docker connectors. Make sure to run build_docker_base first"
python ingestion/connectors/docker-cli.py build
push_docker_connectors:
@echo "Pushing Docker connectors. Make sure to run build_docker_connectors first"
python ingestion/connectors/docker-cli.py push
yarn_install_cache:
cd openmetadata-ui/src/main/resources/ui && yarn install --frozen-lockfile
yarn_start_dev_ui:
cd openmetadata-ui/src/main/resources/ui && yarn start