From ff348f5fa2882091ee892c3a0760edba3a63bd53 Mon Sep 17 00:00:00 2001 From: Philippe Ombredanne Date: Mon, 9 May 2022 22:58:46 +0200 Subject: [PATCH 01/20] Format code with black Signed-off-by: Philippe Ombredanne --- docs/source/conf.py | 12 +++++------- etc/scripts/fetch_thirdparty.py | 1 - etc/scripts/utils_thirdparty.py | 31 +++++++++++++++++++++++-------- 3 files changed, 28 insertions(+), 16 deletions(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index 62bca04..d5435e7 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -28,7 +28,7 @@ # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. extensions = [ -'sphinx.ext.intersphinx', + "sphinx.ext.intersphinx", ] # This points to aboutcode.readthedocs.io @@ -36,8 +36,8 @@ # Link was created at commit - https://github.com/nexB/aboutcode/commit/faea9fcf3248f8f198844fe34d43833224ac4a83 intersphinx_mapping = { - 'aboutcode': ('https://aboutcode.readthedocs.io/en/latest/', None), - 'scancode-workbench': ('https://scancode-workbench.readthedocs.io/en/develop/', None), + "aboutcode": ("https://aboutcode.readthedocs.io/en/latest/", None), + "scancode-workbench": ("https://scancode-workbench.readthedocs.io/en/develop/", None), } @@ -62,7 +62,7 @@ # so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ["_static"] -master_doc = 'index' +master_doc = "index" html_context = { "display_github": True, @@ -72,9 +72,7 @@ "conf_py_path": "/docs/source/", # path in the checkout to the docs root } -html_css_files = [ - '_static/theme_overrides.css' - ] +html_css_files = ["_static/theme_overrides.css"] # If true, "Created using Sphinx" is shown in the HTML footer. Default is True. diff --git a/etc/scripts/fetch_thirdparty.py b/etc/scripts/fetch_thirdparty.py index 26d520f..89d17de 100644 --- a/etc/scripts/fetch_thirdparty.py +++ b/etc/scripts/fetch_thirdparty.py @@ -110,7 +110,6 @@ is_flag=True, help="Use on disk cached PyPI indexes list of packages and versions and do not refetch if present.", ) - @click.help_option("-h", "--help") def fetch_thirdparty( requirements_files, diff --git a/etc/scripts/utils_thirdparty.py b/etc/scripts/utils_thirdparty.py index 9cbda37..2d6f3e4 100644 --- a/etc/scripts/utils_thirdparty.py +++ b/etc/scripts/utils_thirdparty.py @@ -311,6 +311,7 @@ def download_sdist(name, version, dest_dir=THIRDPARTY_DIR, repos=tuple()): return fetched_sdist_filename + ################################################################################ # # Core models @@ -1064,16 +1065,16 @@ def get_sdist_name_ver_ext(filename): if version.isalpha(): return False - # non-pep 440 version + # non-pep 440 version if "-" in version: return False - # single version + # single version if version.isdigit() and len(version) == 1: return False - # r1 version - if len(version) == 2 and version[0]=="r" and version[1].isdigit(): + # r1 version + if len(version) == 2 and version[0] == "r" and version[1].isdigit(): return False # dotless version (but calver is OK) @@ -1588,6 +1589,7 @@ def tags(self): ) ) + ################################################################################ # # PyPI repo and link index for package wheels and sources @@ -1629,7 +1631,9 @@ class PypiSimpleRepository: use_cached_index = attr.ib( type=bool, default=False, - metadata=dict(help="If True, use any existing on-disk cached PyPI index files. Otherwise, fetch and cache."), + metadata=dict( + help="If True, use any existing on-disk cached PyPI index files. Otherwise, fetch and cache." + ), ) def _get_package_versions_map(self, name): @@ -1724,7 +1728,9 @@ class LinksRepository: use_cached_index = attr.ib( type=bool, default=False, - metadata=dict(help="If True, use any existing on-disk cached index files. Otherwise, fetch and cache."), + metadata=dict( + help="If True, use any existing on-disk cached index files. Otherwise, fetch and cache." + ), ) def __attrs_post_init__(self): @@ -1790,6 +1796,7 @@ def from_url(cls, url=ABOUT_BASE_URL, _LINKS_REPO={}, use_cached_index=False): _LINKS_REPO[url] = cls(url=url, use_cached_index=use_cached_index) return _LINKS_REPO[url] + ################################################################################ # Globals for remote repos to be lazily created and cached on first use for the # life of the session together with some convenience functions. @@ -1803,6 +1810,7 @@ def get_local_packages(directory=THIRDPARTY_DIR): """ return list(PypiPackage.packages_from_dir(directory=directory)) + ################################################################################ # # Basic file and URL-based operations using a persistent file-based Cache @@ -1953,6 +1961,7 @@ def fetch_and_save( fo.write(content) return content + ################################################################################ # # Functions to update or fetch ABOUT and license files @@ -2051,7 +2060,9 @@ def get_other_dists(_package, _dist): # if has key data we may look to improve later, but we can move on if local_dist.has_key_metadata(): local_dist.save_about_and_notice_files(dest_dir=dest_dir) - local_dist.fetch_license_files(dest_dir=dest_dir, use_cached_index=use_cached_index) + local_dist.fetch_license_files( + dest_dir=dest_dir, use_cached_index=use_cached_index + ) continue # lets try to fetch remotely @@ -2089,7 +2100,9 @@ def get_other_dists(_package, _dist): # if has key data we may look to improve later, but we can move on if local_dist.has_key_metadata(): local_dist.save_about_and_notice_files(dest_dir=dest_dir) - local_dist.fetch_license_files(dest_dir=dest_dir, use_cached_index=use_cached_index) + local_dist.fetch_license_files( + dest_dir=dest_dir, use_cached_index=use_cached_index + ) continue # try to get data from pkginfo (no license though) @@ -2107,6 +2120,7 @@ def get_other_dists(_package, _dist): lic_errs = "\n".join(lic_errs) print(f"Failed to fetch some licenses:: {lic_errs}") + ################################################################################ # # Functions to build new Python wheels including native on multiple OSes @@ -2210,6 +2224,7 @@ def download_wheels_with_pip( downloaded = existing ^ set(os.listdir(dest_dir)) return sorted(downloaded), error + ################################################################################ # # Functions to check for problems From d35d4feebe586a4218a8d421b6ca55a080291272 Mon Sep 17 00:00:00 2001 From: Philippe Ombredanne Date: Tue, 10 May 2022 14:27:01 +0200 Subject: [PATCH 02/20] Only use PyPI for downloads This is much faster Signed-off-by: Philippe Ombredanne --- configure | 3 +-- configure.bat | 4 +--- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/configure b/configure index d1b4fda..a52f539 100755 --- a/configure +++ b/configure @@ -54,11 +54,10 @@ CFG_BIN_DIR=$CFG_ROOT_DIR/$VIRTUALENV_DIR/bin ################################ # Thirdparty package locations and index handling -# Find packages from the local thirdparty directory or from thirdparty.aboutcode.org +# Find packages from the local thirdparty directory if [ -d "$CFG_ROOT_DIR/thirdparty" ]; then PIP_EXTRA_ARGS="--find-links $CFG_ROOT_DIR/thirdparty" fi -PIP_EXTRA_ARGS="$PIP_EXTRA_ARGS --find-links https://thirdparty.aboutcode.org/pypi/simple/links.html" ################################ diff --git a/configure.bat b/configure.bat index 487e78a..41547cc 100644 --- a/configure.bat +++ b/configure.bat @@ -52,11 +52,10 @@ set "CFG_BIN_DIR=%CFG_ROOT_DIR%\%VIRTUALENV_DIR%\Scripts" @rem ################################ @rem # Thirdparty package locations and index handling -@rem # Find packages from the local thirdparty directory or from thirdparty.aboutcode.org +@rem # Find packages from the local thirdparty directory if exist "%CFG_ROOT_DIR%\thirdparty" ( set PIP_EXTRA_ARGS=--find-links "%CFG_ROOT_DIR%\thirdparty" ) -set "PIP_EXTRA_ARGS=%PIP_EXTRA_ARGS% --find-links https://thirdparty.aboutcode.org/pypi/simple/links.html" @rem ################################ @@ -69,7 +68,6 @@ if not defined CFG_QUIET ( @rem ################################ @rem # Main command line entry point set "CFG_REQUIREMENTS=%REQUIREMENTS%" -set "NO_INDEX=--no-index" :again if not "%1" == "" ( From 154144baa1326255887a2c6c107c03577461bd14 Mon Sep 17 00:00:00 2001 From: Philippe Ombredanne Date: Thu, 12 May 2022 13:23:45 +0200 Subject: [PATCH 03/20] Enable automatic release on tag Signed-off-by: Philippe Ombredanne --- .github/workflows/pypi-release.yml | 96 +++++++++++++++++++++++------- 1 file changed, 76 insertions(+), 20 deletions(-) diff --git a/.github/workflows/pypi-release.yml b/.github/workflows/pypi-release.yml index 3a4fe27..22315ff 100644 --- a/.github/workflows/pypi-release.yml +++ b/.github/workflows/pypi-release.yml @@ -1,27 +1,83 @@ -name: Release library as a PyPI wheel and sdist on GH release creation +name: Create library release archives, create a GH release and publish PyPI wheel and sdist on tag in main branch + + +# This is executed automatically on a tag in the main branch + +# Summary of the steps: +# - build wheels and sdist +# - upload wheels and sdist to PyPI +# - create gh-release and upload wheels and dists there +# TODO: smoke test wheels and sdist +# TODO: add changelog to release text body + +# WARNING: this is designed only for packages building as pure Python wheels on: - release: - types: [created] + workflow_dispatch: + push: + tags: + - "v*.*.*" jobs: - build-and-publish-to-pypi: + build-pypi-distribs: name: Build and publish library to PyPI runs-on: ubuntu-20.04 + + steps: + - uses: actions/checkout@master + - name: Set up Python + uses: actions/setup-python@v1 + with: + python-version: 3.9 + + - name: Install pypa/build + run: python -m pip install build --user + + - name: Build a binary wheel and a source tarball + run: python -m build --sdist --wheel --outdir dist/ + + - name: Upload built archives + uses: actions/upload-artifact@v3 + with: + name: pypi_archives + path: dist/* + + + create-gh-release: + name: Create GH release + needs: + - build-pypi-distribs + runs-on: ubuntu-20.04 + + steps: + - name: Download built archives + uses: actions/download-artifact@v3 + with: + name: pypi_archives + path: dist + + - name: Create GH release + uses: softprops/action-gh-release@v1 + with: + draft: true + files: dist/* + + + create-pypi-release: + name: Create PyPI release + needs: + - create-gh-release + runs-on: ubuntu-20.04 + steps: - - uses: actions/checkout@master - - name: Set up Python - uses: actions/setup-python@v1 - with: - python-version: 3.9 - - name: Install pypa/build - run: python -m pip install build --user - - name: Build a binary wheel and a source tarball - run: python -m build --sdist --wheel --outdir dist/ - . - - name: Publish distribution to PyPI - if: startsWith(github.ref, 'refs/tags') - uses: pypa/gh-action-pypi-publish@master - with: - password: ${{ secrets.PYPI_API_TOKEN }} - + - name: Download built archives + uses: actions/download-artifact@v3 + with: + name: pypi_archives + path: dist + + - name: Publish to PyPI + if: startsWith(github.ref, 'refs/tags') + uses: pypa/gh-action-pypi-publish@master + with: + password: ${{ secrets.PYPI_API_TOKEN }} From e7abce1ae0574fe0aba3eef34b8f98564769c027 Mon Sep 17 00:00:00 2001 From: Philippe Ombredanne Date: Tue, 17 May 2022 11:29:21 +0200 Subject: [PATCH 04/20] Streamline origin and license headers Signed-off-by: Philippe Ombredanne --- src/plugincode/__init__.py | 21 +++++---------------- src/plugincode/location_provider.py | 21 ++++----------------- src/plugincode/output.py | 22 +++++----------------- src/plugincode/output_filter.py | 21 ++++----------------- src/plugincode/post_scan.py | 21 ++++----------------- src/plugincode/pre_scan.py | 21 ++++----------------- src/plugincode/scan.py | 21 ++++----------------- 7 files changed, 30 insertions(+), 118 deletions(-) diff --git a/src/plugincode/__init__.py b/src/plugincode/__init__.py index 388a3b5..a6c5fc3 100644 --- a/src/plugincode/__init__.py +++ b/src/plugincode/__init__.py @@ -1,22 +1,11 @@ # -# Copyright (c) nexB Inc. and others. +# Copyright (c) nexB Inc. and others. All rights reserved. # SPDX-License-Identifier: Apache-2.0 +# See http://www.apache.org/licenses/LICENSE-2.0 for the license text. +# See https://github.com/nexB/plugincode for support or download. +# See https://aboutcode.org for more information about nexB OSS projects. # -# Visit https://aboutcode.org and https://github.com/nexB/ for support and download. -# ScanCode is a trademark of nexB Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# + from collections import defaultdict import sys diff --git a/src/plugincode/location_provider.py b/src/plugincode/location_provider.py index ec4f992..d2d0be8 100644 --- a/src/plugincode/location_provider.py +++ b/src/plugincode/location_provider.py @@ -1,22 +1,9 @@ # -# Copyright (c) nexB Inc. and others. +# Copyright (c) nexB Inc. and others. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -# -# Visit https://aboutcode.org and https://github.com/nexB/ for support and download. -# ScanCode is a trademark of nexB Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# +# See http://www.apache.org/licenses/LICENSE-2.0 for the license text. +# See https://github.com/nexB/plugincode for support or download. +# See https://aboutcode.org for more information about nexB OSS projects. import logging import os diff --git a/src/plugincode/output.py b/src/plugincode/output.py index 7373a80..e23a773 100644 --- a/src/plugincode/output.py +++ b/src/plugincode/output.py @@ -1,22 +1,10 @@ # -# Copyright (c) nexB Inc. and others. +# Copyright (c) nexB Inc. and others. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -# -# Visit https://aboutcode.org and https://github.com/nexB/ for support and download. -# ScanCode is a trademark of nexB Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# +# See http://www.apache.org/licenses/LICENSE-2.0 for the license text. +# See https://github.com/nexB/plugincode for support or download. +# See https://aboutcode.org for more information about nexB OSS projects. + import functools from commoncode.resource import Resource diff --git a/src/plugincode/output_filter.py b/src/plugincode/output_filter.py index 5a99fb5..2a873b4 100644 --- a/src/plugincode/output_filter.py +++ b/src/plugincode/output_filter.py @@ -1,22 +1,9 @@ # -# Copyright (c) nexB Inc. and others. +# Copyright (c) nexB Inc. and others. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -# -# Visit https://aboutcode.org and https://github.com/nexB/ for support and download. -# ScanCode is a trademark of nexB Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# +# See http://www.apache.org/licenses/LICENSE-2.0 for the license text. +# See https://github.com/nexB/plugincode for support or download. +# See https://aboutcode.org for more information about nexB OSS projects. from plugincode import CodebasePlugin from plugincode import PluginManager diff --git a/src/plugincode/post_scan.py b/src/plugincode/post_scan.py index 4ba5f69..1ab259e 100644 --- a/src/plugincode/post_scan.py +++ b/src/plugincode/post_scan.py @@ -1,22 +1,9 @@ # -# Copyright (c) nexB Inc. and others. +# Copyright (c) nexB Inc. and others. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -# -# Visit https://aboutcode.org and https://github.com/nexB/ for support and download. -# ScanCode is a trademark of nexB Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# +# See http://www.apache.org/licenses/LICENSE-2.0 for the license text. +# See https://github.com/nexB/plugincode for support or download. +# See https://aboutcode.org for more information about nexB OSS projects. from plugincode import CodebasePlugin from plugincode import PluginManager diff --git a/src/plugincode/pre_scan.py b/src/plugincode/pre_scan.py index 9d7c19f..2ea6c5b 100644 --- a/src/plugincode/pre_scan.py +++ b/src/plugincode/pre_scan.py @@ -1,22 +1,9 @@ # -# Copyright (c) nexB Inc. and others. +# Copyright (c) nexB Inc. and others. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -# -# Visit https://aboutcode.org and https://github.com/nexB/ for support and download. -# ScanCode is a trademark of nexB Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# +# See http://www.apache.org/licenses/LICENSE-2.0 for the license text. +# See https://github.com/nexB/plugincode for support or download. +# See https://aboutcode.org for more information about nexB OSS projects. from plugincode import CodebasePlugin from plugincode import PluginManager diff --git a/src/plugincode/scan.py b/src/plugincode/scan.py index 9aa78b4..9c473be 100644 --- a/src/plugincode/scan.py +++ b/src/plugincode/scan.py @@ -1,22 +1,9 @@ # -# Copyright (c) nexB Inc. and others. +# Copyright (c) nexB Inc. and others. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -# -# Visit https://aboutcode.org and https://github.com/nexB/ for support and download. -# ScanCode is a trademark of nexB Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# +# See http://www.apache.org/licenses/LICENSE-2.0 for the license text. +# See https://github.com/nexB/plugincode for support or download. +# See https://aboutcode.org for more information about nexB OSS projects. from plugincode import CodebasePlugin from plugincode import PluginManager From 8dc82e9a935595a8094dde51027f80572e12e4ca Mon Sep 17 00:00:00 2001 From: Philippe Ombredanne Date: Tue, 17 May 2022 11:31:51 +0200 Subject: [PATCH 05/20] Adopt new commoncode.resource approach Signed-off-by: Philippe Ombredanne --- src/plugincode/output.py | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/src/plugincode/output.py b/src/plugincode/output.py index e23a773..b0b1eec 100644 --- a/src/plugincode/output.py +++ b/src/plugincode/output.py @@ -34,7 +34,6 @@ def logger_debug(*args): def logger_debug(*args): return logger.debug(" ".join(isinstance(a, str) and a or repr(a) for a in args)) - stage = "output" entrypoint = "scancode_output" @@ -65,11 +64,24 @@ def get_files(cls, codebase, **kwargs): """ # FIXME: serialization SHOULD NOT be needed: only some format need it # (e.g. JSON) and only these should serialize - timing = kwargs.get("timing", False) - info = bool(kwargs.get("info") or getattr(codebase, "with_info", False)) - serializer = functools.partial(Resource.to_dict, with_info=info, with_timing=timing) + with_timing = kwargs.get("timing", False) + with_info = bool(kwargs.get("info") or getattr(codebase, "with_info", False)) + + full_root = kwargs.get("full_root", False) + + if codebase.has_single_resource: + strip_root = False + else: + strip_root = kwargs.get("strip_root", False) + + serializer = functools.partial( + Resource.to_dict, + with_info=with_info, + with_timing=with_timing, + full_root=full_root, + strip_root=strip_root, + ) - strip_root = kwargs.get("strip_root", False) resources = codebase.walk_filtered(topdown=True, skip_root=strip_root) return map(serializer, resources) From 67f804bb9081e24799178694e7a044bdf5944ad6 Mon Sep 17 00:00:00 2001 From: Philippe Ombredanne Date: Tue, 17 May 2022 11:32:02 +0200 Subject: [PATCH 06/20] Streamline origin and license headers Signed-off-by: Philippe Ombredanne --- tests/plugincode/test_plugincode.py | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/tests/plugincode/test_plugincode.py b/tests/plugincode/test_plugincode.py index fcf7742..f65daa9 100644 --- a/tests/plugincode/test_plugincode.py +++ b/tests/plugincode/test_plugincode.py @@ -1,22 +1,9 @@ # -# Copyright (c) nexB Inc. and others. +# Copyright (c) nexB Inc. and others. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -# -# Visit https://aboutcode.org and https://github.com/nexB/ for support and download. -# ScanCode is a trademark of nexB Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# +# See http://www.apache.org/licenses/LICENSE-2.0 for the license text. +# See https://github.com/nexB/plugincode for support or download. +# See https://aboutcode.org for more information about nexB OSS projects. def test_plugincode_can_be_imported(): From d93ff042e07c8a82b6db7edeb5dc24f18e98c96a Mon Sep 17 00:00:00 2001 From: Philippe Ombredanne Date: Tue, 17 May 2022 11:57:08 +0200 Subject: [PATCH 07/20] Bump to use latest commoncode Signed-off-by: Philippe Ombredanne --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 50f80ee..dde0574 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,7 +9,7 @@ chardet==4.0.0 charset-normalizer==2.0.12 click==8.0.4 colorama==0.4.4 -commoncode==30.2.0 +commoncode==31.0.0b4 construct==2.10.68 container-inspector==30.0.0 cryptography==36.0.2 From 131293346bc32fcf882db3a0e33c209cd4a5dd7c Mon Sep 17 00:00:00 2001 From: Philippe Ombredanne Date: Tue, 17 May 2022 11:59:14 +0200 Subject: [PATCH 08/20] Update CHANGELOG Signed-off-by: Philippe Ombredanne --- CHANGELOG.rst | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index e3472b2..35a2b19 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -2,6 +2,14 @@ Release notes ============= +v31.0.0 +-------- + +- Adop new commoncode Codebase and Resource +- Use latest skeleton +- Bump dependencies + + v30.0.0 -------- From 32102c6dd7abc23b114bce90388a0a41da1b5dec Mon Sep 17 00:00:00 2001 From: Philippe Ombredanne Date: Tue, 17 May 2022 14:28:01 +0200 Subject: [PATCH 09/20] Format code Signed-off-by: Philippe Ombredanne --- src/plugincode/output.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/plugincode/output.py b/src/plugincode/output.py index b0b1eec..e17c026 100644 --- a/src/plugincode/output.py +++ b/src/plugincode/output.py @@ -34,6 +34,7 @@ def logger_debug(*args): def logger_debug(*args): return logger.debug(" ".join(isinstance(a, str) and a or repr(a) for a in args)) + stage = "output" entrypoint = "scancode_output" From 3e34abdaa8ed03c7900fabb060e1e64d231270fb Mon Sep 17 00:00:00 2001 From: Philippe Ombredanne Date: Tue, 17 May 2022 14:33:57 +0200 Subject: [PATCH 10/20] Bump commoncode And sync with latest SCTK Signed-off-by: Philippe Ombredanne --- MANIFEST.in | 2 +- configure | 1 - requirements-dev.txt | 2 +- requirements.txt | 14 +++++++------- setup.cfg | 3 +++ 5 files changed, 12 insertions(+), 10 deletions(-) diff --git a/MANIFEST.in b/MANIFEST.in index ef3721e..8424cbe 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -9,7 +9,7 @@ include *.rst include setup.* include configure* include requirements* -include .git* +include .giti* global-exclude *.py[co] __pycache__ *.*~ diff --git a/configure b/configure index a52f539..298d8cb 100755 --- a/configure +++ b/configure @@ -59,7 +59,6 @@ if [ -d "$CFG_ROOT_DIR/thirdparty" ]; then PIP_EXTRA_ARGS="--find-links $CFG_ROOT_DIR/thirdparty" fi - ################################ # Set the quiet flag to empty if not defined if [[ "$CFG_QUIET" == "" ]]; then diff --git a/requirements-dev.txt b/requirements-dev.txt index fe92ed8..5a2b695 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,4 +1,4 @@ -aboutcode-toolkit==7.0.1 +aboutcode-toolkit==7.0.2 bleach==4.1.0 build==0.7.0 commonmark==0.9.1 diff --git a/requirements.txt b/requirements.txt index dde0574..22ebb57 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,7 +2,7 @@ attrs==21.4.0 banal==1.0.6 beautifulsoup4==4.11.1 binaryornot==0.4.4 -boolean.py==3.8 +boolean.py==4.0 certifi==2021.10.8 cffi==1.15.0 chardet==4.0.0 @@ -11,12 +11,12 @@ click==8.0.4 colorama==0.4.4 commoncode==31.0.0b4 construct==2.10.68 -container-inspector==30.0.0 +container-inspector==31.0.0 cryptography==36.0.2 debian-inspector==30.0.0 dockerfile-parse==1.2.0 dparse2==0.6.1 -extractcode==30.0.0 +extractcode==31.0.0 extractcode-7z==16.5.210531 extractcode-libarchive==3.5.1.210531 fasteners==0.17.3 @@ -34,7 +34,7 @@ jaraco.functools==3.4.0 javaproperties==0.8.1 Jinja2==3.0.3 jsonstreams==0.6.0 -license-expression==21.6.14 +license-expression==30.0.0 lxml==4.8.0 MarkupSafe==2.0.1 more-itertools==8.13.0 @@ -44,7 +44,7 @@ packageurl-python==0.9.9 packaging==21.3 parameter-expansion-patched==0.3.1 patch==1.16 -pdfminer.six==20220506 +pdfminer-six==20220506 pefile==2021.9.3 pip-requirements-parser==31.2.0 pkginfo2==30.0.0 @@ -60,7 +60,7 @@ pyparsing==3.0.8 pytz==2022.1 PyYAML==6.0 rdflib==5.0.0 -regipy==2.2.2 +regipy==2.3.1 requests==2.27.1 rpm-inspector-rpm==4.16.1.3.210404 saneyaml==0.5.2 @@ -69,7 +69,7 @@ soupsieve==2.3.1 spdx-tools==0.7.0a3 text-unidecode==1.3 toml==0.10.2 -typecode==21.6.1 +typecode==30.0.0 typecode-libmagic==5.39.210531 urllib3==1.26.9 urlpy==0.5 diff --git a/setup.cfg b/setup.cfg index e13d962..13dddbe 100644 --- a/setup.cfg +++ b/setup.cfg @@ -31,12 +31,15 @@ keywords = scancode scancode-toolkit plugins + open source + plugin license_files = apache-2.0.LICENSE NOTICE AUTHORS.rst CHANGELOG.rst + CODE_OF_CONDUCT.rst [options] package_dir = From 1165f12eb321cf3ecced9655424d6a376933c23c Mon Sep 17 00:00:00 2001 From: Philippe Ombredanne Date: Wed, 25 May 2022 09:53:42 +0200 Subject: [PATCH 11/20] Remove Travis config Signed-off-by: Philippe Ombredanne --- .travis.yml | 22 ---------------------- 1 file changed, 22 deletions(-) delete mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index ea48ceb..0000000 --- a/.travis.yml +++ /dev/null @@ -1,22 +0,0 @@ -# This is a skeleton Travis CI config file that provides a starting point for adding CI -# to a Python project. Since we primarily develop in python3, this skeleton config file -# will be specific to that language. -# -# See https://config.travis-ci.com/ for a full list of configuration options. - -os: linux - -dist: xenial - -language: python -python: - - "3.6" - - "3.7" - - "3.8" - - "3.9" - -# Scripts to run at install stage -install: ./configure --dev - -# Scripts to run at script stage -script: venv/bin/pytest From c1f70fc7339f6eee99c1b3b8f9a2f43e80a7bc01 Mon Sep 17 00:00:00 2001 From: Philippe Ombredanne Date: Fri, 27 May 2022 08:57:06 +0200 Subject: [PATCH 12/20] Add ScanCode Code of Conduct Signed-off-by: Philippe Ombredanne --- CODE_OF_CONDUCT.rst | 86 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 CODE_OF_CONDUCT.rst diff --git a/CODE_OF_CONDUCT.rst b/CODE_OF_CONDUCT.rst new file mode 100644 index 0000000..590ba19 --- /dev/null +++ b/CODE_OF_CONDUCT.rst @@ -0,0 +1,86 @@ +Contributor Covenant Code of Conduct +==================================== + +Our Pledge +---------- + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our +project and our community a harassment-free experience for everyone, +regardless of age, body size, disability, ethnicity, gender identity and +expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, religion, or sexual identity and +orientation. + +Our Standards +------------- + +Examples of behavior that contributes to creating a positive environment +include: + +- Using welcoming and inclusive language +- Being respectful of differing viewpoints and experiences +- Gracefully accepting constructive criticism +- Focusing on what is best for the community +- Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +- The use of sexualized language or imagery and unwelcome sexual + attention or advances +- Trolling, insulting/derogatory comments, and personal or political + attacks +- Public or private harassment +- Publishing others’ private information, such as a physical or + electronic address, without explicit permission +- Other conduct which could reasonably be considered inappropriate in a + professional setting + +Our Responsibilities +-------------------- + +Project maintainers are responsible for clarifying the standards of +acceptable behavior and are expected to take appropriate and fair +corrective action in response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, +or reject comments, commits, code, wiki edits, issues, and other +contributions that are not aligned to this Code of Conduct, or to ban +temporarily or permanently any contributor for other behaviors that they +deem inappropriate, threatening, offensive, or harmful. + +Scope +----- + +This Code of Conduct applies both within project spaces and in public +spaces when an individual is representing the project or its community. +Examples of representing a project or community include using an +official project e-mail address, posting via an official social media +account, or acting as an appointed representative at an online or +offline event. Representation of a project may be further defined and +clarified by project maintainers. + +Enforcement +----------- + +Instances of abusive, harassing, or otherwise unacceptable behavior may +be reported by contacting the project team at pombredanne@gmail.com +or on the Gitter chat channel at https://gitter.im/aboutcode-org/discuss . +All complaints will be reviewed and investigated and will result in a +response that is deemed necessary and appropriate to the circumstances. +The project team is obligated to maintain confidentiality with regard to +the reporter of an incident. Further details of specific enforcement +policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in +good faith may face temporary or permanent repercussions as determined +by other members of the project’s leadership. + +Attribution +----------- + +This Code of Conduct is adapted from the `Contributor Covenant`_ , +version 1.4, available at +https://www.contributor-covenant.org/version/1/4/code-of-conduct.html + +.. _Contributor Covenant: https://www.contributor-covenant.org From 9acab17814f47ec8104962c4cb310877bb8bbbfa Mon Sep 17 00:00:00 2001 From: Philippe Ombredanne Date: Fri, 27 May 2022 08:58:37 +0200 Subject: [PATCH 13/20] Improve detection of thirdparty dir Signed-off-by: Philippe Ombredanne --- configure | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/configure b/configure index a52f539..32e02f5 100755 --- a/configure +++ b/configure @@ -52,11 +52,19 @@ CFG_ROOT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" CFG_BIN_DIR=$CFG_ROOT_DIR/$VIRTUALENV_DIR/bin +################################ +# Install with or without and index. With "--no-index" this is using only local wheels +# This is an offline mode with no index and no network operations +# NO_INDEX="--no-index " +NO_INDEX="" + + ################################ # Thirdparty package locations and index handling -# Find packages from the local thirdparty directory -if [ -d "$CFG_ROOT_DIR/thirdparty" ]; then - PIP_EXTRA_ARGS="--find-links $CFG_ROOT_DIR/thirdparty" +# Find packages from the local thirdparty directory if present +THIRDPARDIR=$CFG_ROOT_DIR/thirdparty +if [[ "$(echo $THIRDPARDIR/*.whl)x" != "$THIRDPARDIR/*.whlx" ]]; then + PIP_EXTRA_ARGS="$NO_INDEX --find-links $THIRDPARDIR" fi @@ -182,6 +190,7 @@ while getopts :-: optchar; do esac done + PIP_EXTRA_ARGS="$PIP_EXTRA_ARGS" find_python From 4dc252163e63132d9ae1479d22af728ca1232a31 Mon Sep 17 00:00:00 2001 From: Philippe Ombredanne Date: Sun, 29 May 2022 22:25:13 +0200 Subject: [PATCH 14/20] Add comment Signed-off-by: Philippe Ombredanne --- etc/scripts/utils_thirdparty.py | 1 + 1 file changed, 1 insertion(+) diff --git a/etc/scripts/utils_thirdparty.py b/etc/scripts/utils_thirdparty.py index 2d6f3e4..53f2d33 100644 --- a/etc/scripts/utils_thirdparty.py +++ b/etc/scripts/utils_thirdparty.py @@ -1678,6 +1678,7 @@ def get_package_version(self, name, version=None): """ if not version: versions = list(self._get_package_versions_map(name).values()) + # return the latest version return versions and versions[-1] else: return self._get_package_versions_map(name).get(version) From a00b2b0000fdaed120b43e4aa9b56b68c342f0f9 Mon Sep 17 00:00:00 2001 From: Philippe Ombredanne Date: Wed, 24 Aug 2022 22:02:49 +0200 Subject: [PATCH 15/20] Prepare release with new requirements Signed-off-by: Philippe Ombredanne --- CHANGELOG.rst | 4 ++-- requirements-dev.txt | 31 ++++++++++++++---------- requirements.txt | 57 +++++++++++++++++++++----------------------- setup.cfg | 2 +- 4 files changed, 49 insertions(+), 45 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 35a2b19..8c99500 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,11 +1,11 @@ -Release notes +Changelog ============= v31.0.0 -------- -- Adop new commoncode Codebase and Resource +- Adopt new commoncode Codebase and Resource - Use latest skeleton - Bump dependencies diff --git a/requirements-dev.txt b/requirements-dev.txt index 5a2b695..bd08a7b 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,24 +1,31 @@ aboutcode-toolkit==7.0.2 -bleach==4.1.0 +black==22.6.0 +bleach==5.0.1 build==0.7.0 commonmark==0.9.1 -docutils==0.18.1 +docutils==0.19 et-xmlfile==1.1.0 execnet==1.9.0 iniconfig==1.1.1 -jeepney==0.7.1 -keyring==23.4.1 -openpyxl==3.0.9 +isort==5.10.1 +jeepney==0.8.0 +keyring==23.7.0 +mypy-extensions==0.4.3 +openpyxl==3.0.10 +pathspec==0.9.0 pep517==0.12.0 -pkginfo==1.8.2 +pkginfo==1.8.3 +platformdirs==2.5.2 py==1.11.0 -pytest==7.0.1 +pytest==7.1.2 pytest-forked==1.4.0 pytest-xdist==2.5.0 -readme-renderer==34.0 +readme-renderer==35.0 requests-toolbelt==0.9.1 -rfc3986==1.5.0 -rich==12.3.0 +rfc3986==2.0.0 +rich==12.5.1 secretstorage==3.3.2 -tomli==1.2.3 -twine==3.8.0 +tomli==2.0.1 +tqdm==4.64.0 +twine==4.0.1 +typing_extensions==4.3.0 diff --git a/requirements.txt b/requirements.txt index 22ebb57..650d8cd 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,17 +3,16 @@ banal==1.0.6 beautifulsoup4==4.11.1 binaryornot==0.4.4 boolean.py==4.0 -certifi==2021.10.8 -cffi==1.15.0 -chardet==4.0.0 -charset-normalizer==2.0.12 -click==8.0.4 -colorama==0.4.4 -commoncode==31.0.0b4 +certifi==2022.6.15 +cffi==1.15.1 +chardet==5.0.0 +charset-normalizer==2.1.0 +click==8.1.3 +colorama==0.4.5 +commoncode=31.0.0 construct==2.10.68 -container-inspector==31.0.0 -cryptography==36.0.2 -debian-inspector==30.0.0 +container-inspector==31.1.0 +cryptography==37.0.4 dockerfile-parse==1.2.0 dparse2==0.6.1 extractcode==31.0.0 @@ -21,34 +20,33 @@ extractcode-7z==16.5.210531 extractcode-libarchive==3.5.1.210531 fasteners==0.17.3 fingerprints==1.0.3 -ftfy==6.0.3 +ftfy==6.1.1 future==0.18.2 gemfileparser==0.8.0 html5lib==1.1 idna==3.3 -importlib-metadata==4.8.3 +importlib-metadata==4.12.0 inflection==0.5.1 intbitset==3.0.1 isodate==0.6.1 -jaraco.functools==3.4.0 +jaraco.functools==3.5.1 javaproperties==0.8.1 -Jinja2==3.0.3 +Jinja2==3.1.2 jsonstreams==0.6.0 license-expression==30.0.0 -lxml==4.8.0 -MarkupSafe==2.0.1 +lxml==4.9.1 +MarkupSafe==2.1.1 more-itertools==8.13.0 normality==2.3.3 -packagedcode-msitools==0.101.210706 -packageurl-python==0.9.9 +packageurl-python==0.10.0 packaging==21.3 parameter-expansion-patched==0.3.1 -patch==1.16 -pdfminer-six==20220506 -pefile==2021.9.3 +pdfminer.six==20220524 +pefile==2022.5.30 pip-requirements-parser==31.2.0 pkginfo2==30.0.0 pluggy==1.0.0 +plugincode==31.0.0b1 ply==3.11 publicsuffix2==2.20191221 pyahocorasick==2.0.0b1 @@ -56,24 +54,23 @@ pycparser==2.21 pygmars==0.7.0 Pygments==2.12.0 pymaven-patch==0.3.0 -pyparsing==3.0.8 +pyparsing==3.0.9 pytz==2022.1 PyYAML==6.0 -rdflib==5.0.0 -regipy==2.3.1 -requests==2.27.1 -rpm-inspector-rpm==4.16.1.3.210404 +rdflib==6.2.0 +requests==2.28.1 saneyaml==0.5.2 six==1.16.0 -soupsieve==2.3.1 +soupsieve==2.3.2.post1 spdx-tools==0.7.0a3 text-unidecode==1.3 toml==0.10.2 typecode==30.0.0 typecode-libmagic==5.39.210531 -urllib3==1.26.9 +typing-extensions==4.3.0 +urllib3==1.26.11 urlpy==0.5 wcwidth==0.2.5 webencodings==0.5.1 -xmltodict==0.12.0 -zipp==3.6.0 +xmltodict==0.13.0 +zipp==3.8.1 diff --git a/setup.cfg b/setup.cfg index 13dddbe..fc94a84 100644 --- a/setup.cfg +++ b/setup.cfg @@ -54,7 +54,7 @@ python_requires = >=3.6.* install_requires = click >= 6.7, !=7.0 - commoncode >= 30.2.0 + commoncode >= 31.0.0 pluggy >= 0.12.0 From 30593ae0ec5292ba35fa369552f36e5c3dfa9d83 Mon Sep 17 00:00:00 2001 From: Philippe Ombredanne Date: Wed, 24 Aug 2022 22:10:38 +0200 Subject: [PATCH 16/20] Drop Python 3.6 Signed-off-by: Philippe Ombredanne --- CHANGELOG.rst | 4 +-- azure-pipelines.yml | 59 ++++++++++++++++++++++++++++++++++++++++++--- setup.cfg | 2 +- 3 files changed, 58 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 8c99500..9f1b692 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -2,8 +2,8 @@ Changelog ============= -v31.0.0 --------- +v31.0.0 - 2022-08-24 +------------------------ - Adopt new commoncode Codebase and Resource - Use latest skeleton diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 6ca19c4..3117a91 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -7,11 +7,15 @@ jobs: +################################################################################ +# These jobs are using VMs and Azure-provided Pythons 3.8 +################################################################################ + - template: etc/ci/azure-posix.yml parameters: job_name: ubuntu18_cpython image_name: ubuntu-18.04 - python_versions: ['3.6', '3.7', '3.8', '3.9', '3.10'] + python_versions: ['3.7', '3.8', '3.9', '3.10'] test_suites: all: venv/bin/pytest -n 2 -vvs @@ -19,7 +23,15 @@ jobs: parameters: job_name: ubuntu20_cpython image_name: ubuntu-20.04 - python_versions: ['3.6', '3.7', '3.8', '3.9', '3.10'] + python_versions: ['3.7', '3.8', '3.9', '3.10'] + test_suites: + all: venv/bin/pytest -n 2 -vvs + + - template: etc/ci/azure-posix.yml + parameters: + job_name: ubuntu22_cpython + image_name: ubuntu-22.04 + python_versions: ['3.7', '3.8', '3.9', '3.10'] test_suites: all: venv/bin/pytest -n 2 -vvs @@ -27,7 +39,7 @@ jobs: parameters: job_name: macos1015_cpython image_name: macos-10.15 - python_versions: ['3.6', '3.7', '3.8', '3.9', '3.10'] + python_versions: ['3.7', '3.8', '3.9', '3.10'] test_suites: all: venv/bin/pytest -n 2 -vvs @@ -39,11 +51,19 @@ jobs: test_suites: all: venv/bin/pytest -n 2 -vvs + - template: etc/ci/azure-posix.yml + parameters: + job_name: macos12_cpython + image_name: macos-12 + python_versions: ['3.7', '3.8', '3.9', '3.10'] + test_suites: + all: venv/bin/pytest -n 2 -vvs + - template: etc/ci/azure-win.yml parameters: job_name: win2019_cpython image_name: windows-2019 - python_versions: ['3.6', '3.7', '3.8', '3.9', '3.10'] + python_versions: ['3.7', '3.8', '3.9', '3.10'] test_suites: all: venv\Scripts\pytest -n 2 -vvs @@ -54,3 +74,34 @@ jobs: python_versions: ['3.7', '3.8', '3.9', '3.10'] test_suites: all: venv\Scripts\pytest -n 2 -vvs + + +################################################################################ +# Tests using a plain pip install to get the latest of all wheels +################################################################################ + + + - template: etc/ci/azure-posix.yml + parameters: + job_name: ubuntu20_cpython_latest_from_pip + image_name: ubuntu-20.04 + python_versions: ['3.7', '3.8', '3.9', '3.10'] + test_suites: + all: venv/bin/pip install --upgrade-strategy eager --force-reinstall --upgrade -e . && venv/bin/pytest -n 2 -vvs + + + - template: etc/ci/azure-win.yml + parameters: + job_name: win2019_cpython_latest_from_pip + image_name: windows-2019 + python_versions: ['3.7', '3.8', '3.9', '3.10'] + test_suites: + all: venv\Scripts\pip install --upgrade-strategy eager --force-reinstall --upgrade -e . && venv\Scripts\pytest -n 2 -vvs + + - template: etc/ci/azure-posix.yml + parameters: + job_name: macos11_cpython_latest_from_pip + image_name: macos-11 + python_versions: ['3.7', '3.8', '3.9', '3.10'] + test_suites: + all: venv/bin/pip install --upgrade-strategy eager --force-reinstall --upgrade -e . && venv/bin/pytest -n 2 -vvs diff --git a/setup.cfg b/setup.cfg index fc94a84..549c05a 100644 --- a/setup.cfg +++ b/setup.cfg @@ -50,7 +50,7 @@ zip_safe = false setup_requires = setuptools_scm[toml] >= 4 -python_requires = >=3.6.* +python_requires = >=3.7 install_requires = click >= 6.7, !=7.0 From 4c634bac1d48492f214ddfe3569d74eaa04ca9cb Mon Sep 17 00:00:00 2001 From: Philippe Ombredanne Date: Wed, 24 Aug 2022 22:11:42 +0200 Subject: [PATCH 17/20] Drop Python 3.6 support Signed-off-by: Philippe Ombredanne --- CHANGELOG.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 9f1b692..5fe344d 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -8,6 +8,7 @@ v31.0.0 - 2022-08-24 - Adopt new commoncode Codebase and Resource - Use latest skeleton - Bump dependencies +- Drop Python 3.6 support v30.0.0 From 8428336ad81ea930df394699ea5daa89fe50f7e7 Mon Sep 17 00:00:00 2001 From: Philippe Ombredanne Date: Wed, 24 Aug 2022 22:20:25 +0200 Subject: [PATCH 18/20] Use correct syntax for requirements Signed-off-by: Philippe Ombredanne --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 650d8cd..005212c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,7 +9,7 @@ chardet==5.0.0 charset-normalizer==2.1.0 click==8.1.3 colorama==0.4.5 -commoncode=31.0.0 +commoncode==31.0.0 construct==2.10.68 container-inspector==31.1.0 cryptography==37.0.4 From e3ab3b6de2c51d601afcbdb1e969ce969ed206bf Mon Sep 17 00:00:00 2001 From: Philippe Ombredanne Date: Wed, 24 Aug 2022 22:39:43 +0200 Subject: [PATCH 19/20] Correct spacing Signed-off-by: Philippe Ombredanne --- configure | 1 + 1 file changed, 1 insertion(+) diff --git a/configure b/configure index 062b901..32e02f5 100755 --- a/configure +++ b/configure @@ -67,6 +67,7 @@ if [[ "$(echo $THIRDPARDIR/*.whl)x" != "$THIRDPARDIR/*.whlx" ]]; then PIP_EXTRA_ARGS="$NO_INDEX --find-links $THIRDPARDIR" fi + ################################ # Set the quiet flag to empty if not defined if [[ "$CFG_QUIET" == "" ]]; then From cdae939acf2b644a6358a9653734692f6310bd2c Mon Sep 17 00:00:00 2001 From: Philippe Ombredanne Date: Wed, 24 Aug 2022 22:51:00 +0200 Subject: [PATCH 20/20] Streamline metadata and correct reqs Signed-off-by: Philippe Ombredanne --- requirements.txt | 1 - setup.cfg | 5 ----- 2 files changed, 6 deletions(-) diff --git a/requirements.txt b/requirements.txt index 005212c..3ca8ceb 100644 --- a/requirements.txt +++ b/requirements.txt @@ -46,7 +46,6 @@ pefile==2022.5.30 pip-requirements-parser==31.2.0 pkginfo2==30.0.0 pluggy==1.0.0 -plugincode==31.0.0b1 ply==3.11 publicsuffix2==2.20191221 pyahocorasick==2.0.0b1 diff --git a/setup.cfg b/setup.cfg index 549c05a..53df7e3 100644 --- a/setup.cfg +++ b/setup.cfg @@ -16,11 +16,6 @@ classifiers = Intended Audience :: Developers Programming Language :: Python :: 3 Programming Language :: Python :: 3 :: Only - Programming Language :: Python :: 3.6 - Programming Language :: Python :: 3.7 - Programming Language :: Python :: 3.8 - Programming Language :: Python :: 3.9 - Programming Language :: Python :: 3.10 Topic :: Software Development Topic :: Utilities