Skip to content

Commit d86812e

Browse files
committed
update build script
1 parent d0717a4 commit d86812e

File tree

2 files changed

+38
-19
lines changed

2 files changed

+38
-19
lines changed

src/build.py

+29-19
Original file line numberDiff line numberDiff line change
@@ -105,9 +105,10 @@ def building_reader(pkg_name: str, p: subprocess.Popen, pbar: tqdm = None) -> tu
105105

106106
def gen_packages(
107107
plat: str = 'win',
108-
since: str = None, until: str = None,
108+
since: str = None,
109109
only: str = None,
110-
retry: bool = False, ver: str = None
110+
retry: bool = False,
111+
ver: str = None
111112
):
112113
if only:
113114
print(f'Building {only}...')
@@ -136,17 +137,20 @@ def gen_packages(
136137
else:
137138
index = packages.index(since)
138139
if index > 0:
139-
packages = ['NotARealPackage'] * index + packages[index:]
140+
packages = packages[index:]
141+
142+
return packages
143+
140144

145+
def gen_until_index(packages: list, until: str = None):
141146
if until:
142147
if until.isdigit():
143148
until_index = int(until)
144149
else:
145150
until_index = packages.index(until)
146151
else:
147152
until_index = len(packages)
148-
149-
return packages, until_index
153+
return until_index
150154

151155

152156
def build(
@@ -161,7 +165,8 @@ def build(
161165
exit(1)
162166

163167
print(f'Building wheels for pypy {ver}...')
164-
packages, until_index = gen_packages(plat, since, until, only, retry, ver)
168+
packages = gen_packages(plat, since, only, retry, ver)
169+
until_index = gen_until_index(packages, until)
165170
success = []
166171
failed = []
167172

@@ -193,13 +198,21 @@ def build(
193198
if EXTRA_CDN not in pip_conf:
194199
extra_index_flag = f'--extra-index-url {EXTRA_INDEX_URL}'
195200

201+
if since:
202+
if since.isdigit():
203+
since_index = int(since)
204+
else:
205+
with open(f'{pkg_dir}/packages.txt', 'r') as f:
206+
all_packages = f.read().splitlines()
207+
since_index = all_packages.index(since)
208+
else:
209+
since_index = 0
210+
196211
env = os.environ
197-
pbar = tqdm(packages)
212+
pbar = tqdm(packages, initial=since_index, total=len(packages) + since_index)
198213
count = 0
199214
for pkg in pbar:
200-
if pkg == 'NotARealPackage':
201-
continue
202-
pbar.set_description(f'S: {len(success)}, F: {len(failed)}, C: {pkg}')
215+
pbar.set_description(f'S: {len(success)} F: {len(failed)} C: {pkg}')
203216
command = (
204217
f'{py_path} -m '
205218
f'pip install -U -v '
@@ -225,13 +238,12 @@ def build(
225238

226239
error_log = f'log/{ver}/{pkg}.log'
227240
if is_success_build(pkg, result, error):
228-
pbar.write('########## SUCCESS ##########')
229241
success.append(pkg)
242+
pbar.write(f'\n\n🎉 {pkg} 🎉\n\n')
230243
count += 1
231244
if os.path.isfile(error_log):
232245
os.remove(error_log)
233246
pbar.write(f'Removed {error_log}')
234-
pbar.write('########## END ##########')
235247
else:
236248
failed.append(pkg)
237249
# pbar.write(result)
@@ -246,6 +258,7 @@ def build(
246258
f.write(result + error)
247259
pbar.write(f'Log saved to {error_log}')
248260
pbar.write('########## END ##########')
261+
pbar.write('\n')
249262

250263
current_index = packages.index(pkg)
251264
if current_index >= until_index:
@@ -269,14 +282,14 @@ def build(
269282
failed.append(pkg)
270283
pbar.write(str(e))
271284

272-
pbar.write(f'Success: {len(success)}, Failed: {len(failed)}')
285+
pbar.write(f'Success: {len(success)} Failed: {len(failed)}')
273286
return success, failed
274287

275288

276289
NO_UNINST = [
277290
'pip', 'setuptools', 'wheel',
278-
'certifi', 'wrapt',
279-
'semantic_version'
291+
'certifi', 'cffi', 'greenlet', 'hpy', 'readline', 'wrapt',
292+
'semantic_version',
280293
]
281294

282295

@@ -290,7 +303,7 @@ def uninst_all(ver: str, py_path: str, plat: str = 'win', upper_pbar: tqdm = Non
290303

291304
pbar = tqdm(pkgs)
292305
for pkg in pbar:
293-
if any([i in pkg for i in NO_UNINST]):
306+
if any(pkg.startswith(f'{p}==') for p in NO_UNINST):
294307
continue
295308
p = subprocess.Popen(f'{uninst_cmd} {pkg}'.split(), stdout=subprocess.PIPE, stderr=subprocess.PIPE)
296309
popen_reader(p, pbar)
@@ -300,9 +313,6 @@ def uninst_all(ver: str, py_path: str, plat: str = 'win', upper_pbar: tqdm = Non
300313
p = subprocess.Popen(uninst_cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
301314
popen_reader(p, upper_pbar)
302315

303-
if os.path.exists(f'freeze.{ver}.txt'):
304-
os.remove(f'freeze.{ver}.txt')
305-
306316
# ensure tools
307317
p = subprocess.Popen(
308318
f'{py_path} -m pip install'.split() + NO_UNINST,

src/init-windows.bat

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
winget install --id Microsoft.VisualStudio.2022.Community
2+
winget install --id Git.Git
3+
4+
5+
conda install ca-certificates cmake curl gettext libffi jpeg libpng ninja openssl xz zlib
6+
conda install postgresql libxml2 libxslt freetds librdkafka hdf5 libllvm11 geos arrow-cpp
7+
conda install rust
8+
conda install mkl mkl-include
9+
conda install openblas

0 commit comments

Comments
 (0)