diff --git a/doc/jsoncpp.dox b/doc/jsoncpp.dox index fc7b530..abaac6c 100644 --- a/doc/jsoncpp.dox +++ b/doc/jsoncpp.dox @@ -4,7 +4,7 @@ JSON (JavaScript Object Notation) 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. Here is an example of JSON data: @@ -28,8 +28,16 @@ Here is an example of JSON data: \section _features Features - read and write JSON document +- attach C and C++ style comments to element during parsing - 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 Json::Value root; // will contains the root value after parsing. Json::Reader reader; @@ -57,7 +65,7 @@ setIndentUseSpace( root["indent"].get("use_space", true).asBool() ); // ... // At application shutdown to make the new configuration document: // 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["indent"]["length"] = getCurrentIndentLength(); root["indent"]["use_space"] = getCurrentIndentUseSpace(); @@ -75,11 +83,22 @@ std::cout << root; \endcode \section _plinks Build instructions -The build instruction are located in the file +The build instructions are located in the file README.txt in the top-directory of the project. -Permanent link to the lastest revision of the file in subversion: -lastest README.txt +Permanent link to the latest revision of the file in subversion: +latest README.txt + +\section _pdownload Download +The sources can be downloaded from +SourceForge download page. + +The latest version of the source is available in the project's subversion repository: + +http://jsoncpp.svn.sourceforge.net/svnroot/jsoncpp/trunk/ + +To checkout the source, see the following +instructions. \section _plinks Project links - json-cpp home diff --git a/makerelease.py b/makerelease.py index 659c2d9..b760fae 100644 --- a/makerelease.py +++ b/makerelease.py @@ -58,7 +58,7 @@ def check_no_pending_commit(): for entry in etree.getiterator( 'entry' ): path = entry.get('path') 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) ) if msg: 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 True +def svn_commit( message ): + """Commit the sandbox, providing the specified comment. + """ + svn_command( 'ci', '-m', message ) + def svn_tag_sandbox( tag_url, message ): """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() options, args = parser.parse_args() - if len(args) < 1: + if len(args) != 2: parser.error( 'release_version missing on command-line.' ) release_version = args[0] + next_version = args[1] if not options.platforms and not options.no_test: 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: print 'Setting version to', release_version set_version( release_version ) + svn_commit( 'Release ' + release_version ) tag_url = svn_join_url( SVN_TAG_ROOT, release_version ) if svn_check_if_tag_exist( tag_url ): if options.retag_release: @@ -350,8 +357,10 @@ Warning: --force should only be used when developping/testing the release script else: print 'No upload user specified. Web site and download tarbal were not uploaded.' 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: sys.stderr.write( msg + '\n' )