Skip to content

Commit 38dde1c

Browse files
author
stonebig
committed
source, tools and docs dirs can be redefined
1 parent c6b891a commit 38dde1c

File tree

1 file changed

+75
-40
lines changed

1 file changed

+75
-40
lines changed

make.py

Lines changed: 75 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -872,7 +872,8 @@ def make_winpython(build_number, release_level, architecture,
872872
basedir=None, verbose=False, remove_existing=True,
873873
create_installer=True, simulation=False, rootdir=None,
874874
install_options=None, flavor='', requirements=None,
875-
find_links=None):
875+
find_links=None, source_dirs=None, toolsdirs=None,
876+
docsdirs=None):
876877
"""Make WinPython distribution, for a given base directory and
877878
architecture:
878879
@@ -903,46 +904,75 @@ def make_winpython(build_number, release_level, architecture,
903904
shutil.rmtree(wheeldir, onerror=utils.onerror)
904905
os.mkdir(wheeldir)
905906
# Copy Every package directory to the wheel directory
906-
source_dirs = [osp.join(basedir, 'packages' + suffix),
907-
osp.join(basedir, 'packages.src'),
908-
osp.join(basedir, flavor, 'packages' + suffix),
909-
osp.join(basedir, flavor, 'packages.src')]
907+
908+
# Optional pre-defined source_dirs
909+
if source_dirs is None:
910+
source_dirs = ''
911+
if not source_dirs == list(source_dirs):
912+
source_dirs = source_dirs.split()
913+
914+
# Default natural behavior
915+
if source_dirs == []:
916+
source_dirs = [osp.join(basedir, 'packages' + suffix),
917+
osp.join(basedir, 'packages.src'),
918+
osp.join(basedir, flavor, 'packages' + suffix),
919+
osp.join(basedir, flavor, 'packages.src')]
920+
print('source_dirs=', source_dirs)
910921
for m in list(set(source_dirs)):
911922
if osp.isdir(m):
912923
src_files = os.listdir(m)
913924
for file_name in src_files:
914925
full_file_name = os.path.join(m, file_name)
915926
shutil.copy(full_file_name, wheeldir)
916927

917-
# Define List of Tools directory to collect
918-
toolsdir1 = osp.join(basedir, 'tools')
919-
assert osp.isdir(toolsdir1)
920-
toolsdirs = [toolsdir1]
921-
toolsdir2 = osp.join(basedir, 'tools' + suffix)
922-
if osp.isdir(toolsdir2):
923-
toolsdirs.append(toolsdir2)
924-
# add flavor tools
925-
if flavor != '':
926-
toolsdir3 = osp.join(basedir, flavor, 'tools')
927-
toolsdir4 = osp.join(basedir, flavor, 'tools' + suffix)
928-
for flavor_tools in [toolsdir3, toolsdir4]:
929-
if osp.isdir(flavor_tools):
930-
toolsdirs.append(flavor_tools)
931-
932-
# Define List of docs directory to collect
933-
docsdir1 = osp.join(basedir, 'docs')
934-
assert osp.isdir(docsdir1)
935-
docsdirs = [docsdir1]
936-
docsdir2 = osp.join(basedir, 'docs' + suffix)
937-
if osp.isdir(docsdir2):
938-
docsdirs.append(docsdir2)
939-
# add flavor docs
940-
if flavor != '':
941-
docsdir3 = osp.join(basedir, flavor, 'docs')
942-
docsdir4 = osp.join(basedir, flavor, 'docs' + suffix)
943-
for flavor_docs in [docsdir3, docsdir4]:
944-
if osp.isdir(flavor_docs):
945-
docsdirs.append(flavor_docs)
928+
# Optional pre-defined toolsdirs
929+
if toolsdirs is None:
930+
toolsdirs = ''
931+
if not toolsdirs == list(toolsdirs):
932+
toolsdirs = toolsdirs.split()
933+
934+
# Default natural behavior
935+
if toolsdirs == []:
936+
937+
# Define List of Tools directory to collect
938+
toolsdir1 = osp.join(basedir, 'tools')
939+
assert osp.isdir(toolsdir1)
940+
toolsdirs = [toolsdir1]
941+
toolsdir2 = osp.join(basedir, 'tools' + suffix)
942+
if osp.isdir(toolsdir2):
943+
toolsdirs.append(toolsdir2)
944+
# add flavor tools
945+
if flavor != '':
946+
toolsdir3 = osp.join(basedir, flavor, 'tools')
947+
toolsdir4 = osp.join(basedir, flavor, 'tools' + suffix)
948+
for flavor_tools in [toolsdir3, toolsdir4]:
949+
if osp.isdir(flavor_tools):
950+
toolsdirs.append(flavor_tools)
951+
print('toolsdirs=', toolsdirs)
952+
953+
# Optional pre-defined toolsdirs
954+
if docsdirs is None:
955+
docsdirs = ''
956+
if not docsdirs == list(docsdirs):
957+
docsdirs = docsdirs.split()
958+
959+
# Default natural behavior
960+
if docsdirs == []:
961+
# Define List of docs directory to collect
962+
docsdir1 = osp.join(basedir, 'docs')
963+
assert osp.isdir(docsdir1)
964+
docsdirs = [docsdir1]
965+
docsdir2 = osp.join(basedir, 'docs' + suffix)
966+
if osp.isdir(docsdir2):
967+
docsdirs.append(docsdir2)
968+
# add flavor docs
969+
if flavor != '':
970+
docsdir3 = osp.join(basedir, flavor, 'docs')
971+
docsdir4 = osp.join(basedir, flavor, 'docs' + suffix)
972+
for flavor_docs in [docsdir3, docsdir4]:
973+
if osp.isdir(flavor_docs):
974+
docsdirs.append(flavor_docs)
975+
print('docsdirs=', docsdirs)
946976

947977
# install_options = ['--no-index', '--pre', '--find-links=%s' % wheeldir]
948978

@@ -968,7 +998,7 @@ def make_all(build_number, release_level, pyver,
968998
rootdir=None, simulation=False, create_installer=True,
969999
verbose=False, remove_existing=True, archis=(32, 64),
9701000
install_options=['--no-index'], flavor='', requirements=None,
971-
find_links=None):
1001+
find_links=None, source_dirs=None, toolsdirs=None, docsdirs=None):
9721002
"""Make WinPython for both 32 and 64bit architectures:
9731003
9741004
make_all(build_number, release_level, pyver, rootdir, simulation=False,
@@ -992,7 +1022,8 @@ def make_all(build_number, release_level, pyver,
9921022
verbose, remove_existing, create_installer, simulation,
9931023
rootdir=rootdir, install_options=install_options,
9941024
flavor=flavor, requirements=requirements,
995-
find_links=find_links)
1025+
find_links=find_links, source_dirs=source_dirs,
1026+
toolsdirs=toolsdirs, docsdirs=docsdirs)
9961027

