Network programming assignment for University
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

252 lines
9.7 KiB

  1. Apache Commons CLI
  2. Version 1.4
  3. Release Notes
  4. INTRODUCTION:
  5. This document contains the release notes for this version of the Commons CLI
  6. package. Commons CLI provides a simple API for working with the command line
  7. arguments and options.
  8. Commons CLI 1.4 is a feature release and binary compatible with the
  9. previous versions, except for the OptionValidator class that is no longer public
  10. (change introduced in v1.2). Commons CLI 1.4 at least requires Java 5.0.
  11. More information can be found on the project site at
  12. http://commons.apache.org/cli.
  13. NEW FEATURES
  14. ============
  15. o CLI-269: Introduce CommandLine.Builder
  16. o CLI-267: Add an addRequiredOption method to Options.
  17. Thanks to Ricardo Ribeiro.
  18. BUG FIXES
  19. =========
  20. o CLI-265: Optional argument picking up next regular option as its argument.
  21. Thanks to Martin Sandiford.
  22. o CLI-266: HelpFormatter.setOptionComparator(null) doesn't display the values
  23. in inserted order. Thanks to Ravi Teja.
  24. Release Notes for version 1.3.1
  25. BUG FIXES
  26. =========
  27. o CLI-252: LongOpt falsely detected as ambiguous. Thanks to Simon Harrer.
  28. Release Notes for version 1.3
  29. NOTES
  30. =====
  31. A new parser is available: DefaultParser. It combines the features of the
  32. GnuParser and the PosixParser. It also provides additional features like
  33. partial matching for the long options, and long options without
  34. separator (i.e like the JVM memory settings: -Xmx512m). This new parser
  35. deprecates the previous ones.
  36. DEPRECATIONS
  37. ============
  38. o org.apache.commons.cli.BasicParser
  39. replaced by org.apache.commons.cli.DefaultParser
  40. o org.apache.commons.cli.GnuParser
  41. replaced by org.apache.commons.cli.DefaultParser
  42. o org.apache.commons.cli.OptionBuilder
  43. replaced by org.apache.commons.cli.Option.builder()
  44. org.apache.commons.cli.Option.builder(String)
  45. org.apache.commons.cli.Option.Builder
  46. o org.apache.commons.cli.Parser
  47. replaced by org.apache.commons.cli.DefaultParser
  48. o org.apache.commons.cli.PosixParser
  49. replaced by org.apache.commons.cli.DefaultParser
  50. NEW FEATURES
  51. ============
  52. o CLI-161: PosixParser doesn't stop the parsing on "--" tokens following an
  53. option with an argument
  54. o CLI-167: Support options like Java memory settings (-Xmx512M)
  55. o CLI-181: Unified Parser
  56. o CLI-224: Added new fluent API to create Option instances via builder class
  57. Option.Builder. This replaces the now deprecated OptionBuilder.
  58. Thanks to Duncan Jones, Brian Blount.
  59. o CLI-160: PosixParser now supports partial long options (--ver instead of
  60. --version).
  61. o CLI-169: HelpFormatter now supports setting the displayed separator of long
  62. options. Thanks to J. Lewis Muir.
  63. o CLI-214: Added new method Options.addOption(String, String). Thanks to
  64. Alexandru Mocanu.
  65. BUG FIXES
  66. =========
  67. o CLI-248: Dead links on doc page.
  68. o CLI-234: Fixed code example in javadoc of
  69. "Option#Builder#valueSeparator(char)". Thanks to Greg Thomas.
  70. o CLI-241: Clarified behavior of "OptionValidator#validateOption(String)"
  71. in case of null input. Thanks to Beluga Behr.
  72. o CLI-202: Default options will now work correctly with required options that
  73. are missing.
  74. o CLI-203: Default options will now work correctly together with option groups.
  75. o CLI-205: HelpFormatter.setArgName(String) now correctly sets the argument
  76. name.
  77. o CLI-204: Passing default values for not defined options to a parser will now
  78. trigger a ParseException instead of a NullPointerException.
  79. o CLI-201: Default properties provided as input to the Parser.parse() methods
  80. are now correctly processed.
  81. o CLI-215: CommandLine.getParsedOptionValue() now returns a String object if no
  82. option type has been explicitly set. Thanks to Manuel Müller.
  83. o CLI-212: HelpFormatter now prints command-line options in the same order as
  84. they have been added. Thanks to Per Cederberg.
  85. o CLI-186: Standard help text now shows mandatory arguments also for the first
  86. option. Thanks to Kristoff Kiefer.
  87. o CLI-207: HelpFormatter does not strip anymore leading whitespace in the
  88. footer text. Thanks to Uri Moszkowicz.
  89. o CLI-185: Strip quotes contained in argument values only if there is exactly
  90. one at the beginning and one at the end. Thanks to
  91. Einar M. R. Rosenvinge.
  92. o CLI-184: Negative numerical arguments take precedence over numerical options.
  93. o CLI-193: Fix possible StringIndexOutOfBoundsException in HelpFormatter.
  94. Thanks to Travis McLeskey.
  95. o CLI-183: OptionGroups no longer throw an AlreadySelectedException when reused
  96. for several parsings.
  97. o CLI-182: OptionGroup now selects properly an option with no short name.
  98. CHANGES
  99. =======
  100. o CLI-240: Small cleanup of Option class. Thanks to Beluga Behr.
  101. o CLI-230: Options.getRequiredOptions() now returns an unmodifiable list.
  102. o CLI-218: Clarify javadoc for CommandLine.getOptionValue() that the first
  103. specified argument will be returned. Thanks to Sven.
  104. o CLI-227: Changed unit tests to junit 4 annotation style. Thanks to
  105. Duncan Jones.
  106. o CLI-209: The javadoc of OptionBuilder now states that the class is not
  107. thread-safe. Thanks to Thomas Herre.
  108. o CLI-200: Fixed typo in javadoc of class CommandLine. Thanks to
  109. Gerard Weatherby.
  110. o CLI-223: Source code now uses generic types instead of raw types where
  111. possible. Thanks to Gerard Weatherby.
  112. o CLI-220 Corrected javadoc for return type of
  113. MissingOptionException.getMissingOptions(). Thanks to Joe Casadonte.
  114. o CLI-197: Improve description of parameter "stopAtNonOption" in method
  115. CommandLine.parse(Options, String[], boolean). Thanks to
  116. Anders Larsson.
  117. o CLI-231: Removed DoubleCheckedLocking test from checkstyle configuration.
  118. Thanks to Duncan Jones.
  119. Release Notes for version 1.2
  120. NEW FEATURES
  121. ============
  122. o -- : The method getOptionProperties() in the CommandLine class was added
  123. to retrieve easily the key/value pairs specified with options like
  124. -Dkey1=value1 -Dkey2=value2.
  125. o CLI-157: GnuParser now supports long options with an '=' sign
  126. (ie. --foo=bar and -foo=bar)
  127. o CLI-155: The ordering of options can be defined in help messages.
  128. BUG FIXES
  129. =========
  130. o CLI-137: The number of arguments defined for an option specifies the
  131. arguments per occurence of the option and not for all occurences.
  132. o CLI-164: PosixParser no longer ignores unrecognized short options.
  133. o CLI-163: PosixParser no longer stops the bursting process of a token if
  134. stopAtNonOption is enabled and a non option character is
  135. encountered.
  136. o CLI-165: PosixParser no longer keeps processing the tokens after an
  137. unrecognized long option when stopAtNonOption is enabled.
  138. o CLI-156: Required options are properly checked if an Options instance is used
  139. twice to parse a command line.
  140. o CLI-151: The line wrapping in HelpFormatter now works properly.
  141. CHANGES
  142. =======
  143. o CLI-149: The message of MissingOptionException has been improved.
  144. o CLI-86: The exceptions have been enhanced with methods to retrieve easily
  145. the related options.
  146. o CLI-141: Option.toString() now reports arguments properly.
  147. o CLI-142: The Parser class has been changed to be more easily extendable.
  148. o CLI-140: The following classes are now serializable: Option, OptionGroup,
  149. CommandLine and Options.
  150. o -- : OptionValidator is no longer public, its methods were all private.
  151. Release Notes for version 1.1
  152. NEW FEATURES
  153. ============
  154. o CLI-78: Setting description of a Option.
  155. CHANGES
  156. =======
  157. o CLI-2: Wrong usage summary.
  158. o CLI-5: Dependecy on commons-lang-2.0 but commons-lang-1.0 is obtained.
  159. o CLI-8: Line separator as first char for helpformatter (footer) throws
  160. exception.
  161. o CLI-13: CommandLine.getOptionValue() behaves contrary to docs.
  162. o CLI-21: clone method in Option should use super.clone().
  163. o CLI-23: Passing properties in Parser does not work for options with a single
  164. argument.
  165. o CLI-26: Only long options without short option seems to be noticed.
  166. o CLI-28: Infinite Loop in Command-Line processing.
  167. o CLI-29: Options should not be able to be added more than once.
  168. o CLI-35: HelpFormatter doesn't sort options properly.
  169. o CLI-38: HelpFormatter doesn't function correctly for options with only
  170. LongOpt.
  171. o CLI-44: Document enhancement.
  172. o CLI-45: Documentation errors.
  173. o CLI-51: Parameter value "-something" misinterpreted as a parameter.
  174. o CLI-56: clone() method doesn't fully clone contents.
  175. o CLI-59: No Javadoc for HelpFormatter!.
  176. o CLI-65: Parser breaks up command line parms into single characters.
  177. o CLI-67: Missing arguments in HelpFormatter.renderOptions(..).
  178. o CLI-69: Error parsing option arguments.
  179. o CLI-71: A weakness of parser.
  180. o CLI-129: CLI_1_BRANCH build.xml doesn't work.
  181. o CLI-130: Remove the Commons Lang dependency.
  182. o CLI-131: Options class returns options in random order.
  183. o CLI-132: MissingOptionException should contain a useful error message.
  184. o CLI-133: NullPointerException in Util.stripLeadingHyphens when passed a null
  185. argument.
  186. o CLI-134: 1.1 is not backwards compatible because it adds methods to the
  187. CommandLineParser interface.
  188. o CLI-135: Backwards compatibility between 1.1 and 1.0 broken due to
  189. Option.addValue removal.
  190. Historical list of changes: http://commons.apache.org/cli/changes-report.html
  191. For complete information on Commons CLI, including instructions on how to
  192. submit bug reports, patches, or suggestions for improvement, see the
  193. Apache Commons CLI website:
  194. http://commons.apache.org/cli/
  195. Have fun!
  196. -Apache Commons CLI team