comparison mxtool/mx.py @ 4149:cf4de9cc1268

Integrated latest mxtool updates.
author Doug Simon <doug.simon@oracle.com>
date Tue, 20 Dec 2011 10:36:44 +0100
parents bf5efc22fb3f
children c78bace5086a
comparison
equal deleted inserted replaced
4148:bf5efc22fb3f 4149:cf4de9cc1268
459 self.add_argument('--cp-sfx', dest='cp_suffix', help='class path suffix', metavar='<arg>') 459 self.add_argument('--cp-sfx', dest='cp_suffix', help='class path suffix', metavar='<arg>')
460 self.add_argument('--J', dest='java_args', help='Java VM arguments (e.g. --J @-dsa)', metavar='@<args>', default=DEFAULT_JAVA_ARGS) 460 self.add_argument('--J', dest='java_args', help='Java VM arguments (e.g. --J @-dsa)', metavar='@<args>', default=DEFAULT_JAVA_ARGS)
461 self.add_argument('--Jp', action='append', dest='java_args_pfx', help='prefix Java VM arguments (e.g. --Jp @-dsa)', metavar='@<args>', default=[]) 461 self.add_argument('--Jp', action='append', dest='java_args_pfx', help='prefix Java VM arguments (e.g. --Jp @-dsa)', metavar='@<args>', default=[])
462 self.add_argument('--Ja', action='append', dest='java_args_sfx', help='suffix Java VM arguments (e.g. --Ja @-dsa)', metavar='@<args>', default=[]) 462 self.add_argument('--Ja', action='append', dest='java_args_sfx', help='suffix Java VM arguments (e.g. --Ja @-dsa)', metavar='@<args>', default=[])
463 self.add_argument('--user-home', help='users home directory', metavar='<path>', default=os.path.expanduser('~')) 463 self.add_argument('--user-home', help='users home directory', metavar='<path>', default=os.path.expanduser('~'))
464 self.add_argument('--java-home', help='JDK installation directory (must be JDK 6 or later)', metavar='<path>', default=_default_java_home()) 464 self.add_argument('--java-home', help='JDK installation directory (must be JDK 6 or later)', metavar='<path>')
465 465
466 def _parse_cmd_line(self, args=None): 466 def _parse_cmd_line(self, args=None):
467 if args is None: 467 if args is None:
468 args = sys.argv[1:] 468 args = sys.argv[1:]
469 469
470 self.add_argument('commandAndArgs', nargs=REMAINDER, metavar='command args...') 470 self.add_argument('commandAndArgs', nargs=REMAINDER, metavar='command args...')
471 471
472 opts = self.parse_args() 472 opts = self.parse_args()
473 473
474 if opts.java_home is None:
475 opts.java_home = os.environ.get('JAVA_HOME')
476
474 if opts.java_home is None or opts.java_home == '': 477 if opts.java_home is None or opts.java_home == '':
475 abort('Could not find Java home. Use --java-home option or ensure JAVA_HOME environment variable is set.') 478 abort('Could not find Java home. Use --java-home option or ensure JAVA_HOME environment variable is set.')
476 479
477 if opts.user_home is None or opts.user_home == '': 480 if opts.user_home is None or opts.user_home == '':
478 abort('Could not find user home. Use --user-home option or ensure HOME environment variable is set.') 481 abort('Could not find user home. Use --user-home option or ensure HOME environment variable is set.')
596 self.java_args += ['-Xdebug', '-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000'] 599 self.java_args += ['-Xdebug', '-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000']
597 600
598 def format_cmd(self, args): 601 def format_cmd(self, args):
599 return [self.java] + self.java_args_pfx + self.java_args + self.java_args_sfx + args 602 return [self.java] + self.java_args_pfx + self.java_args + self.java_args_sfx + args
600 603
601 def _default_java_home():
602 javaHome = os.getenv('JAVA_HOME')
603 if javaHome is None:
604 if exists('/usr/lib/java/java-6-sun'):
605 javaHome = '/usr/lib/java/java-6-sun'
606 elif exists('/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home'):
607 javaHome = '/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home'
608 elif exists('/usr/jdk/latest'):
609 javaHome = '/usr/jdk/latest'
610 return javaHome
611
612 def check_get_env(key): 604 def check_get_env(key):
613 """ 605 """
614 Gets an environment variable, aborting with a useful message if it is not set. 606 Gets an environment variable, aborting with a useful message if it is not set.
615 """ 607 """
616 value = os.environ.get(key) 608 value = os.environ.get(key)