From 07bc5cc432fee269859f8a83cc4b82b248722014 Mon Sep 17 00:00:00 2001 From: Paul Vincent Craven Date: Mon, 12 Aug 2019 11:34:19 -0500 Subject: [PATCH] Add make batch file for Windows --- make.bat | 130 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 130 insertions(+) create mode 100644 make.bat diff --git a/make.bat b/make.bat new file mode 100644 index 0000000..1f857e6 --- /dev/null +++ b/make.bat @@ -0,0 +1,130 @@ +@echo off + +rem Build script for Windows + +IF "%~1"=="" GOTO printdoc +IF "%~1"=="full" GOTO makefull +IF "%~1"=="dist" GOTO makedist +IF "%~1"=="test" GOTO test +IF "%~1"=="testcov" GOTO test +IF "%~1"=="fast" GOTO makefast +IF "%~1"=="docs" GOTO makedoc +IF "%~1"=="spelling" GOTO spelling +IF "%~1"=="deploy_pypi" GOTO deploy_pypi +IF "%~1"=="clean" GOTO clean +GOTO printdoc + +:clean + +rmdir /S /Q pytiled_parser.egg-info +rmdir /S /Q build +rmdir /S /Q dist +rmdir /S /Q .pytest_cache +rmdir /S /Q doc\build + +GOTO end + +:test + +pytest +GOTO end + +:testcov + +pytest --cov=arcade +GOTO end + +:makedist + +rem Clean out old builds +del /q dist\*.* +python setup.py clean + +rem Build the python +python setup.py build +python setup.py bdist_wheel + +GOTO end + +:makefull +rem -- This builds the project, installs it, and runs unit tests + +rem Clean out old builds +rmdir /s /q "doc\build" +del /q dist\*.* +python setup.py clean + +rem Build the python +python setup.py build +python setup.py bdist_wheel + +rem Install the packages +pip uninstall -y arcade +for /r %%i in (dist\*) do pip install "%%i" + +rem Build the documentation +sphinx-build -b html doc doc/build/html + +rem Run tests and do code coverage +coverage run --source arcade setup.py test +coverage report --omit=arcade/examples/* -m + +GOTO end + +rem -- Make the documentation + +:makedoc + +rmdir /s /q "doc\build" +sphinx-build -n -b html doc doc/build/html + +GOTO end + +rem -- Make the documentation + +:spelling + +rmdir /s /q "doc\build" +sphinx-build -n -b spelling doc doc/build/html + +GOTO end + + +rem == This does a fast build and install, but no unit tests + +:makefast + +python setup.py build +python setup.py bdist_wheel +pip uninstall -y pytiled_parser +for /r %%i in (dist\*) do pip install "%%i" + +GOTO end + +rem -- Deploy + +:deploy_pypi +rem Do a "pip install twine" and set environment variables before running. + +twine upload -u %PYPI_USER% -p %PYPI_PASSWORD% -r pypi dist/* + +GOTO end + + + +rem -- Print documentation + +:printdoc + +echo make test - Runs the tests +echo make testcov - Runs the tests with coverage +echo make dist - Make the distributables +echo make full - Builds the project, installs it, builds +echo documentation, runs unit tests. +echo make docs Builds the documentation. Documentation +echo will be in doc/build/html +echo make fast - Builds and installs the library WITHOUT unit +echo tests. +echo make deploy_pypi - Deploy to PyPi (if you have environment +echo variables set up correctly.) +:end \ No newline at end of file