From a4a7e6623acbdfff309ddb7b54e35051de123b69 Mon Sep 17 00:00:00 2001 From: Todd Gardner Date: Thu, 20 Oct 2016 18:51:46 -0400 Subject: [PATCH] Fix issue with python_bundle_create over multiple targets --- .../pants/backend/python/tasks/python_binary_create.py | 4 ++-- .../backend/python/tasks/test_python_binary_create.py | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/python/pants/backend/python/tasks/python_binary_create.py b/src/python/pants/backend/python/tasks/python_binary_create.py index f7d2c79d19a..62c77f4a006 100644 --- a/src/python/pants/backend/python/tasks/python_binary_create.py +++ b/src/python/pants/backend/python/tasks/python_binary_create.py @@ -58,8 +58,8 @@ def execute(self): if not vt.valid: self.create_binary(vt.target, vt.results_dir) - python_pex_product.add(binary, os.path.dirname(pex_path)).append(os.path.basename(pex_path)) - python_deployable_archive.add(binary, os.path.dirname(pex_path)).append(os.path.basename(pex_path)) + python_pex_product.add(vt.target, os.path.dirname(pex_path)).append(os.path.basename(pex_path)) + python_deployable_archive.add(vt.target, os.path.dirname(pex_path)).append(os.path.basename(pex_path)) self.context.log.debug('created {}'.format(os.path.relpath(pex_path, get_buildroot()))) # Create a copy for pex. diff --git a/tests/python/pants_test/backend/python/tasks/test_python_binary_create.py b/tests/python/pants_test/backend/python/tasks/test_python_binary_create.py index f7c6be89f4f..9cbcaaf154b 100644 --- a/tests/python/pants_test/backend/python/tasks/test_python_binary_create.py +++ b/tests/python/pants_test/backend/python/tasks/test_python_binary_create.py @@ -54,3 +54,11 @@ def _check_products(self, bin_name): def test_deployable_archive_products(self): self.test_task.execute() self._check_products('bin') + + def test_handles_multiple_binary_targets(self): + cbin = self.create_python_binary('src/python/cbin', 'cbin', 'lib.lib:main', + dependencies=['//src/python/lib']) + self.task_context = self.context(target_roots=[self.binary, cbin]) + self.task_context.run_tracker.run_info = RunInfo(self.run_info_dir) + self.create_task(self.task_context).execute() + self._check_products('bin')