mirror of
https://github.com/open-source-parsers/jsoncpp.git
synced 2024-12-13 02:12:57 +01:00
19fc55f408
Google advises its employees to add Google Inc. as an author, but that hasn't been done yet and would be super inconvenient. So instead I've refactored the file to refer to "The JsonCpp Authors", which are listed in the AUTHORS file. The AUTHORS file itself is generated via: git log --pretty="%an <%ae>%n%cn <%ce>" | sort | uniq Plus the addition of "Google Inc." as a copyright author. (Google owns the work of anyone contributing from an @google.com address, for example.) The list contains some probable duplicates where people have used more than one email address. I didn't deduplicate because -- well, who's to say they're duplicates, anyway? :)
59 lines
1.8 KiB
Python
59 lines
1.8 KiB
Python
# Copyright 2009 The JsonCpp Authors
|
|
# 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
|
|
|
|
import fnmatch
|
|
import os
|
|
|
|
def generate(env):
|
|
def Glob(env, includes = None, excludes = None, dir = '.'):
|
|
"""Adds Glob(includes = Split('*'), excludes = None, dir = '.')
|
|
helper function to environment.
|
|
|
|
Glob both the file-system files.
|
|
|
|
includes: list of file name pattern included in the return list when matched.
|
|
excludes: list of file name pattern exluced from the return list.
|
|
|
|
Example:
|
|
sources = env.Glob(("*.cpp", '*.h'), "~*.cpp", "#src")
|
|
"""
|
|
def filterFilename(path):
|
|
abs_path = os.path.join(dir, path)
|
|
if not os.path.isfile(abs_path):
|
|
return 0
|
|
fn = os.path.basename(path)
|
|
match = 0
|
|
for include in includes:
|
|
if fnmatch.fnmatchcase(fn, include):
|
|
match = 1
|
|
break
|
|
if match == 1 and not excludes is None:
|
|
for exclude in excludes:
|
|
if fnmatch.fnmatchcase(fn, exclude):
|
|
match = 0
|
|
break
|
|
return match
|
|
if includes is None:
|
|
includes = ('*',)
|
|
elif type(includes) in (type(''), type(u'')):
|
|
includes = (includes,)
|
|
if type(excludes) in (type(''), type(u'')):
|
|
excludes = (excludes,)
|
|
dir = env.Dir(dir).abspath
|
|
paths = os.listdir(dir)
|
|
def makeAbsFileNode(path):
|
|
return env.File(os.path.join(dir, path))
|
|
nodes = filter(filterFilename, paths)
|
|
return map(makeAbsFileNode, nodes)
|
|
|
|
from SCons.Script import Environment
|
|
Environment.Glob = Glob
|
|
|
|
def exists(env):
|
|
"""
|
|
Tool always exists.
|
|
"""
|
|
return True
|