From c91db4d20acec79b05cf5863844dbb87a6a2b291 Mon Sep 17 00:00:00 2001
From: Daniel Stonier <d.stonier@gmail.com>
Date: Thu, 19 Feb 2015 02:40:16 +0900
Subject: [PATCH] variable length list of packages to build.

---
 src/genjava/genjava_main.py | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/genjava/genjava_main.py b/src/genjava/genjava_main.py
index e4d11a3..c732d7c 100644
--- a/src/genjava/genjava_main.py
+++ b/src/genjava/genjava_main.py
@@ -86,11 +86,12 @@ def main(argv):
 
 def standalone_parse_arguments(argv):
     parser = argparse.ArgumentParser(description='Generate artifacts for any/all discoverable message packages.')
-    parser.add_argument('-p', '--package', action='store', default=None, help='package to generate (if not specified, all will be built)')
+    parser.add_argument('-p', '--packages', action='store', nargs='*', default=[], help='a list of packages to generate artifacts for')
     parser.add_argument('-o', '--output-dir', action='store', default='build', help='output directory for the java code (e.g. build/foo_msgs)')
     parser.add_argument('-v', '--verbose', default=False, action='store_true', help='enable verbosity in debugging (false)')
     parser.add_argument('-f', '--fakeit', default=False, action='store_true', help='dont build, just list the packages it would build (false)')
-    return parser.parse_args(argv)
+    parsed_arguments = parser.parse_args(argv)
+    return parsed_arguments
 
 
 def standalone_main(argv):
@@ -102,10 +103,7 @@ def standalone_main(argv):
     args = standalone_parse_arguments(argv[1:])
     #print("genjava %s/%s/%s" % (args.package, args.output_dir, args.verbose))
 
-    if args.package is not None:
-        sorted_package_tuples = rosjava_build_tools.catkin.index_message_package_dependencies_from_local_environment(package_name=args.package)
-    else:
-        sorted_package_tuples = rosjava_build_tools.catkin.index_message_package_dependencies_from_local_environment()
+    sorted_package_tuples = rosjava_build_tools.catkin.index_message_package_dependencies_from_local_environment(package_name_list=args.packages)
 
     print("Generating message artifacts for: \n%s" % [p.name for (unused_relative_path, p) in sorted_package_tuples])
     if not args.fakeit:
-- 
GitLab