43 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| .PHONY: help setup generate test types format clean plugin full-test check-style
 | |
| 
 | |
| help:               ## - Show this help.
 | |
| 	@fgrep -h "##" $(MAKEFILE_LIST) | fgrep -v fgrep | sed -e 's/\\$$//' | sed -e 's/##//'
 | |
| 
 | |
| # Dev workflow tasks
 | |
| 
 | |
| generate:           ## - Generate test cases (do this once before running test)
 | |
| 	poetry run ./betterproto/tests/generate.py
 | |
| 
 | |
| test:               ## - Run tests
 | |
| 	poetry run pytest --cov betterproto
 | |
| 
 | |
| types:              ## - Check types with mypy
 | |
| 	poetry run mypy betterproto --ignore-missing-imports
 | |
| 
 | |
| format:             ## - Apply black formatting to source code
 | |
| 	poetry run black . --exclude tests/output_
 | |
| 
 | |
| clean:              ## - Clean out generated files from the workspace
 | |
| 	rm -rf .coverage \
 | |
| 	       .mypy_cache \
 | |
| 	       .pytest_cache \
 | |
| 	       dist \
 | |
| 	       **/__pycache__ \
 | |
| 	       betterproto/tests/output_*
 | |
| 
 | |
| # Manual testing
 | |
| 
 | |
| # By default write plugin output to a directory called output
 | |
| o=output
 | |
| plugin:             ## - Execute the protoc plugin, with output write to `output` or the value passed to `-o`
 | |
| 	mkdir -p $(o)
 | |
| 	protoc --plugin=protoc-gen-custom=betterproto/plugin.py $(i) --custom_out=$(o)
 | |
| 
 | |
| # CI tasks
 | |
| 
 | |
| full-test: generate ## - Run full testing sequence with multiple pythons
 | |
| 	poetry run tox
 | |
| 
 | |
| check-style:        ## - Check if code style is correct
 | |
| 	poetry run black . --check --diff --exclude tests/output_
 |