9971028

9981029
if __name__ == '__main__':
@@ -1005,8 +1036,12 @@ def make_all(build_number, release_level, pyver,
10051036
# install_options=r'--no-index --pre --trusted-host=None',
10061037
# find_links=r'D:\Winpython\basedir34\packages.srcreq')
10071038

1008-
make_all(7, release_level='build1', pyver='3.4', rootdir=r'D:\WinpythonQt5', verbose=True,
1009-
archis=(64, ), flavor='Qt5',
1010-
requirements=r'D:\WinpythonQt5\basedir34\zerorequirements.txt',
1039+
make_all(7, release_level='build1', pyver='3.4', rootdir=r'D:\Winpython', verbose=True,
1040+
archis=(32, ), flavor='Slim',
1041+
requirements=r'D:\Winpython\basedir34\slim_requirements.txt',
10111042
install_options=r'--no-index --pre --trusted-host=None',
1012-
find_links=r'D:\Winpython\basedir34\packages.srcreq')
1043+
find_links=r'D:\Winpython\basedir34\packages.srcreq',
1044+
source_dirs=r'D:\WinPython\basedir34\packages.src D:\WinPython\basedir34\packages.win32.Slim',
1045+
toolsdirs=r'D:\WinPython\basedir34\Tools.Slim',
1046+
docsdirs=r'D:\WinPython\basedir34\docs.Slim'
1047+
)

0 commit comments

Comments
 (0)