Release 0.5.0

This commit is contained in:
Baptiste Lepilleur 2010-03-11 21:09:07 +00:00
commit 66464f2c62
4 changed files with 44 additions and 15 deletions

1
LICENSE Normal file
View File

@ -0,0 +1 @@
The json-cpp library and this documentation are in Public Domain.

View File

@ -4,7 +4,7 @@
<a HREF="http://www.json.org/">JSON (JavaScript Object Notation)</a>
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
<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:
<a HREF="http://svn.sourceforge.net/viewcvs.cgi/jsoncpp/README.txt?view=markup">lastest README.txt</a>
Permanent link to the latest revision of the file in subversion:
<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
- <a HREF="http://jsoncpp.sourceforge.net">json-cpp home</a>

View File

@ -513,7 +513,7 @@ namespace Json {
Args args_;
};
/** \brief Allocator to customize member name and string value memory management done by Value.
/** \brief Experimental do not use: Allocator to customize member name and string value memory management done by Value.
*
* - makeMemberName() and releaseMemberName() are called to respectively duplicate and
* free an Json::objectValue member name.
@ -785,7 +785,7 @@ namespace Json {
PageIndex pageCount_;
};
/** \brief Allocator to customize Value internal array.
/** \brief Experimental: do not use. Allocator to customize Value internal array.
* Below is an example of a simple implementation (actual implementation use
* memory pool).
\code
@ -873,7 +873,7 @@ public: // overridden from ValueArrayAllocator
#endif // #ifdef JSON_VALUE_USE_INTERNAL_MAP
/** \brief Experimental and untested: base class for Value iterators.
/** \brief base class for Value iterators.
*
*/
class ValueIteratorBase
@ -943,7 +943,7 @@ public: // overridden from ValueArrayAllocator
#endif
};
/** \brief Experimental and untested: const iterator for object and array value.
/** \brief const iterator for object and array value.
*
*/
class ValueConstIterator : public ValueIteratorBase
@ -1002,7 +1002,7 @@ public: // overridden from ValueArrayAllocator
};
/** \brief Experimental and untested: iterator for object and array value.
/** \brief Iterator for object and array value.
*/
class ValueIterator : public ValueIteratorBase
{

View File

@ -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:
@ -346,12 +353,14 @@ Warning: --force should only be used when developping/testing the release script
sourceforge_release_tarball( SOURCEFORGE_PROJECT,
[source_tarball_path, doc_tarball_path],
user=options.user, sftp=options.sftp )
print 'Tarball uploaded'
print 'Source and doc release tarballs uploaded'
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' )