diff --git a/.editorconfig b/.editorconfig index 919b411..fa698fb 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,5 +1,5 @@ # Generated from: -# https://github.com/plone/meta/tree/master/config/default +# https://github.com/plone/meta/tree/main/config/default # See the inline comments on how to expand/tweak this configuration file # # EditorConfig Configuration file, for more details see: @@ -29,13 +29,14 @@ max_line_length = off # 4 space indentation indent_size = 4 -[*.{yml,zpt,pt,dtml,zcml}] +[*.{yml,zpt,pt,dtml,zcml,html,xml}] # 2 space indentation indent_size = 2 -[*.{json,jsonl,js,jsx,ts,tsx,css,less,scss,html}] # Frontend development +[*.{json,jsonl,js,jsx,ts,tsx,css,less,scss}] # Frontend development # 2 space indentation indent_size = 2 +max_line_length = 80 [{Makefile,.gitmodules}] # Tab indentation (no size specified, but view as 4 spaces) diff --git a/.flake8 b/.flake8 index 7ef4f64..38918f4 100644 --- a/.flake8 +++ b/.flake8 @@ -1,5 +1,5 @@ # Generated from: -# https://github.com/plone/meta/tree/master/config/default +# https://github.com/plone/meta/tree/main/config/default # See the inline comments on how to expand/tweak this configuration file [flake8] doctests = 1 diff --git a/.github/workflows/meta.yml b/.github/workflows/meta.yml index 4748f0f..b8edec0 100644 --- a/.github/workflows/meta.yml +++ b/.github/workflows/meta.yml @@ -1,5 +1,5 @@ # Generated from: -# https://github.com/plone/meta/tree/master/config/default +# https://github.com/plone/meta/tree/main/config/default # See the inline comments on how to expand/tweak this configuration file name: Meta on: @@ -13,16 +13,56 @@ on: - main workflow_dispatch: +## +# To set environment variables for all jobs, add in .meta.toml: +# [github] +# env = """ +# debug: 1 +# image-name: 'org/image' +# image-tag: 'latest' +# """ +## + jobs: qa: - uses: plone/meta/.github/workflows/qa.yml@master + uses: plone/meta/.github/workflows/qa.yml@main test: - uses: plone/meta/.github/workflows/test.yml@master + uses: plone/meta/.github/workflows/test.yml@main coverage: - uses: plone/meta/.github/workflows/coverage.yml@master + uses: plone/meta/.github/workflows/coverage.yml@main dependencies: - uses: plone/meta/.github/workflows/dependencies.yml@master - release-ready: - uses: plone/meta/.github/workflows/release_ready.yml@master + uses: plone/meta/.github/workflows/dependencies.yml@main + release_ready: + uses: plone/meta/.github/workflows/release_ready.yml@main circular: - uses: plone/meta/.github/workflows/circular.yml@master + uses: plone/meta/.github/workflows/circular.yml@main + +## +# To modify the list of default jobs being created add in .meta.toml: +# [github] +# jobs = [ +# "qa", +# "test", +# "coverage", +# "dependencies", +# "release_ready", +# "circular", +# ] +## + +## +# To request that some OS level dependencies get installed +# when running tests/coverage jobs, add in .meta.toml: +# [github] +# os_dependencies = "git libxml2 libxslt" +## + + +## +# Specify additional jobs in .meta.toml: +# [github] +# extra_lines = """ +# another: +# uses: org/repo/.github/workflows/file.yml@main +# """ +## diff --git a/.gitignore b/.gitignore index 0690a90..486392f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,14 +1,18 @@ # Generated from: -# https://github.com/plone/meta/tree/master/config/default +# https://github.com/plone/meta/tree/main/config/default # See the inline comments on how to expand/tweak this configuration file # python related *.egg-info *.pyc *.pyo +# translation related +*.mo + # tools related build/ .coverage +.*project coverage.xml dist/ docs/_build @@ -24,12 +28,14 @@ eggs/ .eggs/ etc/ .installed.cfg +include/ lib/ lib64 .mr.developer.cfg parts/ pyvenv.cfg var/ +local.cfg # mxdev /instance/ diff --git a/.meta.toml b/.meta.toml index c4e7472..d4b79f8 100644 --- a/.meta.toml +++ b/.meta.toml @@ -1,6 +1,6 @@ # Generated from: -# https://github.com/plone/meta/tree/master/config/default +# https://github.com/plone/meta/tree/main/config/default # See the inline comments on how to expand/tweak this configuration file [meta] template = "default" -commit-id = "55bda5c9" +commit-id = "6e36bcc4" diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index c35f27e..caf34e5 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,5 +1,5 @@ # Generated from: -# https://github.com/plone/meta/tree/master/config/default +# https://github.com/plone/meta/tree/main/config/default # See the inline comments on how to expand/tweak this configuration file ci: autofix_prs: false @@ -35,6 +35,14 @@ repos: rev: 6.1.0 hooks: - id: flake8 + +## +# Add extra configuration options in .meta.toml: +# [pre_commit] +# flake8_extra_lines = """ +# _your own configuration lines_ +# """ +## - repo: https://github.com/codespell-project/codespell rev: v2.2.6 hooks: @@ -67,6 +75,16 @@ repos: hooks: - id: i18ndude + +## +# Add extra configuration options in .meta.toml: +# [pre_commit] +# i18ndude_extra_lines = """ +# _your own configuration lines_ +# """ +## + + ## # Add extra configuration options in .meta.toml: # [pre_commit] diff --git a/news/6e36bcc4.internal b/news/6e36bcc4.internal new file mode 100644 index 0000000..c08f539 --- /dev/null +++ b/news/6e36bcc4.internal @@ -0,0 +1,2 @@ +Update configuration files. +[plone devs] diff --git a/pyproject.toml b/pyproject.toml index 46d3d7a..f39d091 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,9 @@ # Generated from: -# https://github.com/plone/meta/tree/master/config/default +# https://github.com/plone/meta/tree/main/config/default # See the inline comments on how to expand/tweak this configuration file +[build-system] +requires = ["setuptools>=68.2"] + [tool.towncrier] directory = "news/" filename = "CHANGES.rst" @@ -37,12 +40,36 @@ directory = "tests" name = "Tests" showcontent = true +## +# Add extra configuration options in .meta.toml: +# [pyproject] +# towncrier_extra_lines = """ +# extra_configuration +# """ +## + [tool.isort] profile = "plone" +## +# Add extra configuration options in .meta.toml: +# [pyproject] +# isort_extra_lines = """ +# extra_configuration +# """ +## + [tool.black] target-version = ["py38"] +## +# Add extra configuration options in .meta.toml: +# [pyproject] +# black_extra_lines = """ +# extra_configuration +# """ +## + [tool.codespell] ignore-words-list = "discreet," skip = "*.po," @@ -101,7 +128,6 @@ python-dateutil = ['dateutil'] # "gitpython = ['git']", # "pygithub = ['github']", # ] -# """ ## [tool.check-manifest] diff --git a/setup.py b/setup.py index 74afe2c..7409e58 100644 --- a/setup.py +++ b/setup.py @@ -43,14 +43,10 @@ install_requires=[ "lxml", "setuptools", - "zope.deprecation", - "zope.interface", - "zope.schema", - "zope.security", - "zope.dottedname", "plone.supermodel>=1.3", "plone.z3cform>=2.0.0", "z3c.form", + "Zope", ], extras_require={ "test": [ diff --git a/tox.ini b/tox.ini index 8812d6e..b9f4c9c 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ # Generated from: -# https://github.com/plone/meta/tree/master/config/default +# https://github.com/plone/meta/tree/main/config/default # See the inline comments on how to expand/tweak this configuration file [tox] # We need 4.4.0 for constrain_package_deps. @@ -32,6 +32,21 @@ commands = echo "Unrecognized environment name {envname}" false +## +# Add extra configuration options in .meta.toml: +# [tox] +# testenv_options = """ +# basepython = /usr/bin/python3.8 +# """ +## + +[testenv:init] +description = Prepare environment +skip_install = true +commands = + echo "Initial setup complete" + + [testenv:format] description = automatically reformat code skip_install = true @@ -56,9 +71,9 @@ description = check if the package defines all its dependencies skip_install = true deps = build - z3c.dependencychecker==2.11 + z3c.dependencychecker==2.14.3 commands = - python -m build --sdist --no-isolation + python -m build --sdist dependencychecker [testenv:dependencies-graph] @@ -77,31 +92,75 @@ description = run the distribution tests use_develop = true skip_install = false constrain_package_deps = true -set_env = ROBOT_BROWSER=headlesschrome +set_env = + ROBOT_BROWSER=headlesschrome + +## +# Specify extra test environment variables in .meta.toml: +# [tox] +# test_environment_variables = """ +# PIP_EXTRA_INDEX_URL=https://my-pypi.my-server.com/ +# """ +# +# Set constrain_package_deps .meta.toml: +# [tox] +# constrain_package_deps = "false" +## deps = zope.testrunner -c https://dist.plone.org/release/6.0-dev/constraints.txt + +## +# Specify additional deps in .meta.toml: +# [tox] +# test_deps_additional = "-esources/plonegovbr.portal_base[test]" +# +# Specify a custom constraints file in .meta.toml: +# [tox] +# constraints_file = "https://my-server.com/constraints.txt" +## commands = zope-testrunner --all --test-path={toxinidir} -s plone.autoform {posargs} extras = test +## +# Add extra configuration options in .meta.toml: +# [tox] +# test_extras = """ +# tests +# widgets +# """ +## + [testenv:coverage] description = get a test coverage report use_develop = true skip_install = false constrain_package_deps = true -set_env = ROBOT_BROWSER=headlesschrome +set_env = + ROBOT_BROWSER=headlesschrome + +## +# Specify extra test environment variables in .meta.toml: +# [tox] +# test_environment_variables = """ +# PIP_EXTRA_INDEX_URL=https://my-pypi.my-server.com/ +# """ +## deps = coverage zope.testrunner -c https://dist.plone.org/release/6.0-dev/constraints.txt + commands = - coverage run --source plone.autoform {envbindir}/zope-testrunner --quiet --all --test-path={toxinidir} -s plone.autoform {posargs} + coverage run --branch --source plone.autoform {envbindir}/zope-testrunner --quiet --all --test-path={toxinidir} -s plone.autoform {posargs} coverage report -m --format markdown + coverage xml extras = test + [testenv:release-check] description = ensure that the distribution is ready to release skip_install = true @@ -110,24 +169,35 @@ deps = build towncrier -c https://dist.plone.org/release/6.0-dev/constraints.txt + commands = # fake version to not have to install the package # we build the change log as news entries might break # the README that is displayed on PyPI towncrier build --version=100.0.0 --yes - python -m build --sdist --no-isolation + python -m build --sdist twine check dist/* [testenv:circular] description = ensure there are no cyclic dependencies use_develop = true skip_install = false +set_env = + +## +# Specify extra test environment variables in .meta.toml: +# [tox] +# test_environment_variables = """ +# PIP_EXTRA_INDEX_URL=https://my-pypi.my-server.com/ +# """ +## allowlist_externals = sh deps = pipdeptree pipforester -c https://dist.plone.org/release/6.0-dev/constraints.txt + commands = # Generate the full dependency tree sh -c 'pipdeptree -j > forest.json' @@ -141,6 +211,6 @@ commands = # Add extra configuration options in .meta.toml: # [tox] # extra_lines = """ -# my_other_environment +# _your own configuration lines_ # """ ##