43 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/sh
 | 
						|
 | 
						|
### check type annotations with mypy
 | 
						|
 | 
						|
set -e
 | 
						|
 | 
						|
base=$(dirname "$(readlink -f "$0")")
 | 
						|
cd "${base}"
 | 
						|
 | 
						|
if [ ! -d "venv" -o ! -x "venv/bin/python" ]; then
 | 
						|
    echo >&2 "Missing virtualenv in 'venv'; maybe run setup-venv.sh first!"
 | 
						|
    exit 1
 | 
						|
fi
 | 
						|
 | 
						|
if [ ! -x ./venv/bin/mypy ]; then
 | 
						|
    ./venv/bin/pip install mypy trio-typing[mypy] types-PyYAML types-aiofiles types-colorama types-cryptography types-protobuf types-toml
 | 
						|
fi
 | 
						|
 | 
						|
site_pkgs=$(./venv/bin/python -c 'import site; print(site.getsitepackages()[0])')
 | 
						|
if [ ! -d "${site_pkgs}/trio_typing" ]; then
 | 
						|
    ./venv/bin/pip install trio-typing[mypy]
 | 
						|
fi
 | 
						|
if [ ! -d "${site_pkgs}/yaml-stubs" ]; then
 | 
						|
    ./venv/bin/pip install types-PyYAML
 | 
						|
fi
 | 
						|
if [ ! -d "${site_pkgs}/aiofiles-stubs" ]; then
 | 
						|
    ./venv/bin/pip install types-aiofiles
 | 
						|
fi
 | 
						|
if [ ! -d "${site_pkgs}/colorama-stubs" ]; then
 | 
						|
    ./venv/bin/pip install types-colorama
 | 
						|
fi
 | 
						|
if [ ! -d "${site_pkgs}/cryptography-stubs" ]; then
 | 
						|
    ./venv/bin/pip install types-cryptography
 | 
						|
fi
 | 
						|
if [ ! -d "${site_pkgs}/google-stubs" ]; then
 | 
						|
    ./venv/bin/pip install types-protobuf
 | 
						|
fi
 | 
						|
if [ ! -d "${site_pkgs}/toml-stubs" ]; then
 | 
						|
    ./venv/bin/pip install types-toml
 | 
						|
fi
 | 
						|
 | 
						|
./venv/bin/mypy --install-types src
 |