xref: /aosp_15_r20/external/shflags/doc/RELEASE_NOTES-1.0.0.txt (revision 63d4e48fb639f6414be0db9d718e3be2667e4fed)
1*63d4e48fSSadaf Ebrahimi------------------------------
2*63d4e48fSSadaf EbrahimishFlags.sh 1.0.0 Release Notes
3*63d4e48fSSadaf Ebrahimi------------------------------
4*63d4e48fSSadaf Ebrahimi
5*63d4e48fSSadaf EbrahimiPreface
6*63d4e48fSSadaf Ebrahimi-------
7*63d4e48fSSadaf EbrahimiCopyright 2008 Kate Ward. All Rights Reserved.
8*63d4e48fSSadaf EbrahimiReleased under the LGPL (GNU Lesser General Public License)
9*63d4e48fSSadaf Ebrahimi
10*63d4e48fSSadaf EbrahimiAuthor: Kate Ward ([email protected])
11*63d4e48fSSadaf Ebrahimi
12*63d4e48fSSadaf EbrahimiThis document covers any known issues and workarounds for the stated release of
13*63d4e48fSSadaf EbrahimishFlags.
14*63d4e48fSSadaf Ebrahimi
15*63d4e48fSSadaf EbrahimiGeneral info
16*63d4e48fSSadaf Ebrahimi------------
17*63d4e48fSSadaf Ebrahimi
18*63d4e48fSSadaf EbrahimiThis is the first official release of shFlags. The project is modeled after the
19*63d4e48fSSadaf Ebrahimigflags code released by Google on http://code.google.com/p/google-gflags/. Many
20*63d4e48fSSadaf Ebrahimithanks for the code they have provided.
21*63d4e48fSSadaf Ebrahimi
22*63d4e48fSSadaf EbrahimiAs this is the first release, there are bound to be issues. Feel free
23*63d4e48fSSadaf Ebrahimi
24*63d4e48fSSadaf EbrahimiDisclamer
25*63d4e48fSSadaf Ebrahimi---------
26*63d4e48fSSadaf Ebrahimi
27*63d4e48fSSadaf EbrahimiThe unit tests
28*63d4e48fSSadaf Ebrahimi--------------
29*63d4e48fSSadaf Ebrahimi
30*63d4e48fSSadaf EbrahimishFlags is designed to work on as many environments as possible, but not all
31*63d4e48fSSadaf Ebrahimienvironments are created equal. As such, not all of the unit tests will succeed
32*63d4e48fSSadaf Ebrahimion every platform. The unit tests are therefore designed to fail, indicating to
33*63d4e48fSSadaf Ebrahimithe tester that the supported functionality is not present, but an additional
34*63d4e48fSSadaf Ebrahimitest is present to verify that shFlags properly caught the limitation and
35*63d4e48fSSadaf Ebrahimipresented the user with an appropriate error message.
36*63d4e48fSSadaf Ebrahimi
37*63d4e48fSSadaf EbrahimishFlags tries to support both the standard and enhanced versions of ``getopt``.
38*63d4e48fSSadaf EbrahimiAs each responds differently, and not everything is supported on the standard
39*63d4e48fSSadaf Ebrahimiversion, some unit tests will be skipped (i.e. ASSERTS will not be thrown) when
40*63d4e48fSSadaf Ebrahimithe standard version of ``getopt`` is detected. The reason being that there is
41*63d4e48fSSadaf Ebrahimino point testing for functionality that is positively known not to exist. A
42*63d4e48fSSadaf Ebrahimitally of skipped tests will be kept for later reference.
43*63d4e48fSSadaf Ebrahimi
44*63d4e48fSSadaf EbrahimiStandard vs Enhanced getopt
45*63d4e48fSSadaf Ebrahimi---------------------------
46*63d4e48fSSadaf Ebrahimi
47*63d4e48fSSadaf EbrahimiHere is a matrix of the supported features of the various getopt variants.
48*63d4e48fSSadaf Ebrahimi
49*63d4e48fSSadaf Ebrahimi+-------------------------+---+---+
50*63d4e48fSSadaf Ebrahimi|Feature                  |std|enh|
51*63d4e48fSSadaf Ebrahimi+=========================+===+===+
52*63d4e48fSSadaf Ebrahimi|short option names       | Y | Y |
53*63d4e48fSSadaf Ebrahimi|long option names        | N | Y |
54*63d4e48fSSadaf Ebrahimi|spaces in string options | N | Y |
55*63d4e48fSSadaf Ebrahimi+-------------------------+---+---+
56*63d4e48fSSadaf Ebrahimi
57*63d4e48fSSadaf EbrahimiKnown Issues
58*63d4e48fSSadaf Ebrahimi------------
59*63d4e48fSSadaf Ebrahimi
60*63d4e48fSSadaf EbrahimiThe getopt version provided by default with all versions of Solaris (up to and
61*63d4e48fSSadaf Ebrahimiincluding Solaris 10) is the standard version. As such, only short flags are
62*63d4e48fSSadaf Ebrahimisupported.
63*63d4e48fSSadaf Ebrahimi
64*63d4e48fSSadaf EbrahimiThe getopt version provided by default with all versions of Mac OS X (up to and
65*63d4e48fSSadaf Ebrahimiincluding 10.5) is the standard version. As such, only short flags are
66*63d4e48fSSadaf Ebrahimisupported.
67*63d4e48fSSadaf Ebrahimi
68*63d4e48fSSadaf EbrahimiWorkarounds
69*63d4e48fSSadaf Ebrahimi-----------
70*63d4e48fSSadaf Ebrahimi
71*63d4e48fSSadaf EbrahimiThe zsh shell requires the 'shwordsplit' option to be set, and the special
72*63d4e48fSSadaf EbrahimiFLAGS_PARENT variable must be defined.
73