From 7cb8779699d067de6b4e56f77df1fc09bcca86f7 Mon Sep 17 00:00:00 2001 From: gforcada Date: Sun, 17 Mar 2024 13:21:08 +0100 Subject: [PATCH] [fc] Repository: plone.app.users Branch: refs/heads/master Date: 2024-03-11T13:34:18+01:00 Author: Maurits van Rees (mauritsvanrees) Commit: https://github.com/plone/plone.app.users/commit/ac8a95b41cf82e3a87e7f9b17b0c252942c61a58 Configuring with plone/meta Files changed: A dependabot.yml A news/+meta.internal M .editorconfig M .flake8 M .github/workflows/meta.yml M .gitignore M .meta.toml M .pre-commit-config.yaml M pyproject.toml M tox.ini Repository: plone.app.users Branch: refs/heads/master Date: 2024-03-11T14:03:52+01:00 Author: Maurits van Rees (mauritsvanrees) Commit: https://github.com/plone/plone.app.users/commit/09bdeaa8feea45d69610bc5d379ee236912f4658 Fix tox dependencies and circular envs. Depend on Zope. Use `constrain_package_deps = true` so the circular env does not blindly install the latest packages from PyPI. We have this in most envs already. See also https://github.com/plone/meta/pull/220 Files changed: M setup.py M tox.ini Repository: plone.app.users Branch: refs/heads/master Date: 2024-03-11T14:44:37+01:00 Author: Maurits van Rees (mauritsvanrees) Commit: https://github.com/plone/plone.app.users/commit/7591ed617e7ee0540c980b0e92741a6b9cc7469d black and codespell Files changed: M plone/app/users/schema.py M plone/app/users/tests/base.py Repository: plone.app.users Branch: refs/heads/master Date: 2024-03-17T13:21:08+01:00 Author: Gil Forcada Codinachs (gforcada) Commit: https://github.com/plone/plone.app.users/commit/bff94a3e5fcce6a9aca6e5736cf57e90c2ca27f9 Merge pull request #124 from plone/config-with-default-template-123ebc0a Config with default template 123ebc0a Files changed: A dependabot.yml A news/+meta.internal M .editorconfig M .flake8 M .github/workflows/meta.yml M .gitignore M .meta.toml M .pre-commit-config.yaml M plone/app/users/schema.py M plone/app/users/tests/base.py M pyproject.toml M setup.py M tox.ini --- last_commit.txt | 93 ++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 73 insertions(+), 20 deletions(-) diff --git a/last_commit.txt b/last_commit.txt index 9cd269105c..1c5b43477a 100644 --- a/last_commit.txt +++ b/last_commit.txt @@ -1,38 +1,91 @@ -Repository: plone.app.discussion +Repository: plone.app.users Branch: refs/heads/master -Date: 2024-03-15T11:48:27-03:00 -Author: wesleybl (wesleybl) -Commit: https://github.com/plone/plone.app.discussion/commit/153f24a5408938a68ceb0d7180efd2e811db9646 +Date: 2024-03-11T13:34:18+01:00 +Author: Maurits van Rees (mauritsvanrees) +Commit: https://github.com/plone/plone.app.users/commit/ac8a95b41cf82e3a87e7f9b17b0c252942c61a58 -Fix test "Add a Comment to a Document and bulk delete it" +Configuring with plone/meta -Fix test robot. Waiting for the select option to be enabled does not -guarantee that the selection will occur. Maybe because it is a modal -loaded by ajax. Then we try to select the value 5x. +Files changed: +A dependabot.yml +A news/+meta.internal +M .editorconfig +M .flake8 +M .github/workflows/meta.yml +M .gitignore +M .meta.toml +M .pre-commit-config.yaml +M pyproject.toml +M tox.ini + +b'diff --git a/.editorconfig b/.editorconfig\nindex 919b4116..5b3c112c 100644\n--- a/.editorconfig\n+++ b/.editorconfig\n@@ -1,5 +1,5 @@\n # Generated from:\n-# https://github.com/plone/meta/tree/master/config/default\n+# https://github.com/plone/meta/tree/main/config/default\n # See the inline comments on how to expand/tweak this configuration file\n #\n # EditorConfig Configuration file, for more details see:\n@@ -13,7 +13,8 @@\n root = true\n \n \n-[*] # For All Files\n+[*]\n+# Default settings for all files.\n # Unix-style newlines with a newline ending every file\n end_of_line = lf\n insert_final_newline = true\n@@ -29,13 +30,15 @@ max_line_length = off\n # 4 space indentation\n indent_size = 4\n \n-[*.{yml,zpt,pt,dtml,zcml}]\n+[*.{yml,zpt,pt,dtml,zcml,html,xml}]\n # 2 space indentation\n indent_size = 2\n \n-[*.{json,jsonl,js,jsx,ts,tsx,css,less,scss,html}] # Frontend development\n+[*.{json,jsonl,js,jsx,ts,tsx,css,less,scss}]\n+# Frontend development\n # 2 space indentation\n indent_size = 2\n+max_line_length = 80\n \n [{Makefile,.gitmodules}]\n # Tab indentation (no size specified, but view as 4 spaces)\ndiff --git a/.flake8 b/.flake8\nindex 7ef4f64d..38918f42 100644\n--- a/.flake8\n+++ b/.flake8\n@@ -1,5 +1,5 @@\n # Generated from:\n-# https://github.com/plone/meta/tree/master/config/default\n+# https://github.com/plone/meta/tree/main/config/default\n # See the inline comments on how to expand/tweak this configuration file\n [flake8]\n doctests = 1\ndiff --git a/.github/workflows/meta.yml b/.github/workflows/meta.yml\nindex a7f25e02..b8edec02 100644\n--- a/.github/workflows/meta.yml\n+++ b/.github/workflows/meta.yml\n@@ -1,5 +1,5 @@\n # Generated from:\n-# https://github.com/plone/meta/tree/master/config/default\n+# https://github.com/plone/meta/tree/main/config/default\n # See the inline comments on how to expand/tweak this configuration file\n name: Meta\n on:\n@@ -13,6 +13,16 @@ on:\n - main\n workflow_dispatch:\n \n+##\n+# To set environment variables for all jobs, add in .meta.toml:\n+# [github]\n+# env = """\n+# debug: 1\n+# image-name: \'org/image\'\n+# image-tag: \'latest\'\n+# """\n+##\n+\n jobs:\n qa:\n uses: plone/meta/.github/workflows/qa.yml@main\n@@ -22,7 +32,37 @@ jobs:\n uses: plone/meta/.github/workflows/coverage.yml@main\n dependencies:\n uses: plone/meta/.github/workflows/dependencies.yml@main\n- release-ready:\n+ release_ready:\n uses: plone/meta/.github/workflows/release_ready.yml@main\n circular:\n uses: plone/meta/.github/workflows/circular.yml@main\n+\n+##\n+# To modify the list of default jobs being created add in .meta.toml:\n+# [github]\n+# jobs = [\n+# "qa",\n+# "test",\n+# "coverage",\n+# "dependencies",\n+# "release_ready",\n+# "circular",\n+# ]\n+##\n+\n+##\n+# To request that some OS level dependencies get installed\n+# when running tests/coverage jobs, add in .meta.toml:\n+# [github]\n+# os_dependencies = "git libxml2 libxslt"\n+##\n+\n+\n+##\n+# Specify additional jobs in .meta.toml:\n+# [github]\n+# extra_lines = """\n+# another:\n+# uses: org/repo/.github/workflows/file.yml@main\n+# """\n+##\ndiff --git a/.gitignore b/.gitignore\nindex 81594fde..486392f6 100644\n--- a/.gitignore\n+++ b/.gitignore\n@@ -1,14 +1,18 @@\n # Generated from:\n-# https://github.com/plone/meta/tree/master/config/default\n+# https://github.com/plone/meta/tree/main/config/default\n # See the inline comments on how to expand/tweak this configuration file\n # python related\n *.egg-info\n *.pyc\n *.pyo\n \n+# translation related\n+*.mo\n+\n # tools related\n build/\n .coverage\n+.*project\n coverage.xml\n dist/\n docs/_build\n@@ -31,6 +35,7 @@ lib64\n parts/\n pyvenv.cfg\n var/\n+local.cfg\n \n # mxdev\n /instance/\ndiff --git a/.meta.toml b/.meta.toml\nindex 0a061e9b..3b50967f 100644\n--- a/.meta.toml\n+++ b/.meta.toml\n@@ -1,9 +1,9 @@\n # Generated from:\n-# https://github.com/plone/meta/tree/master/config/default\n+# https://github.com/plone/meta/tree/main/config/default\n # See the inline comments on how to expand/tweak this configuration file\n [meta]\n template = "default"\n-commit-id = "cfffba8c"\n+commit-id = "123ebc0a"\n \n [pyproject]\n codespell_ignores = "complet,exemple"\ndiff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml\nindex 7de9fd70..f857b483 100644\n--- a/.pre-commit-config.yaml\n+++ b/.pre-commit-config.yaml\n@@ -1,5 +1,5 @@\n # Generated from:\n-# https://github.com/plone/meta/tree/master/config/default\n+# https://github.com/plone/meta/tree/main/config/default\n # See the inline comments on how to expand/tweak this configuration file\n ci:\n autofix_prs: false\n@@ -7,20 +7,20 @@ ci:\n \n repos:\n - repo: https://github.com/asottile/pyupgrade\n- rev: v3.4.0\n+ rev: v3.15.0\n hooks:\n - id: pyupgrade\n args: [--py38-plus]\n - repo: https://github.com/pycqa/isort\n- rev: 5.12.0\n+ rev: 5.13.2\n hooks:\n - id: isort\n - repo: https://github.com/psf/black\n- rev: 23.3.0\n+ rev: 24.1.1\n hooks:\n - id: black\n - repo: https://github.com/collective/zpretty\n- rev: 3.1.0a2\n+ rev: 3.1.0\n hooks:\n - id: zpretty\n \n@@ -32,7 +32,7 @@ repos:\n # """\n ##\n - repo: https://github.com/PyCQA/flake8\n- rev: 6.0.0\n+ rev: 7.0.0\n hooks:\n - id: flake8\n \n@@ -44,7 +44,7 @@ repos:\n # """\n ##\n - repo: https://github.com/codespell-project/codespell\n- rev: v2.2.4\n+ rev: v2.2.6\n hooks:\n - id: codespell\n additional_dependencies:\n@@ -66,15 +66,25 @@ repos:\n hooks:\n - id: pyroma\n - repo: https://github.com/mgedmin/check-python-versions\n- rev: "0.21.2"\n+ rev: "0.22.0"\n hooks:\n - id: check-python-versions\n args: [\'--only\', \'setup.py,pyproject.toml\']\n - repo: https://github.com/collective/i18ndude\n- rev: "6.0.0"\n+ rev: "6.1.0"\n hooks:\n - id: i18ndude\n \n+\n+##\n+# Add extra configuration options in .meta.toml:\n+# [pre_commit]\n+# i18ndude_extra_lines = """\n+# _your own configuration lines_\n+# """\n+##\n+\n+\n ##\n # Add extra configuration options in .meta.toml:\n # [pre_commit]\ndiff --git a/dependabot.yml b/dependabot.yml\nnew file mode 100644\nindex 00000000..bbd3ab05\n--- /dev/null\n+++ b/dependabot.yml\n@@ -0,0 +1,11 @@\n+# Generated from:\n+# https://github.com/plone/meta/tree/main/config/default\n+# See the inline comments on how to expand/tweak this configuration file\n+version: 2\n+updates:\n+\n+ - package-ecosystem: "github-actions"\n+ directory: "/"\n+ schedule:\n+ # Check for updates to GitHub Actions every week\n+ interval: "weekly"\ndiff --git a/news/+meta.internal b/news/+meta.internal\nnew file mode 100644\nindex 00000000..c08f5399\n--- /dev/null\n+++ b/news/+meta.internal\n@@ -0,0 +1,2 @@\n+Update configuration files.\n+[plone devs]\ndiff --git a/pyproject.toml b/pyproject.toml\nindex 62234f63..125c535a 100644\n--- a/pyproject.toml\n+++ b/pyproject.toml\n@@ -1,6 +1,9 @@\n # Generated from:\n-# https://github.com/plone/meta/tree/master/config/default\n+# https://github.com/plone/meta/tree/main/config/default\n # See the inline comments on how to expand/tweak this configuration file\n+[build-system]\n+requires = ["setuptools>=68.2"]\n+\n [tool.towncrier]\n directory = "news/"\n filename = "CHANGES.rst"\n@@ -126,19 +129,20 @@ ignore-packages = [\'Products.CMFPlone\']\n # "gitpython = [\'git\']",\n # "pygithub = [\'github\']",\n # ]\n-# """\n ##\n \n [tool.check-manifest]\n ignore = [\n ".editorconfig",\n+ ".flake8",\n ".meta.toml",\n ".pre-commit-config.yaml",\n- "tox.ini",\n- ".flake8",\n+ "dependabot.yml",\n "mx.ini",\n+ "tox.ini",\n \n ]\n+\n ##\n # Add extra configuration options in .meta.toml:\n # [pyproject]\n@@ -146,6 +150,11 @@ ignore = [\n # "*.map.js",\n # "*.pyc",\n # """\n+# check_manifest_extra_lines = """\n+# ignore-bad-ideas = [\n+# "some/test/file/PKG-INFO",\n+# ]\n+# """\n ##\n \n \ndiff --git a/tox.ini b/tox.ini\nindex 3369a402..2f2bc6ca 100644\n--- a/tox.ini\n+++ b/tox.ini\n@@ -1,5 +1,5 @@\n # Generated from:\n-# https://github.com/plone/meta/tree/master/config/default\n+# https://github.com/plone/meta/tree/main/config/default\n # See the inline comments on how to expand/tweak this configuration file\n [tox]\n # We need 4.4.0 for constrain_package_deps.\n@@ -32,6 +32,21 @@ commands =\n echo "Unrecognized environment name {envname}"\n false\n \n+##\n+# Add extra configuration options in .meta.toml:\n+# [tox]\n+# testenv_options = """\n+# basepython = /usr/bin/python3.8\n+# """\n+##\n+\n+[testenv:init]\n+description = Prepare environment\n+skip_install = true\n+commands =\n+ echo "Initial setup complete"\n+\n+\n [testenv:format]\n description = automatically reformat code\n skip_install = true\n@@ -56,9 +71,9 @@ description = check if the package defines all its dependencies\n skip_install = true\n deps =\n build\n- z3c.dependencychecker==2.11\n+ z3c.dependencychecker==2.14.3\n commands =\n- python -m build --sdist --no-isolation\n+ python -m build --sdist\n dependencychecker\n \n [testenv:dependencies-graph]\n@@ -86,16 +101,26 @@ set_env =\n # test_environment_variables = """\n # PIP_EXTRA_INDEX_URL=https://my-pypi.my-server.com/\n # """\n+#\n+# Set constrain_package_deps .meta.toml:\n+# [tox]\n+# constrain_package_deps = "false"\n ##\n deps =\n zope.testrunner\n -c https://dist.plone.org/release/6.0-dev/constraints.txt\n+\n ##\n+# Specify additional deps in .meta.toml:\n+# [tox]\n+# test_deps_additional = "-esources/plonegovbr.portal_base[test]"\n+#\n # Specify a custom constraints file in .meta.toml:\n # [tox]\n # constraints_file = "https://my-server.com/constraints.txt"\n ##\n commands =\n+ rfbrowser init\n zope-testrunner --all --test-path={toxinidir} -s plone.app.users {posargs}\n extras =\n test\n@@ -128,10 +153,13 @@ deps =\n coverage\n zope.testrunner\n -c https://dist.plone.org/release/6.0-dev/constraints.txt\n+\n commands =\n+ rfbrowser init\n coverage run --branch --source plone.app.users {envbindir}/zope-testrunner --quiet --all --test-path={toxinidir} -s plone.app.users {posargs}\n coverage report -m --format markdown\n coverage xml\n+ coverage html\n extras =\n test\n \n@@ -144,12 +172,13 @@ deps =\n build\n towncrier\n -c https://dist.plone.org/release/6.0-dev/constraints.txt\n+\n commands =\n # fake version to not have to install the package\n # we build the change log as news entries might break\n # the README that is displayed on PyPI\n towncrier build --version=100.0.0 --yes\n- python -m build --sdist --no-isolation\n+ python -m build --sdist\n twine check dist/*\n \n [testenv:circular]\n@@ -171,6 +200,7 @@ deps =\n pipdeptree\n pipforester\n -c https://dist.plone.org/release/6.0-dev/constraints.txt\n+\n commands =\n # Generate the full dependency tree\n sh -c \'pipdeptree -j > forest.json\'\n' + +Repository: plone.app.users + + +Branch: refs/heads/master +Date: 2024-03-11T14:03:52+01:00 +Author: Maurits van Rees (mauritsvanrees) +Commit: https://github.com/plone/plone.app.users/commit/09bdeaa8feea45d69610bc5d379ee236912f4658 + +Fix tox dependencies and circular envs. + +Depend on Zope. + +Use `constrain_package_deps = true` so the circular env does not blindly install the latest packages from PyPI. +We have this in most envs already. +See also https://github.com/plone/meta/pull/220 + +Files changed: +M setup.py +M tox.ini + +b'diff --git a/setup.py b/setup.py\nindex ddd88c0..7bf9bcc 100644\n--- a/setup.py\n+++ b/setup.py\n@@ -62,6 +62,7 @@\n "Products.GenericSetup",\n "Products.PlonePAS >= 5.0.1",\n "Products.statusmessages",\n+ "Zope",\n "plone.app.layout",\n "plone.autoform >= 1.2",\n "plone.app.event",\ndiff --git a/tox.ini b/tox.ini\nindex 2f2bc6c..b7ed99f 100644\n--- a/tox.ini\n+++ b/tox.ini\n@@ -185,6 +185,9 @@ commands =\n description = ensure there are no cyclic dependencies\n use_develop = true\n skip_install = false\n+# Here we must always constrain the package deps to what is already installed,\n+# otherwise we simply get the latest from PyPI, which may not work.\n+constrain_package_deps = true\n set_env =\n \n ##\n' + +Repository: plone.app.users + + +Branch: refs/heads/master +Date: 2024-03-11T14:44:37+01:00 +Author: Maurits van Rees (mauritsvanrees) +Commit: https://github.com/plone/plone.app.users/commit/7591ed617e7ee0540c980b0e92741a6b9cc7469d + +black and codespell Files changed: -A news/228.internal -M plone/app/discussion/tests/robot/test_moderation.robot +M plone/app/users/schema.py +M plone/app/users/tests/base.py -b'diff --git a/news/228.internal b/news/228.internal\nnew file mode 100644\nindex 00000000..49e8a7b6\n--- /dev/null\n+++ b/news/228.internal\n@@ -0,0 +1 @@\n+Fix test "Add a Comment to a Document and bulk delete it". @wesleybl\ndiff --git a/plone/app/discussion/tests/robot/test_moderation.robot b/plone/app/discussion/tests/robot/test_moderation.robot\nindex 81018d72..bacdc1ca 100644\n--- a/plone/app/discussion/tests/robot/test_moderation.robot\n+++ b/plone/app/discussion/tests/robot/test_moderation.robot\n@@ -28,6 +28,12 @@ Last history entry is shown\n \n *** Keywords ***\n \n+Select And Check\n+ [Arguments] ${selector} ${value}\n+ Select From List by Value ${selector} ${value}\n+ ${selected_value} = Get Selected List Value ${selector}\n+ Should Be Equal As Strings ${selected_value} ${value}\n+\n # Given\n \n a logged-in Site Administrator\n@@ -62,7 +68,7 @@ I add a comment and delete it\n Click Button Comment\n Go To ${PLONE_URL}/@@moderate-comments?review_state=all\n Wait Until Element Is Enabled css=option[value=delete]\n- Select from list by value xpath://select[@name=\'form.select.BulkAction\'] delete\n+ Wait Until Keyword Succeeds 5x 1s Select And Check xpath://select[@name=\'form.select.BulkAction\'] delete\n Select Checkbox name=check_all\n Sleep 1s\n Wait For Then Click Element css=button[name="form.button.BulkAction"]\n' +b'diff --git a/plone/app/users/schema.py b/plone/app/users/schema.py\nindex 67da6ae..2c5fdbf 100644\n--- a/plone/app/users/schema.py\n+++ b/plone/app/users/schema.py\n@@ -36,13 +36,13 @@ def checkEmailAddress(value):\n \n \n class ProtectedTextLine(schema.TextLine):\n- """TextLine field which cannot be edited via shema editor"""\n+ """TextLine field which cannot be edited via schema editor"""\n \n pass\n \n \n class ProtectedEmail(Email):\n- """Email field which cannot be edited via shema editor"""\n+ """Email field which cannot be edited via schema editor"""\n \n pass\n \ndiff --git a/plone/app/users/tests/base.py b/plone/app/users/tests/base.py\nindex b059d13..52e4b16 100644\n--- a/plone/app/users/tests/base.py\n+++ b/plone/app/users/tests/base.py\n@@ -4,6 +4,7 @@\n packages which register accountpanels. They should be able to import it\n without the PloneTestCase.setupPloneSite() side effects.\n """\n+\n from AccessControl.SecurityInfo import ClassSecurityInfo\n from Acquisition import aq_base\n from OFS.Cache import Cacheable\n' -Repository: plone.app.discussion +Repository: plone.app.users Branch: refs/heads/master -Date: 2024-03-15T17:22:04+01:00 -Author: Maurits van Rees (mauritsvanrees) -Commit: https://github.com/plone/plone.app.discussion/commit/3e8801e50c0d26052bcde1022cd94e9bd6c34951 +Date: 2024-03-17T13:21:08+01:00 +Author: Gil Forcada Codinachs (gforcada) +Commit: https://github.com/plone/plone.app.users/commit/bff94a3e5fcce6a9aca6e5736cf57e90c2ca27f9 -Merge pull request #228 from plone/fix_robot +Merge pull request #124 from plone/config-with-default-template-123ebc0a -Fix test "Add a Comment to a Document and bulk delete it" +Config with default template 123ebc0a Files changed: -A news/228.internal -M plone/app/discussion/tests/robot/test_moderation.robot +A dependabot.yml +A news/+meta.internal +M .editorconfig +M .flake8 +M .github/workflows/meta.yml +M .gitignore +M .meta.toml +M .pre-commit-config.yaml +M plone/app/users/schema.py +M plone/app/users/tests/base.py +M pyproject.toml +M setup.py +M tox.ini -b'diff --git a/news/228.internal b/news/228.internal\nnew file mode 100644\nindex 00000000..49e8a7b6\n--- /dev/null\n+++ b/news/228.internal\n@@ -0,0 +1 @@\n+Fix test "Add a Comment to a Document and bulk delete it". @wesleybl\ndiff --git a/plone/app/discussion/tests/robot/test_moderation.robot b/plone/app/discussion/tests/robot/test_moderation.robot\nindex 81018d72..bacdc1ca 100644\n--- a/plone/app/discussion/tests/robot/test_moderation.robot\n+++ b/plone/app/discussion/tests/robot/test_moderation.robot\n@@ -28,6 +28,12 @@ Last history entry is shown\n \n *** Keywords ***\n \n+Select And Check\n+ [Arguments] ${selector} ${value}\n+ Select From List by Value ${selector} ${value}\n+ ${selected_value} = Get Selected List Value ${selector}\n+ Should Be Equal As Strings ${selected_value} ${value}\n+\n # Given\n \n a logged-in Site Administrator\n@@ -62,7 +68,7 @@ I add a comment and delete it\n Click Button Comment\n Go To ${PLONE_URL}/@@moderate-comments?review_state=all\n Wait Until Element Is Enabled css=option[value=delete]\n- Select from list by value xpath://select[@name=\'form.select.BulkAction\'] delete\n+ Wait Until Keyword Succeeds 5x 1s Select And Check xpath://select[@name=\'form.select.BulkAction\'] delete\n Select Checkbox name=check_all\n Sleep 1s\n Wait For Then Click Element css=button[name="form.button.BulkAction"]\n' +b'diff --git a/.editorconfig b/.editorconfig\nindex 919b4116..5b3c112c 100644\n--- a/.editorconfig\n+++ b/.editorconfig\n@@ -1,5 +1,5 @@\n # Generated from:\n-# https://github.com/plone/meta/tree/master/config/default\n+# https://github.com/plone/meta/tree/main/config/default\n # See the inline comments on how to expand/tweak this configuration file\n #\n # EditorConfig Configuration file, for more details see:\n@@ -13,7 +13,8 @@\n root = true\n \n \n-[*] # For All Files\n+[*]\n+# Default settings for all files.\n # Unix-style newlines with a newline ending every file\n end_of_line = lf\n insert_final_newline = true\n@@ -29,13 +30,15 @@ max_line_length = off\n # 4 space indentation\n indent_size = 4\n \n-[*.{yml,zpt,pt,dtml,zcml}]\n+[*.{yml,zpt,pt,dtml,zcml,html,xml}]\n # 2 space indentation\n indent_size = 2\n \n-[*.{json,jsonl,js,jsx,ts,tsx,css,less,scss,html}] # Frontend development\n+[*.{json,jsonl,js,jsx,ts,tsx,css,less,scss}]\n+# Frontend development\n # 2 space indentation\n indent_size = 2\n+max_line_length = 80\n \n [{Makefile,.gitmodules}]\n # Tab indentation (no size specified, but view as 4 spaces)\ndiff --git a/.flake8 b/.flake8\nindex 7ef4f64d..38918f42 100644\n--- a/.flake8\n+++ b/.flake8\n@@ -1,5 +1,5 @@\n # Generated from:\n-# https://github.com/plone/meta/tree/master/config/default\n+# https://github.com/plone/meta/tree/main/config/default\n # See the inline comments on how to expand/tweak this configuration file\n [flake8]\n doctests = 1\ndiff --git a/.github/workflows/meta.yml b/.github/workflows/meta.yml\nindex a7f25e02..b8edec02 100644\n--- a/.github/workflows/meta.yml\n+++ b/.github/workflows/meta.yml\n@@ -1,5 +1,5 @@\n # Generated from:\n-# https://github.com/plone/meta/tree/master/config/default\n+# https://github.com/plone/meta/tree/main/config/default\n # See the inline comments on how to expand/tweak this configuration file\n name: Meta\n on:\n@@ -13,6 +13,16 @@ on:\n - main\n workflow_dispatch:\n \n+##\n+# To set environment variables for all jobs, add in .meta.toml:\n+# [github]\n+# env = """\n+# debug: 1\n+# image-name: \'org/image\'\n+# image-tag: \'latest\'\n+# """\n+##\n+\n jobs:\n qa:\n uses: plone/meta/.github/workflows/qa.yml@main\n@@ -22,7 +32,37 @@ jobs:\n uses: plone/meta/.github/workflows/coverage.yml@main\n dependencies:\n uses: plone/meta/.github/workflows/dependencies.yml@main\n- release-ready:\n+ release_ready:\n uses: plone/meta/.github/workflows/release_ready.yml@main\n circular:\n uses: plone/meta/.github/workflows/circular.yml@main\n+\n+##\n+# To modify the list of default jobs being created add in .meta.toml:\n+# [github]\n+# jobs = [\n+# "qa",\n+# "test",\n+# "coverage",\n+# "dependencies",\n+# "release_ready",\n+# "circular",\n+# ]\n+##\n+\n+##\n+# To request that some OS level dependencies get installed\n+# when running tests/coverage jobs, add in .meta.toml:\n+# [github]\n+# os_dependencies = "git libxml2 libxslt"\n+##\n+\n+\n+##\n+# Specify additional jobs in .meta.toml:\n+# [github]\n+# extra_lines = """\n+# another:\n+# uses: org/repo/.github/workflows/file.yml@main\n+# """\n+##\ndiff --git a/.gitignore b/.gitignore\nindex 81594fde..486392f6 100644\n--- a/.gitignore\n+++ b/.gitignore\n@@ -1,14 +1,18 @@\n # Generated from:\n-# https://github.com/plone/meta/tree/master/config/default\n+# https://github.com/plone/meta/tree/main/config/default\n # See the inline comments on how to expand/tweak this configuration file\n # python related\n *.egg-info\n *.pyc\n *.pyo\n \n+# translation related\n+*.mo\n+\n # tools related\n build/\n .coverage\n+.*project\n coverage.xml\n dist/\n docs/_build\n@@ -31,6 +35,7 @@ lib64\n parts/\n pyvenv.cfg\n var/\n+local.cfg\n \n # mxdev\n /instance/\ndiff --git a/.meta.toml b/.meta.toml\nindex 0a061e9b..3b50967f 100644\n--- a/.meta.toml\n+++ b/.meta.toml\n@@ -1,9 +1,9 @@\n # Generated from:\n-# https://github.com/plone/meta/tree/master/config/default\n+# https://github.com/plone/meta/tree/main/config/default\n # See the inline comments on how to expand/tweak this configuration file\n [meta]\n template = "default"\n-commit-id = "cfffba8c"\n+commit-id = "123ebc0a"\n \n [pyproject]\n codespell_ignores = "complet,exemple"\ndiff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml\nindex 7de9fd70..f857b483 100644\n--- a/.pre-commit-config.yaml\n+++ b/.pre-commit-config.yaml\n@@ -1,5 +1,5 @@\n # Generated from:\n-# https://github.com/plone/meta/tree/master/config/default\n+# https://github.com/plone/meta/tree/main/config/default\n # See the inline comments on how to expand/tweak this configuration file\n ci:\n autofix_prs: false\n@@ -7,20 +7,20 @@ ci:\n \n repos:\n - repo: https://github.com/asottile/pyupgrade\n- rev: v3.4.0\n+ rev: v3.15.0\n hooks:\n - id: pyupgrade\n args: [--py38-plus]\n - repo: https://github.com/pycqa/isort\n- rev: 5.12.0\n+ rev: 5.13.2\n hooks:\n - id: isort\n - repo: https://github.com/psf/black\n- rev: 23.3.0\n+ rev: 24.1.1\n hooks:\n - id: black\n - repo: https://github.com/collective/zpretty\n- rev: 3.1.0a2\n+ rev: 3.1.0\n hooks:\n - id: zpretty\n \n@@ -32,7 +32,7 @@ repos:\n # """\n ##\n - repo: https://github.com/PyCQA/flake8\n- rev: 6.0.0\n+ rev: 7.0.0\n hooks:\n - id: flake8\n \n@@ -44,7 +44,7 @@ repos:\n # """\n ##\n - repo: https://github.com/codespell-project/codespell\n- rev: v2.2.4\n+ rev: v2.2.6\n hooks:\n - id: codespell\n additional_dependencies:\n@@ -66,15 +66,25 @@ repos:\n hooks:\n - id: pyroma\n - repo: https://github.com/mgedmin/check-python-versions\n- rev: "0.21.2"\n+ rev: "0.22.0"\n hooks:\n - id: check-python-versions\n args: [\'--only\', \'setup.py,pyproject.toml\']\n - repo: https://github.com/collective/i18ndude\n- rev: "6.0.0"\n+ rev: "6.1.0"\n hooks:\n - id: i18ndude\n \n+\n+##\n+# Add extra configuration options in .meta.toml:\n+# [pre_commit]\n+# i18ndude_extra_lines = """\n+# _your own configuration lines_\n+# """\n+##\n+\n+\n ##\n # Add extra configuration options in .meta.toml:\n # [pre_commit]\ndiff --git a/dependabot.yml b/dependabot.yml\nnew file mode 100644\nindex 00000000..bbd3ab05\n--- /dev/null\n+++ b/dependabot.yml\n@@ -0,0 +1,11 @@\n+# Generated from:\n+# https://github.com/plone/meta/tree/main/config/default\n+# See the inline comments on how to expand/tweak this configuration file\n+version: 2\n+updates:\n+\n+ - package-ecosystem: "github-actions"\n+ directory: "/"\n+ schedule:\n+ # Check for updates to GitHub Actions every week\n+ interval: "weekly"\ndiff --git a/news/+meta.internal b/news/+meta.internal\nnew file mode 100644\nindex 00000000..c08f5399\n--- /dev/null\n+++ b/news/+meta.internal\n@@ -0,0 +1,2 @@\n+Update configuration files.\n+[plone devs]\ndiff --git a/plone/app/users/schema.py b/plone/app/users/schema.py\nindex 67da6ae3..2c5fdbf4 100644\n--- a/plone/app/users/schema.py\n+++ b/plone/app/users/schema.py\n@@ -36,13 +36,13 @@ def checkEmailAddress(value):\n \n \n class ProtectedTextLine(schema.TextLine):\n- """TextLine field which cannot be edited via shema editor"""\n+ """TextLine field which cannot be edited via schema editor"""\n \n pass\n \n \n class ProtectedEmail(Email):\n- """Email field which cannot be edited via shema editor"""\n+ """Email field which cannot be edited via schema editor"""\n \n pass\n \ndiff --git a/plone/app/users/tests/base.py b/plone/app/users/tests/base.py\nindex b059d13f..52e4b160 100644\n--- a/plone/app/users/tests/base.py\n+++ b/plone/app/users/tests/base.py\n@@ -4,6 +4,7 @@\n packages which register accountpanels. They should be able to import it\n without the PloneTestCase.setupPloneSite() side effects.\n """\n+\n from AccessControl.SecurityInfo import ClassSecurityInfo\n from Acquisition import aq_base\n from OFS.Cache import Cacheable\ndiff --git a/pyproject.toml b/pyproject.toml\nindex 62234f63..125c535a 100644\n--- a/pyproject.toml\n+++ b/pyproject.toml\n@@ -1,6 +1,9 @@\n # Generated from:\n-# https://github.com/plone/meta/tree/master/config/default\n+# https://github.com/plone/meta/tree/main/config/default\n # See the inline comments on how to expand/tweak this configuration file\n+[build-system]\n+requires = ["setuptools>=68.2"]\n+\n [tool.towncrier]\n directory = "news/"\n filename = "CHANGES.rst"\n@@ -126,19 +129,20 @@ ignore-packages = [\'Products.CMFPlone\']\n # "gitpython = [\'git\']",\n # "pygithub = [\'github\']",\n # ]\n-# """\n ##\n \n [tool.check-manifest]\n ignore = [\n ".editorconfig",\n+ ".flake8",\n ".meta.toml",\n ".pre-commit-config.yaml",\n- "tox.ini",\n- ".flake8",\n+ "dependabot.yml",\n "mx.ini",\n+ "tox.ini",\n \n ]\n+\n ##\n # Add extra configuration options in .meta.toml:\n # [pyproject]\n@@ -146,6 +150,11 @@ ignore = [\n # "*.map.js",\n # "*.pyc",\n # """\n+# check_manifest_extra_lines = """\n+# ignore-bad-ideas = [\n+# "some/test/file/PKG-INFO",\n+# ]\n+# """\n ##\n \n \ndiff --git a/setup.py b/setup.py\nindex ddd88c08..7bf9bccb 100644\n--- a/setup.py\n+++ b/setup.py\n@@ -62,6 +62,7 @@\n "Products.GenericSetup",\n "Products.PlonePAS >= 5.0.1",\n "Products.statusmessages",\n+ "Zope",\n "plone.app.layout",\n "plone.autoform >= 1.2",\n "plone.app.event",\ndiff --git a/tox.ini b/tox.ini\nindex 3369a402..b7ed99f7 100644\n--- a/tox.ini\n+++ b/tox.ini\n@@ -1,5 +1,5 @@\n # Generated from:\n-# https://github.com/plone/meta/tree/master/config/default\n+# https://github.com/plone/meta/tree/main/config/default\n # See the inline comments on how to expand/tweak this configuration file\n [tox]\n # We need 4.4.0 for constrain_package_deps.\n@@ -32,6 +32,21 @@ commands =\n echo "Unrecognized environment name {envname}"\n false\n \n+##\n+# Add extra configuration options in .meta.toml:\n+# [tox]\n+# testenv_options = """\n+# basepython = /usr/bin/python3.8\n+# """\n+##\n+\n+[testenv:init]\n+description = Prepare environment\n+skip_install = true\n+commands =\n+ echo "Initial setup complete"\n+\n+\n [testenv:format]\n description = automatically reformat code\n skip_install = true\n@@ -56,9 +71,9 @@ description = check if the package defines all its dependencies\n skip_install = true\n deps =\n build\n- z3c.dependencychecker==2.11\n+ z3c.dependencychecker==2.14.3\n commands =\n- python -m build --sdist --no-isolation\n+ python -m build --sdist\n dependencychecker\n \n [testenv:dependencies-graph]\n@@ -86,16 +101,26 @@ set_env =\n # test_environment_variables = """\n # PIP_EXTRA_INDEX_URL=https://my-pypi.my-server.com/\n # """\n+#\n+# Set constrain_package_deps .meta.toml:\n+# [tox]\n+# constrain_package_deps = "false"\n ##\n deps =\n zope.testrunner\n -c https://dist.plone.org/release/6.0-dev/constraints.txt\n+\n ##\n+# Specify additional deps in .meta.toml:\n+# [tox]\n+# test_deps_additional = "-esources/plonegovbr.portal_base[test]"\n+#\n # Specify a custom constraints file in .meta.toml:\n # [tox]\n # constraints_file = "https://my-server.com/constraints.txt"\n ##\n commands =\n+ rfbrowser init\n zope-testrunner --all --test-path={toxinidir} -s plone.app.users {posargs}\n extras =\n test\n@@ -128,10 +153,13 @@ deps =\n coverage\n zope.testrunner\n -c https://dist.plone.org/release/6.0-dev/constraints.txt\n+\n commands =\n+ rfbrowser init\n coverage run --branch --source plone.app.users {envbindir}/zope-testrunner --quiet --all --test-path={toxinidir} -s plone.app.users {posargs}\n coverage report -m --format markdown\n coverage xml\n+ coverage html\n extras =\n test\n \n@@ -144,18 +172,22 @@ deps =\n build\n towncrier\n -c https://dist.plone.org/release/6.0-dev/constraints.txt\n+\n commands =\n # fake version to not have to install the package\n # we build the change log as news entries might break\n # the README that is displayed on PyPI\n towncrier build --version=100.0.0 --yes\n- python -m build --sdist --no-isolation\n+ python -m build --sdist\n twine check dist/*\n \n [testenv:circular]\n description = ensure there are no cyclic dependencies\n use_develop = true\n skip_install = false\n+# Here we must always constrain the package deps to what is already installed,\n+# otherwise we simply get the latest from PyPI, which may not work.\n+constrain_package_deps = true\n set_env =\n \n ##\n@@ -171,6 +203,7 @@ deps =\n pipdeptree\n pipforester\n -c https://dist.plone.org/release/6.0-dev/constraints.txt\n+\n commands =\n # Generate the full dependency tree\n sh -c \'pipdeptree -j > forest.json\'\n'