https://github.com/deviantony/shflags
Shell Flags (shFlags) is a library written to greatly simplify the handling of command-line flags in Bourne based Unix shell scripts (bash, dash, ksh, sh, zsh) on many Unix OSes (Linux, Solaris, Mac OS X, etc.). Most shell scripts use getopt for flags processing, but the different versions of getopt on various OSes make writing portable shell scripts difficult. shFlags instead provides an API that doesn't change across shell and OS versions so the script writer can be confident that the script will work. shFlags is a port of the google-gflags C++/Python library. This fork is using the shFlags version 1.0.4 updated by Andreas Schuh for the Cmake-basis project: https://github.com/schuhschuh/cmake-basis
https://github.com/deviantony/shflags
Last synced: 7 months ago
JSON representation
Shell Flags (shFlags) is a library written to greatly simplify the handling of command-line flags in Bourne based Unix shell scripts (bash, dash, ksh, sh, zsh) on many Unix OSes (Linux, Solaris, Mac OS X, etc.). Most shell scripts use getopt for flags processing, but the different versions of getopt on various OSes make writing portable shell scripts difficult. shFlags instead provides an API that doesn't change across shell and OS versions so the script writer can be confident that the script will work. shFlags is a port of the google-gflags C++/Python library. This fork is using the shFlags version 1.0.4 updated by Andreas Schuh for the Cmake-basis project: https://github.com/schuhschuh/cmake-basis
- Host: GitHub
- URL: https://github.com/deviantony/shflags
- Owner: deviantony
- Created: 2014-05-05T20:35:21.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2014-05-18T15:29:42.000Z (over 11 years ago)
- Last Synced: 2025-01-08T12:38:25.920Z (9 months ago)
- Language: Shell
- Homepage: http://code.google.com/p/shflags/
- Size: 310 KB
- Stars: 3
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.html
Awesome Lists containing this project
README
shFlags 1.0.x README
/*
:Author: David Goodger
:Contact: goodger@users.sourceforge.net
:Date: $Date$
:Revision: $Revision$
:Copyright: This stylesheet has been placed in the public domain.
:Modified by: Kate Ward <kate.ward@forestent.com>Default cascading style sheet for the HTML output of Docutils.
See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
customize this style sheet.
*//* used to remove borders from tables and images */
.borderless, table.borderless td, table.borderless th {
border: 0 }table.borderless td, table.borderless th {
/* Override padding for "table.docutils td" with "! important".
The right padding separates the table cells. */
padding: 0 0.5em 0 0 ! important }.first {
/* Override more specific margin styles with "! important". */
margin-top: 0 ! important }.last, .with-subtitle {
margin-bottom: 0 ! important }.hidden {
display: none }a.toc-backref {
text-decoration: none ;
color: black }blockquote.epigraph {
margin: 2em 5em ; }dl.docutils dd {
margin-bottom: 0.5em }/* Uncomment (and remove this text!) to get bold-faced definition list terms
dl.docutils dt {
font-weight: bold }
*/div.abstract {
margin: 2em 5em }div.abstract p.topic-title {
font-weight: bold ;
text-align: center }div.admonition, div.attention, div.caution, div.danger, div.error,
div.hint, div.important, div.note, div.tip, div.warning {
margin: 2em ;
border: medium outset ;
padding: 1em }div.admonition p.admonition-title, div.hint p.admonition-title,
div.important p.admonition-title, div.note p.admonition-title,
div.tip p.admonition-title {
font-weight: bold ;
font-family: sans-serif }div.attention p.admonition-title, div.caution p.admonition-title,
div.danger p.admonition-title, div.error p.admonition-title,
div.warning p.admonition-title {
color: red ;
font-weight: bold ;
font-family: sans-serif }/* Uncomment (and remove this text!) to get reduced vertical space in
compound paragraphs.
div.compound .compound-first, div.compound .compound-middle {
margin-bottom: 0.5em }div.compound .compound-last, div.compound .compound-middle {
margin-top: 0.5em }
*/div.dedication {
margin: 2em 5em ;
text-align: center ;
font-style: italic }div.dedication p.topic-title {
font-weight: bold ;
font-style: normal }div.figure {
margin-left: 2em ;
margin-right: 2em }div.footer, div.header {
clear: both;
font-size: smaller }div.line-block {
display: block ;
margin-top: 1em ;
margin-bottom: 1em }div.line-block div.line-block {
margin-top: 0 ;
margin-bottom: 0 ;
margin-left: 1.5em }div.sidebar {
margin-left: 1em ;
border: medium outset ;
padding: 1em ;
background-color: #ffffee ;
width: 40% ;
float: right ;
clear: right }div.sidebar p.rubric {
font-family: sans-serif ;
font-size: medium }div.system-messages {
margin: 5em }div.system-messages h1 {
color: red }div.system-message {
border: medium outset ;
padding: 1em }div.system-message p.system-message-title {
color: red ;
font-weight: bold }div.topic {
margin: 2em }h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
margin-top: 0.4em }h1.title {
text-align: center }h2.subtitle {
text-align: center }hr.docutils {
width: 75% }img.align-left {
clear: left }img.align-right {
clear: right }ol.simple, ul.simple {
margin-bottom: 1em }ol.arabic {
list-style: decimal }ol.loweralpha {
list-style: lower-alpha }ol.upperalpha {
list-style: upper-alpha }ol.lowerroman {
list-style: lower-roman }ol.upperroman {
list-style: upper-roman }p.attribution {
text-align: right ;
margin-left: 50% }p.caption {
font-style: italic }p.credits {
font-style: italic ;
font-size: smaller }p.label {
white-space: nowrap }p.rubric {
font-weight: bold ;
font-size: larger ;
color: maroon ;
text-align: center }p.sidebar-title {
font-family: sans-serif ;
font-weight: bold ;
font-size: larger }p.sidebar-subtitle {
font-family: sans-serif ;
font-weight: bold }p.topic-title {
font-weight: bold }pre.address {
margin-bottom: 0 ;
margin-top: 0 ;
font-family: serif ;
font-size: 100% }pre.literal-block, pre.doctest-block {
margin-left: 2em ;
margin-right: 2em ;
background-color: #eeeeee }span.classifier {
font-family: sans-serif ;
font-style: oblique }span.classifier-delimiter {
font-family: sans-serif ;
font-weight: bold }span.interpreted {
font-family: sans-serif }span.option {
white-space: nowrap }span.pre {
white-space: pre }span.problematic {
color: red }span.section-subtitle {
/* font-size relative to parent (h1..h6 element) */
font-size: 80% }table.citation {
border-left: solid 1px gray;
margin-left: 1px }table.docinfo {
margin: 2em 4em }/*
table.docutils {
margin-top: 0.5em ;
margin-bottom: 0.5em }
*/table.footnote {
border-left: solid 1px black;
margin-left: 1px ;
font-size: 80% }
}table.docutils td, table.docutils th,
table.docinfo td, table.docinfo th {
padding-left: 0.5em ;
padding-right: 0.5em ;
vertical-align: top }table.docutils th.field-name, table.docinfo th.docinfo-name {
font-weight: bold ;
text-align: left ;
white-space: nowrap ;
padding-left: 0 }h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
font-size: 100% }/*
tt.docutils {
background-color: #eeeeee }
*/ul.auto-toc {
list-style-type: none }/* customizations by kward */
h1 { font-size: 133%; border-top:1px solid #CCCCFF; }
h1.title { font-size: 150%; border-top:0px; padding-top: 1em; }
/* div.document { font-size: 90% } */shFlags 1.0.x README
code.google.com
This project is stored on code.google.com as http://code.google.com/p/shflags/.
Documentation is available there, as are all releases and source code. The
source code is stored in Subversion and can be accessed using the following
information.Browse the code in a web browser:
- http://code.google.com/p/shflags/source/browse
- svn > trunk > source > 1.0
Check out the code locally
$ svn checkout http://shflags.googlecode.com/svn/trunk/ shflags-read-onlyDocumentation is available on the web at
http://code.google.com/p/shflags/wiki/Documentation10x.Making a release
For these steps, it is assumed we are working with release 1.0.0.
Steps:
- write release notes
- update version
- finish changelog
- check all the code in
- tag the release
- export the release
- create tarball
- md5sum the tarball and sign with gpg
- update website
- post to code.google.com and Freshmeat
Write Release Notes
This should be pretty self explainatory. Use one of the release notes from a
previous release as an example.Update Version
Edit src/shflags and change the version number in the FLAGS_VERSION
variable.Finish Documentation
Make sure that any remaning changes get put into the CHANGES-X.X.txt file.
Finish writing the RELEASE_NOTES-X.X.X.txt. Once it is finished, run it
through the fmt command to make it pretty. (This assumes the lines weren't
already wrapped at 80 chars when the file was edited.)
$ fmt -w 80 RELEASE_NOTES-2.0.0.txt >RELEASE_NOTES-2.0.0.txt.new
$ mv RELEASE_NOTES-2.0.0.txt.new RELEASE_NOTES-2.0.0.txtWe want to have an up-to-date version of the documentation in the release, so
we'd better build it.
$ pwd
.../shflags/source/1.0
$ rst2html --stylesheet-path=doc/rst2html.css README.txt >README.htmlCheck In All the Code
This step is pretty self-explainatory
$ pwd
.../shflags/source/1.0
$ svn ci -m "finalizing 1.0.0 release"Tag the Release
$ cd ..
$ pwd
.../shflags/source
$ ls
1.0
$ svn cp -m "Release 1.0.0" 1.0 https://shflags.googlecode.com/svn/tags/1.0.0Export the Release
$ cd ../builds
$ pwd
.../shflags/builds
$ svn export https://shflags.googlecode.com/svn/tags/1.0.0 shflags-1.0.0Create the tarball
$ tar cfz ../releases/shflags-1.0.0.tgz shflags-1.0.0Sign the tarball with gpg
$ cd ../releases
$ gpg --default-key kate.ward@forestent.com --detach-sign shflags-1.0.0.tgzPost the release
To post the release, the ProjectInfo page needs to be updated with the release
info (release, date, and MD5), and the release with GPG signature needs to
uploaded.
Appendix
Miscellaneous
This document is written using the Restructured Text format to make it easily
parsable into an HTML file.