From 56ebf981df7be644b0ca8a5b82329441d0b46558 Mon Sep 17 00:00:00 2001 From: Mitchell Stokes Date: Tue, 21 Nov 2017 18:48:42 -0800 Subject: [PATCH] deploy-ng: Add user_options and finalize_options to build_apps --- direct/src/showutil/dist.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/direct/src/showutil/dist.py b/direct/src/showutil/dist.py index fa94729fd6..c8c6a8d4d4 100644 --- a/direct/src/showutil/dist.py +++ b/direct/src/showutil/dist.py @@ -12,6 +12,7 @@ import io import distutils.core import distutils.dir_util import distutils.file_util +import distutils.log from . import FreezeTool from . import pefile @@ -24,7 +25,10 @@ if 'basestring' not in globals(): class build_apps(distutils.core.Command): description = 'build Panda3D applications' - user_options = [] # TODO + user_options = [ + ('build-base', None, 'directory to build applications in'), + ('requirements-path', None, 'path to requirements.txt file for pip'), + ] def initialize_options(self): self.build_base = os.path.join(os.getcwd(), 'build') @@ -55,8 +59,14 @@ class build_apps(distutils.core.Command): return zip def finalize_options(self): - # TODO - pass + for path in self.copy_paths: + if isinstance(path, basestring): + src = path + else: + src, _ = path + assert os.path.exists(src), 'Copy path source does not exist: {}'.format(src) + assert self.deploy_platforms, 'At least one deploy platform must be defined' + assert os.path.exists(self.requirements_path), 'Requirements.txt path does not exist: {}'.format(self.requirements_path) def run(self): if not self.deploy_platforms: