- fixed typos and added "download" section to documentation

- commit version numbers after release
This commit is contained in:
Baptiste Lepilleur 2010-03-11 21:02:26 +00:00
parent 0c5fff142d
commit e6a77410f4
2 changed files with 37 additions and 9 deletions

View File

@ -4,7 +4,7 @@
<a HREF="http://www.json.org/">JSON (JavaScript Object Notation)</a> <a HREF="http://www.json.org/">JSON (JavaScript Object Notation)</a>
is a lightweight data-interchange format. is a lightweight data-interchange format.
It can represents integer, real number, string, an ordered sequence of value, and It can represent integer, real number, string, an ordered sequence of value, and
a collection of name/value pairs. a collection of name/value pairs.
Here is an example of JSON data: Here is an example of JSON data:
@ -28,8 +28,16 @@ Here is an example of JSON data:
\section _features Features \section _features Features
- read and write JSON document - read and write JSON document
- attach C and C++ style comments to element during parsing
- rewrite JSON document preserving original comments - rewrite JSON document preserving original comments
Notes: Comments used to be supported in JSON but where removed for
portability (C like comments are not supported in Python). Since
comments are useful in configuration/input file, this feature was
preserved.
\section _example Code example
\code \code
Json::Value root; // will contains the root value after parsing. Json::Value root; // will contains the root value after parsing.
Json::Reader reader; Json::Reader reader;
@ -57,7 +65,7 @@ setIndentUseSpace( root["indent"].get("use_space", true).asBool() );
// ... // ...
// At application shutdown to make the new configuration document: // At application shutdown to make the new configuration document:
// Since Json::Value has implicit constructor for all value types, it is not // Since Json::Value has implicit constructor for all value types, it is not
// necessary to explicitely construct the Json::Value object: // necessary to explicitly construct the Json::Value object:
root["encoding"] = getCurrentEncoding(); root["encoding"] = getCurrentEncoding();
root["indent"]["length"] = getCurrentIndentLength(); root["indent"]["length"] = getCurrentIndentLength();
root["indent"]["use_space"] = getCurrentIndentUseSpace(); root["indent"]["use_space"] = getCurrentIndentUseSpace();
@ -75,11 +83,22 @@ std::cout << root;
\endcode \endcode
\section _plinks Build instructions \section _plinks Build instructions
The build instruction are located in the file The build instructions are located in the file
<a HREF="README.txt">README.txt</a> in the top-directory of the project. <a HREF="README.txt">README.txt</a> in the top-directory of the project.
Permanent link to the lastest revision of the file in subversion: Permanent link to the latest revision of the file in subversion:
<a HREF="http://svn.sourceforge.net/viewcvs.cgi/jsoncpp/README.txt?view=markup">lastest README.txt</a> <a HREF="http://svn.sourceforge.net/viewcvs.cgi/jsoncpp/README.txt?view=markup">latest README.txt</a>
\section _pdownload Download
The sources can be downloaded from
<a HREF="http://sourceforge.net/projects/jsoncpp/files/">SourceForge download page</a>.
The latest version of the source is available in the project's subversion repository:
<a HREF="http://jsoncpp.svn.sourceforge.net/svnroot/jsoncpp/trunk/">
http://jsoncpp.svn.sourceforge.net/svnroot/jsoncpp/trunk/</a>
To checkout the source, see the following
<a HREF="http://sourceforge.net/scm/?type=svn&group_id=144446">instructions</a>.
\section _plinks Project links \section _plinks Project links
- <a HREF="http://jsoncpp.sourceforge.net">json-cpp home</a> - <a HREF="http://jsoncpp.sourceforge.net">json-cpp home</a>

View File

@ -58,7 +58,7 @@ def check_no_pending_commit():
for entry in etree.getiterator( 'entry' ): for entry in etree.getiterator( 'entry' ):
path = entry.get('path') path = entry.get('path')
status = entry.find('wc-status').get('item') status = entry.find('wc-status').get('item')
if status != 'unversioned': if status != 'unversioned' and path != 'version':
msg.append( 'File "%s" has pending change (status="%s")' % (path, status) ) msg.append( 'File "%s" has pending change (status="%s")' % (path, status) )
if msg: if msg:
msg.insert(0, 'Pending change to commit found in sandbox. Commit them first!' ) msg.insert(0, 'Pending change to commit found in sandbox. Commit them first!' )
@ -84,6 +84,11 @@ def svn_check_if_tag_exist( tag_url ):
return False return False
return True return True
def svn_commit( message ):
"""Commit the sandbox, providing the specified comment.
"""
svn_command( 'ci', '-m', message )
def svn_tag_sandbox( tag_url, message ): def svn_tag_sandbox( tag_url, message ):
"""Makes a tag based on the sandbox revisions. """Makes a tag based on the sandbox revisions.
""" """
@ -272,9 +277,10 @@ Warning: --force should only be used when developping/testing the release script
parser.enable_interspersed_args() parser.enable_interspersed_args()
options, args = parser.parse_args() options, args = parser.parse_args()
if len(args) < 1: if len(args) != 2:
parser.error( 'release_version missing on command-line.' ) parser.error( 'release_version missing on command-line.' )
release_version = args[0] release_version = args[0]
next_version = args[1]
if not options.platforms and not options.no_test: if not options.platforms and not options.no_test:
parser.error( 'You must specify either --platform or --no-test option.' ) parser.error( 'You must specify either --platform or --no-test option.' )
@ -286,6 +292,7 @@ Warning: --force should only be used when developping/testing the release script
if not msg: if not msg:
print 'Setting version to', release_version print 'Setting version to', release_version
set_version( release_version ) set_version( release_version )
svn_commit( 'Release ' + release_version )
tag_url = svn_join_url( SVN_TAG_ROOT, release_version ) tag_url = svn_join_url( SVN_TAG_ROOT, release_version )
if svn_check_if_tag_exist( tag_url ): if svn_check_if_tag_exist( tag_url ):
if options.retag_release: if options.retag_release:
@ -350,8 +357,10 @@ Warning: --force should only be used when developping/testing the release script
else: else:
print 'No upload user specified. Web site and download tarbal were not uploaded.' print 'No upload user specified. Web site and download tarbal were not uploaded.'
print 'Tarball can be found at:', doc_tarball_path print 'Tarball can be found at:', doc_tarball_path
#@todo:
#upload source & doc tarballs # Set next version number and commit
set_version( next_version )
svn_commit( 'Released ' + release_version )
else: else:
sys.stderr.write( msg + '\n' ) sys.stderr.write( msg + '\n' )