mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-02 09:52:27 -04:00
deploy-ng: Replace game_dir keyword with directories, files, and exclude_paths
Also, mainfile has been replaced with startfile.
This commit is contained in:
parent
3ab9bde73d
commit
7bf2b12f09
@ -12,10 +12,11 @@ import panda3d.core as p3d
|
|||||||
|
|
||||||
class Distribution(distutils.dist.Distribution):
|
class Distribution(distutils.dist.Distribution):
|
||||||
def __init__(self, attrs):
|
def __init__(self, attrs):
|
||||||
self.mainfile = 'main.py'
|
self.startfile = ''
|
||||||
self.game_dir = 'game'
|
self.directories = []
|
||||||
|
self.files = []
|
||||||
|
self.exclude_paths = []
|
||||||
self.exclude_modules = []
|
self.exclude_modules = []
|
||||||
self.extras = []
|
|
||||||
distutils.dist.Distribution.__init__(self, attrs)
|
distutils.dist.Distribution.__init__(self, attrs)
|
||||||
|
|
||||||
|
|
||||||
@ -32,12 +33,10 @@ class build(distutils.command.build.build):
|
|||||||
distutils.dir_util.mkpath(builddir)
|
distutils.dir_util.mkpath(builddir)
|
||||||
|
|
||||||
basename = os.path.abspath(os.path.join(builddir, self.distribution.get_fullname()))
|
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
|
# Create runtime
|
||||||
freezer = FreezeTool.Freezer()
|
freezer = FreezeTool.Freezer()
|
||||||
freezer.addModule('__main__', filename=startfile)
|
freezer.addModule('__main__', filename=self.distribution.startfile)
|
||||||
for exmod in self.distribution.exclude_modules:
|
for exmod in self.distribution.exclude_modules:
|
||||||
freezer.excludeModule(exmod)
|
freezer.excludeModule(exmod)
|
||||||
freezer.done(addStartupModules=True)
|
freezer.done(addStartupModules=True)
|
||||||
@ -76,26 +75,27 @@ class build(distutils.command.build.build):
|
|||||||
# Copy Game Files
|
# Copy Game Files
|
||||||
ignore_copy_list = [
|
ignore_copy_list = [
|
||||||
'__pycache__',
|
'__pycache__',
|
||||||
self.distribution.mainfile,
|
self.distribution.startfile,
|
||||||
] + freezer.getAllModuleNames()
|
] + freezer.getAllModuleNames() + self.distribution.exclude_paths
|
||||||
|
|
||||||
for item in os.listdir(gamedir):
|
for copydir in self.distribution.directories:
|
||||||
src = os.path.join(gamedir, item)
|
for item in os.listdir(copydir):
|
||||||
dst = os.path.join(builddir, item)
|
src = os.path.join(copydir, item)
|
||||||
|
dst = os.path.join(builddir, item)
|
||||||
|
|
||||||
if item in ignore_copy_list:
|
if item in ignore_copy_list:
|
||||||
print("skipping", src)
|
print("skipping", src)
|
||||||
continue
|
continue
|
||||||
|
|
||||||
if os.path.isdir(src):
|
if os.path.isdir(src):
|
||||||
#print("Copy dir", src, dst)
|
#print("Copy dir", src, dst)
|
||||||
distutils.dir_util.copy_tree(src, dst)
|
distutils.dir_util.copy_tree(src, dst)
|
||||||
else:
|
else:
|
||||||
#print("Copy file", src, dst)
|
#print("Copy file", src, dst)
|
||||||
distutils.file_util.copy_file(src, dst)
|
distutils.file_util.copy_file(src, dst)
|
||||||
|
|
||||||
# Copy extra files
|
# Copy extra files
|
||||||
for extra in self.distribution.extras:
|
for extra in self.distribution.files:
|
||||||
if len(extra) == 2:
|
if len(extra) == 2:
|
||||||
src, dst = extra
|
src, dst = extra
|
||||||
dst = os.path.join(builddir, dst)
|
dst = os.path.join(builddir, dst)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user