usr/src/java/adr/org/opensolaris/os/adr/CLI.java
author Stephen Talley <stephen.talley@oracle.com>
Wed, 14 Mar 2012 10:45:15 -0400
changeset 809 8a6fba4105d7
parent 797 usr/src/java/adr/org/opensolaris/os/adr/adrgen/RadADRGen.java@a33daeba9b4c
permissions -rw-r--r--
7150175 radadrgen should generate rad module man pages 7150179 radadrgen should validate against original rng schema 7150184 radadrgen's output doesn't conform to docbook schema 7150189 adr schema should support documentation markup for union arms 7150226 radadrgen transforms should be internationalized 7150292 radadrgen -c should take a directory name, like -j 7150294 radadrgen command line usage should be broken into multiple synopses 7150352 radadrgen -o text should be revisited 7106700 radadrgen man page lacks documentation, -N, -m options
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
797
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
     1
/*
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
     2
 * CDDL HEADER START
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
     3
 *
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
     4
 * The contents of this file are subject to the terms of the
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
     5
 * Common Development and Distribution License (the "License").
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
     6
 * You may not use this file except in compliance with the License.
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
     7
 *
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
     8
 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
     9
 * or http://www.opensolaris.org/os/licensing.
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    10
 * See the License for the specific language governing permissions
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    11
 * and limitations under the License.
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    12
 *
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    13
 * When distributing Covered Code, include this CDDL HEADER in each
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    14
 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    15
 * If applicable, add the following below this CDDL HEADER, with the
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    16
 * fields enclosed by brackets "[]" replaced with your own identifying
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    17
 * information: Portions Copyright [yyyy] [name of copyright owner]
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    18
 *
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    19
 * CDDL HEADER END
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    20
 */
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    21
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    22
/*
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    23
 * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    24
 */
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    25
809
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
    26
package org.opensolaris.os.adr;
797
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    27
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    28
import java.util.*;
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    29
809
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
    30
public class CLI {
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
    31
    //
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
    32
    // Inner classes
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
    33
    //
797
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    34
809
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
    35
    public static class Option {
797
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    36
	private char letter_;
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    37
	private String arg_;
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    38
809
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
    39
	public Option(char letter, String arg) {
797
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    40
	    letter_ = letter;
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    41
	    arg_ = arg;
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    42
	}
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    43
809
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
    44
	public char getLetter() {
797
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    45
	    return letter_;
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    46
	}
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    47
809
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
    48
	public String getArg() {
797
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    49
	    return arg_;
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    50
	}
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    51
    }
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    52
809
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
    53
    //
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
    54
    // Instance data
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
    55
    //
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
    56
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
    57
    private Class mainClass;
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
    58
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
    59
    //
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
    60
    // Constructors
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
    61
    //
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
    62
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
    63
    public CLI(Class mainClass) {
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
    64
	this.mainClass = mainClass;
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
    65
    }
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
    66
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
    67
    //
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
    68
    // CLI methods
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
    69
    //
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
    70
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
    71
    public void die(int exit, String format, Object... args) {
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
    72
	if (format != null) {
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
    73
	    System.err.printf("%s: ", getProg());
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
    74
	    System.err.printf(format, args);
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
    75
	    System.err.println();
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
    76
	}
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
    77
	System.exit(exit);
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
    78
    }
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
    79
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
    80
    public int getOptions(String[] args, String argspec,
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
    81
	Map<Character, Option> opts) {
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
    82
797
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    83
	Map<Character, Boolean> optspecs = new HashMap<Character, Boolean>();
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    84
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    85
	/* Parse argspec */
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    86
	int length = argspec.length();
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    87
	for (int i = 0; i < length; i++) {
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    88
	    char l = argspec.charAt(i);
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    89
	    boolean hasargs = i + 1 < length && argspec.charAt(i + 1) == ':';
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    90
	    if (hasargs)
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    91
		i++;
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    92
	    optspecs.put(l, hasargs);
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    93
	}
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    94
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    95
	/* Parse args */
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    96
	boolean inopt = false;
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    97
	char pending = '\0';
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    98
	int i;
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
    99
	for (i = 0; i < args.length; i++) {
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
   100
	    if (inopt) {
809
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
   101
		opts.put(pending, new Option(pending, args[i]));
797
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
   102
		inopt = false;
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
   103
		continue;
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
   104
	    }
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
   105
809
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
   106
	    if (args[i].length() == 0 || args[i].charAt(0) != '-')
797
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
   107
		break;
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
   108
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
   109
	    for (int j = 1; j < args[i].length(); j++) {
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
   110
		char l = args[i].charAt(j);
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
   111
		if (!optspecs.containsKey(l)) {
809
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
   112
		    die(2, "invalid option: \"%c\"", l);
797
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
   113
		}
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
   114
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
   115
		if (!optspecs.get(l)) {
809
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
   116
		    opts.put(l, new Option(l, null));
797
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
   117
		    continue;
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
   118
		}
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
   119
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
   120
		if (j + 1 < args[i].length()) {
809
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
   121
		    opts.put(l, new Option(l, args[i].substring(j + 1)));
797
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
   122
		    break;
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
   123
		}
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
   124
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
   125
		inopt = true;
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
   126
		pending = l;
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
   127
	    }
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
   128
	}
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
   129
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
   130
	if (inopt) {
809
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
   131
	    die(2, "option \"%c\" requires an argument", pending);
797
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
   132
	}
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
   133
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
   134
	return i;
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
   135
    }
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
   136
809
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
   137
    private String getProg() {
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
   138
	String prog = System.getProperty("argv0");
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
   139
	if (prog == null) {
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
   140
	    prog = "java " + mainClass.getName();
797
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
   141
	}
809
8a6fba4105d7 7150175 radadrgen should generate rad module man pages
Stephen Talley <stephen.talley@oracle.com>
parents: 797
diff changeset
   142
	return prog;
797
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
   143
    }
a33daeba9b4c CR7123217 - Rename adrgen to radadrgen
devjani.ray@oracle.com <devjani.ray@oracle.com>
parents:
diff changeset
   144
}