forked from open-source-parsers/jsoncpp
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
JsonCpp is now licensed under MIT license, or public domain if desire…
…d and recognized in your jurisdiction.
- Loading branch information
Showing
26 changed files
with
396 additions
and
132 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,57 @@ | ||
The json-cpp library and this documentation are in Public Domain. | ||
This is the LICENSE file for JsonCpp, a C++ library implementing a | ||
JSON format reader and writer. | ||
|
||
Author: Baptiste Lepilleur | ||
|
||
The license for this library's code is as follows: | ||
|
||
- If the code is used in a jurisdiction where Public Domain | ||
property is regonized, then this code may be considered to be | ||
in the Public Domain. Its author expressly disclaims copyright | ||
in jurisdictions where such a disclaimer is allowed. | ||
|
||
- If the code is used in a jurisdiction which does not recognize | ||
Public Domain, the code must be used in terms with the MIT license, | ||
as described clearly and concisely at: | ||
|
||
http://en.wikipedia.org/wiki/MIT_License | ||
|
||
and reproduced in full below. | ||
|
||
- If the code is used in a jurisdiction which recognizes Public | ||
Domain, the user may instead use the code under the terms of the | ||
MIT license. | ||
|
||
The MIT licensing terms follow: | ||
|
||
======================================================================== | ||
Copyright (c) 2007-2010 Baptiste Lepilleur | ||
|
||
Permission is hereby granted, free of charge, to any person | ||
obtaining a copy of this software and associated documentation | ||
files (the "Software"), to deal in the Software without | ||
restriction, including without limitation the rights to use, copy, | ||
modify, merge, publish, distribute, sublicense, and/or sell copies | ||
of the Software, and to permit persons to whom the Software is | ||
furnished to do so, subject to the following conditions: | ||
|
||
The above copyright notice and this permission notice shall be | ||
included in all copies or substantial portions of the Software. | ||
|
||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS | ||
BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN | ||
ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
SOFTWARE. | ||
======================================================================== | ||
(END LICENSE TEXT) | ||
|
||
The MIT license is compatible with both the GPL and commercial | ||
software, affording one all of the rights of Public Domain with the | ||
minor nuisance of being required to keep the above copyright notice | ||
and license text in the source code. Note also that by accepting the | ||
Public Domain "license" you can re-license your copy using whatever | ||
license you like. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,93 @@ | ||
"""Updates the license text in source file. | ||
""" | ||
|
||
# An existing license is found if the file starts with the string below, | ||
# and ends with the first blank line. | ||
LICENSE_BEGIN = "// Copyright " | ||
|
||
BRIEF_LICENSE = LICENSE_BEGIN + """2007-2010 Baptiste Lepilleur | ||
// Distributed under MIT license, or public domain if desired and | ||
// recognized in your jurisdiction. | ||
// See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE | ||
""".replace('\r\n','\n') | ||
|
||
def update_license( path, dry_run, show_diff ): | ||
"""Update the license statement in the specified file. | ||
Parameters: | ||
path: path of the C++ source file to update. | ||
dry_run: if True, just print the path of the file that would be updated, | ||
but don't change it. | ||
show_diff: if True, print the path of the file that would be modified, | ||
as well as the change made to the file. | ||
""" | ||
with open( path, 'rt' ) as fin: | ||
original_text = fin.read().replace('\r\n','\n') | ||
newline = fin.newlines and fin.newlines[0] or '\n' | ||
if not original_text.startswith( LICENSE_BEGIN ): | ||
# No existing license found => prepend it | ||
new_text = BRIEF_LICENSE + original_text | ||
else: | ||
license_end_index = original_text.index( '\n\n' ) # search first blank line | ||
new_text = BRIEF_LICENSE + original_text[license_end_index+2:] | ||
if original_text != new_text: | ||
if not dry_run: | ||
with open( path, 'wb' ) as fout: | ||
fout.write( new_text.replace('\n', newline ) ) | ||
print 'Updated', path | ||
if show_diff: | ||
import difflib | ||
print '\n'.join( difflib.unified_diff( original_text.split('\n'), | ||
new_text.split('\n') ) ) | ||
return True | ||
return False | ||
|
||
def update_license_in_source_directories( source_dirs, dry_run, show_diff ): | ||
"""Updates license text in C++ source files found in directory source_dirs. | ||
Parameters: | ||
source_dirs: list of directory to scan for C++ sources. Directories are | ||
scanned recursively. | ||
dry_run: if True, just print the path of the file that would be updated, | ||
but don't change it. | ||
show_diff: if True, print the path of the file that would be modified, | ||
as well as the change made to the file. | ||
""" | ||
from devtools import antglob | ||
prune_dirs = antglob.prune_dirs + 'scons-local* ./build* ./libs ./dist' | ||
for source_dir in source_dirs: | ||
cpp_sources = antglob.glob( source_dir, | ||
includes = '''**/*.h **/*.cpp **/*.inl''', | ||
prune_dirs = prune_dirs ) | ||
for source in cpp_sources: | ||
update_license( source, dry_run, show_diff ) | ||
|
||
def main(): | ||
usage = """%prog DIR [DIR2...] | ||
Updates license text in sources of the project in source files found | ||
in the directory specified on the command-line. | ||
Example of call: | ||
python devtools\licenseupdater.py include src -n --diff | ||
=> Show change that would be made to the sources. | ||
python devtools\licenseupdater.py include src | ||
=> Update license statement on all sources in directories include/ and src/. | ||
""" | ||
from optparse import OptionParser | ||
parser = OptionParser(usage=usage) | ||
parser.allow_interspersed_args = False | ||
parser.add_option('-n', '--dry-run', dest="dry_run", action='store_true', default=False, | ||
help="""Only show what files are updated, do not update the files""") | ||
parser.add_option('--diff', dest="show_diff", action='store_true', default=False, | ||
help="""On update, show change made to the file.""") | ||
parser.enable_interspersed_args() | ||
options, args = parser.parse_args() | ||
update_license_in_source_directories( args, options.dry_run, options.show_diff ) | ||
print 'Done' | ||
|
||
if __name__ == '__main__': | ||
import sys | ||
import os.path | ||
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) | ||
main() | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -117,7 +117,10 @@ Permanent link to the latest revision of the file in subversion: | |
- <a HREF="http://www.cl.cam.ac.uk/~mgk25/unicode.html">UTF-8 and Unicode FAQ</a>. | ||
|
||
\section _license License | ||
The json-cpp library and this documentation are in Public Domain. | ||
See file <a HREF="LICENSE">LICENSE</a> in the top-directory of the project. | ||
|
||
Basically JsonCpp is licensed under MIT license, or public domain if desired | ||
and recognized in your jurisdiction. | ||
|
||
\author Baptiste Lepilleur <[email protected]> | ||
*/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,42 +1,47 @@ | ||
#ifndef CPPTL_JSON_FEATURES_H_INCLUDED | ||
# define CPPTL_JSON_FEATURES_H_INCLUDED | ||
|
||
# include "forwards.h" | ||
|
||
namespace Json { | ||
|
||
/** \brief Configuration passed to reader and writer. | ||
* This configuration object can be used to force the Reader or Writer | ||
* to behave in a standard conforming way. | ||
*/ | ||
class JSON_API Features | ||
{ | ||
public: | ||
/** \brief A configuration that allows all features and assumes all strings are UTF-8. | ||
* - C & C++ comments are allowed | ||
* - Root object can be any JSON value | ||
* - Assumes Value strings are encoded in UTF-8 | ||
*/ | ||
static Features all(); | ||
|
||
/** \brief A configuration that is strictly compatible with the JSON specification. | ||
* - Comments are forbidden. | ||
* - Root object must be either an array or an object value. | ||
* - Assumes Value strings are encoded in UTF-8 | ||
*/ | ||
static Features strictMode(); | ||
|
||
/** \brief Initialize the configuration like JsonConfig::allFeatures; | ||
*/ | ||
Features(); | ||
|
||
/// \c true if comments are allowed. Default: \c true. | ||
bool allowComments_; | ||
|
||
/// \c true if root must be either an array or an object value. Default: \c false. | ||
bool strictRoot_; | ||
}; | ||
|
||
} // namespace Json | ||
|
||
#endif // CPPTL_JSON_FEATURES_H_INCLUDED | ||
// Copyright 2007-2010 Baptiste Lepilleur | ||
// Distributed under MIT license, or public domain if desired and | ||
// recognized in your jurisdiction. | ||
// See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE | ||
|
||
#ifndef CPPTL_JSON_FEATURES_H_INCLUDED | ||
# define CPPTL_JSON_FEATURES_H_INCLUDED | ||
|
||
# include "forwards.h" | ||
|
||
namespace Json { | ||
|
||
/** \brief Configuration passed to reader and writer. | ||
* This configuration object can be used to force the Reader or Writer | ||
* to behave in a standard conforming way. | ||
*/ | ||
class JSON_API Features | ||
{ | ||
public: | ||
/** \brief A configuration that allows all features and assumes all strings are UTF-8. | ||
* - C & C++ comments are allowed | ||
* - Root object can be any JSON value | ||
* - Assumes Value strings are encoded in UTF-8 | ||
*/ | ||
static Features all(); | ||
|
||
/** \brief A configuration that is strictly compatible with the JSON specification. | ||
* - Comments are forbidden. | ||
* - Root object must be either an array or an object value. | ||
* - Assumes Value strings are encoded in UTF-8 | ||
*/ | ||
static Features strictMode(); | ||
|
||
/** \brief Initialize the configuration like JsonConfig::allFeatures; | ||
*/ | ||
Features(); | ||
|
||
/// \c true if comments are allowed. Default: \c true. | ||
bool allowComments_; | ||
|
||
/// \c true if root must be either an array or an object value. Default: \c false. | ||
bool strictRoot_; | ||
}; | ||
|
||
} // namespace Json | ||
|
||
#endif // CPPTL_JSON_FEATURES_H_INCLUDED |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.