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