-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmake.bat
142 lines (114 loc) · 3.92 KB
/
make.bat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: LICENSING :
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::
:: Copyright 2020 Esri
::
:: Licensed under the Apache License, Version 2.0 (the "License"); You
:: may not use this file except in compliance with the License. You may
:: obtain a copy of the License at
::
:: http://www.apache.org/licenses/LICENSE-2.0
::
:: Unless required by applicable law or agreed to in writing, software
:: distributed under the License is distributed on an "AS IS" BASIS,
:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
:: implied. See the License for the specific language governing
:: permissions and limitations under the License.
::
:: A copy of the license is available in the repository's
:: LICENSE file.
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: VARIABLES :
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
SETLOCAL
SET PROJECT_DIR=%cd%
SET PROJECT_NAME=demographic-modeling-module
SET SUPPORT_LIBRARY = dm
SET ENV_NAME=demographic-modeling
SET CONDA_PARENT=arcgispro-py3
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: COMMANDS :
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Jump to command
GOTO %1
:: Perform data preprocessing steps contained in the make_data.py script.
:data
ENDLOCAL & (
CALL activate "%ENV_NAME%"
CALL python src/make_data.py
ECHO ^>^>^> Data processed.
)
EXIT /B
:: Build the local environment from the environment file
:env
ENDLOCAL & (
:: Run this from the ArcGIS Python Command Prompt
:: Clone and activate the new environment
CALL conda create --name "%ENV_NAME%" --clone "%CONDA_PARENT%" -y
CALL activate "%ENV_NAME%"
:: Install nodejs so it does not throw an error later
CALL conda install -y nodejs
:: Install additional packages
CALL conda env update -f environment.yml
:: Install the local package in development mode
CALL python -m pip install -e .
:: Additional steps for the map widget to work in Jupyter Lab
CALL jupyter labextension install @jupyter-widgets/jupyterlab-manager -y
CALL jupyter labextension install [email protected] -y
:: Set the ArcGIS Pro Python environment
proswap "%ENV_NAME%"
)
EXIT /B
:: Update the current environment with resources needed to publish the package
:env_dev
ENDLOCAL & (
:: Install additional packages
CALL conda env update -f environment_dev.yml
)
EXIT /B
:: Activate the environment
:env_activate
ENDLOCAL & CALL activate "%ENV_NAME%"
EXIT /B
:: Remove the environment
:env_remove
ENDLOCAL & (
CALL deactivate
CALL conda env remove --name "%ENV_NAME%" -y
)
EXIT /B
:: Start jupyter lab
:jupyter
ENDLOCAL & (
CALL activate "%ENV_NAME%"
CALL jupyter lab
)
EXIT /B
:: Make the package for uploading
:build
ENDLOCAL & (
:: Build the pip package
CALL python setup.py sdist
:: Build conda package
CALL conda build ./conda-recipe --output-folder ./conda-recipe/conda-build
)
EXIT /B
:build_upload
ENDLOCAL & (
:: Build the pip package
CALL python setup.py sdist bdist_wheel
CALL twine upload ./dist/*
:: Build conda package
CALL conda build ./conda-recipe --output-folder ./conda-recipe/conda-build
CALL anaconda upload ./conda-recipe/conda-build/win-64/demographic-modeling-module*.tar.bz2
)
EXIT /B
:: Run all tests in module
:test
ENDLOCAL & (
activate "%ENV_NAME%"
pytest
)
EXIT /B
EXIT /B