deploy-ng: Replace game_dir keyword with directories, files, and exclude_paths

Also, mainfile has been replaced with startfile.
This commit is contained in:
Mitchell Stokes 2016-12-18 11:32:56 -08:00
parent 3ab9bde73d
commit 7bf2b12f09

View File

@ -12,10 +12,11 @@ import panda3d.core as p3d
class Distribution(distutils.dist.Distribution):
def __init__(self, attrs):
self.mainfile = 'main.py'
self.game_dir = 'game'
self.startfile = ''
self.directories = []
self.files = []
self.exclude_paths = []
self.exclude_modules = []
self.extras = []
distutils.dist.Distribution.__init__(self, attrs)
@ -32,12 +33,10 @@ class build(distutils.command.build.build):
distutils.dir_util.mkpath(builddir)
basename = os.path.abspath(os.path.join(builddir, self.distribution.get_fullname()))
gamedir = self.distribution.game_dir
startfile = os.path.join(gamedir, self.distribution.mainfile)
# Create runtime
freezer = FreezeTool.Freezer()
freezer.addModule('__main__', filename=startfile)
freezer.addModule('__main__', filename=self.distribution.startfile)
for exmod in self.distribution.exclude_modules:
freezer.excludeModule(exmod)
freezer.done(addStartupModules=True)
@ -76,26 +75,27 @@ class build(distutils.command.build.build):
# Copy Game Files
ignore_copy_list = [
'__pycache__',
self.distribution.mainfile,
] + freezer.getAllModuleNames()
self.distribution.startfile,
] + freezer.getAllModuleNames() + self.distribution.exclude_paths
for item in os.listdir(gamedir):
src = os.path.join(gamedir, item)
dst = os.path.join(builddir, item)
for copydir in self.distribution.directories:
for item in os.listdir(copydir):
src = os.path.join(copydir, item)
dst = os.path.join(builddir, item)
if item in ignore_copy_list:
print("skipping", src)
continue
if item in ignore_copy_list:
print("skipping", src)
continue
if os.path.isdir(src):
#print("Copy dir", src, dst)
distutils.dir_util.copy_tree(src, dst)
else:
#print("Copy file", src, dst)
distutils.file_util.copy_file(src, dst)
if os.path.isdir(src):
#print("Copy dir", src, dst)
distutils.dir_util.copy_tree(src, dst)
else:
#print("Copy file", src, dst)
distutils.file_util.copy_file(src, dst)
# Copy extra files
for extra in self.distribution.extras:
for extra in self.distribution.files:
if len(extra) == 2:
src, dst = extra
dst = os.path.join(builddir, dst)