diff options
-rw-r--r-- | MANIFEST.in | 4 | ||||
-rw-r--r-- | anteater/src/patch_scan.py | 6 | ||||
-rw-r--r-- | anteater/src/project_scan.py | 6 | ||||
-rw-r--r-- | exceptions/octopus.yaml | 3 | ||||
-rw-r--r-- | requirements.txt | 2 | ||||
-rwxr-xr-x | setup.py | 4 | ||||
-rw-r--r-- | tasks.py | 53 |
7 files changed, 52 insertions, 26 deletions
diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 0000000..e043fed --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1,4 @@ +include LICENSE README.md +include anteater.conf +include master_list.yaml +exclude exceptions/* diff --git a/anteater/src/patch_scan.py b/anteater/src/patch_scan.py index 0a32f3e..1deb68f 100644 --- a/anteater/src/patch_scan.py +++ b/anteater/src/patch_scan.py @@ -147,9 +147,9 @@ def licence_check(project, licence_ext, # Note: Hardcoded use of 'copyright' & 'spdx' is the result # of a decision made at 2017 plugfest to limit searches to # just these two strings. - if re.search("copyright", content, re.IGNORECASE): - logger.info('Contains needed Licence string: %s', patch_file) - elif re.search("spdx", content, re.IGNORECASE): + patterns = ['copyright', 'spdx', + 'http://creativecommons.org/licenses/by/4.0'] + if any(i in content.lower() for i in patterns): logger.info('Contains needed Licence string: %s', patch_file) else: logger.error('Licence header missing in file: %s', patch_file) diff --git a/anteater/src/project_scan.py b/anteater/src/project_scan.py index f33ccca..5ac8b10 100644 --- a/anteater/src/project_scan.py +++ b/anteater/src/project_scan.py @@ -159,9 +159,9 @@ def licence_check(licence_ext, licence_ignore, project, project_dir): # Note: Hardcoded use of 'copyright' & 'spdx' is the result # of a decision made at 2017 plugfest to limit searches to # just these two strings. - if re.search("copyright", content, re.IGNORECASE): - logger.info('Licence string present: %s', full_path) - elif re.search("spdx", content, re.IGNORECASE): + patterns = ['copyright', 'spdx', + 'http://creativecommons.org/licenses/by/4.0'] + if any(i in content.lower() for i in patterns): logger.info('Licence string present: %s', full_path) else: logger.error('Licence header missing: %s', full_path) diff --git a/exceptions/octopus.yaml b/exceptions/octopus.yaml index dde146d..66dd0bb 100644 --- a/exceptions/octopus.yaml +++ b/exceptions/octopus.yaml @@ -6,7 +6,8 @@ # of escaping YAML delimiters too (such as `:`) using double quotes "". binaries: - binary_ignore: [nullvalue] + dynamic-flow.png: + - d0d7dfc73e0fac09d920ebbdf8cd4e0ef623f15d6246ff20d7a6d12c9a48bf41 file_audits: file_names: [nullvalue] file_contents: diff --git a/requirements.txt b/requirements.txt index 7a52654..201b07f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,8 +2,10 @@ appdirs==1.4.3 binaryornot==0.4.3 chardet==3.0.2 docopt==0.6.2 +invoke==0.18.0 packaging==16.8 pyaml==16.12.2 pyparsing==2.2.0 PyYAML==3.12 six==1.10.0 +twine==1.9.1 @@ -7,6 +7,9 @@ from setuptools import setup, find_packages REQUIRES = [ 'docopt', + 'six', + 'binaryornot', + 'PyYAML', ] @@ -71,7 +74,6 @@ setup( 'Programming Language :: Python :: Implementation :: PyPy' ], packages=find_packages(), - py_modules=["anteater"], entry_points={ 'console_scripts': [ "anteater = anteater.main:main" @@ -11,47 +11,64 @@ build_dir = os.path.join(docs_dir, '_build') @task -def test(): +def test(ctx): run('python setup.py test', pty=True) @task -def clean(): - run("rm -rf build") - run("rm -rf dist") - run("rm -rf anteater.egg-info") - clean_docs() +def clean(ctx): + ctx.run("rm -rf build") + ctx.run("rm -rf dist") + ctx.run("rm -rf anteater.egg-info") + clean_docs(ctx) print("Cleaned up.") @task -def clean_docs(): - run("rm -rf %s" % build_dir) +def clean_docs(ctx): + ctx.run("rm -rf %s" % build_dir) @task -def browse_docs(): - run("open %s" % os.path.join(build_dir, 'index.html')) +def browse_docs(ctx): + ctx.run("open %s" % os.path.join(build_dir, 'index.html')) @task -def build_docs(clean=False, browse=False): +def build_docs(ctx, clean=False, browse=False): if clean: clean_docs() - run("sphinx-build %s %s" % (docs_dir, build_dir), pty=True) + ctx.run("sphinx-build %s %s" % (docs_dir, build_dir), pty=True) if browse: browse_docs() @task -def readme(browse=False): - run('rst2html.py README.rst > README.html') +def readme(ctx, browse=False): + ctx.run('rst2html.py README.rst > README.html') @task -def publish(test=False): - """Publish to the cheeseshop.""" +def build(ctx): + """Build source distribution and wheels.""" + ctx.run('python setup.py sdist bdist_wheel') + + +@task +def publish(ctx, test=False): + """Publish to the cheeseshop. + + This command follows the Python packaging guidelines: + https://packaging.python.org/tutorials/distributing-packages + + Information on configuration required for '--test' can be found + here: https://wiki.python.org/moin/TestPyPI + + Before uploading please ensure you've signed the release using: + + gpg --detach-sign -a dist/package-1.0.1.tar.gz + """ if test: - run('python setup.py register -r test sdist upload -r test') + ctx.run('twine upload -r test dist/*') else: - run("python setup.py register sdist upload") + ctx.run("twine upload dist/*") |