Skip to content

Commit

Permalink
Python 3.12 is released
Browse files Browse the repository at this point in the history
Start testing with Python 3.13
  • Loading branch information
arcivanov committed Feb 13, 2024
1 parent d6ef457 commit b7389c3
Show file tree
Hide file tree
Showing 111 changed files with 3,522 additions and 2,370 deletions.
25 changes: 7 additions & 18 deletions .github/workflows/pybuilder.yml
Expand Up @@ -14,12 +14,11 @@ jobs:
os:
- ubuntu-latest
python-version:
- '3.12-dev'
- '3.12'
- '3.11'
- '3.10'
- '3.9'
- '3.8'
- '3.7'
with-venv:
- 'true'
- 'false'
Expand All @@ -28,7 +27,7 @@ jobs:
TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: ./.github/
with:
python-version: '${{ matrix.python-version }}'
Expand All @@ -46,27 +45,20 @@ jobs:
matrix:
os:
- windows-latest
- macos-11
- macos-12
- macos-latest
python-version:
- '3.12'
- '3.11'
- '3.10'
- '3.9'
- '3.8'
- '3.7'
with-venv:
- 'true'
- 'false'
with-homebrew:
- 'true'
- 'false'
exclude:
- os: macos-11
python-version: '3.7'
with-homebrew: 'true'
- os: macos-12
python-version: '3.7'
with-homebrew: 'true'
- os: macos-11
python-version: '3.8'
with-homebrew: 'true'
Expand All @@ -76,7 +68,7 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: ./.github/
with:
python-version: '${{ matrix.python-version }}'
Expand All @@ -94,11 +86,8 @@ jobs:
matrix:
os:
- ubuntu-latest
- windows-latest
- macos-11
- macos-12
python-version:
- 'pypy-3.7'
- '3.13-dev'
- 'pypy-3.8'
- 'pypy-3.9'
with-venv:
Expand All @@ -110,7 +99,7 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: ./.github/
with:
python-version: '${{ matrix.python-version }}'
Expand Down
2 changes: 1 addition & 1 deletion README.md
Expand Up @@ -19,7 +19,7 @@ PyBuilder is based on the concept of dependency based programming, but it also
comes with a powerful plugin mechanism, allowing the construction of build life
cycles similar to those known from other famous (Java) build tools.

PyBuilder is running on the following versions of Python 3.7, 3.8, 3.9, 3.10, 3.11, 3.12 and PyPy 3.7, 3.8 and 3.9.
PyBuilder is running on the following versions of Python 3.8, 3.9, 3.10, 3.11, 3.12 and PyPy 3.8 and 3.9.

See the [GitHub Actions Workflow](https://github.com/pybuilder/pybuilder/actions/workflows/pybuilder.yml) for version specific output.

Expand Down
5 changes: 2 additions & 3 deletions build.py
Expand Up @@ -89,7 +89,7 @@
license = "Apache License, Version 2.0"
version = "0.13.11.dev"

requires_python = ">=3.7"
requires_python = ">=3.8"

default_task = ["analyze", "publish"]

Expand All @@ -106,7 +106,7 @@ def initialize(project):
"setuptools>=45.0.0",
"virtualenv>=20.0.0",
"importlib-resources>=1.0",
"importlib-metadata>=0.12,<5.0",
"importlib-metadata>=0.12",
"typing-extensions",
"colorama~=0.4.3"
])
Expand Down Expand Up @@ -176,7 +176,6 @@ def initialize(project):
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
Expand Down
1,026 changes: 512 additions & 514 deletions src/main/python/pybuilder/_vendor/LICENSES

Large diffs are not rendered by default.

13 changes: 3 additions & 10 deletions src/main/python/pybuilder/_vendor/_distutils_hack/__init__.py
Expand Up @@ -3,16 +3,9 @@
import os


is_pypy = '__pypy__' in sys.builtin_module_names


def warn_distutils_present():
if 'distutils' not in sys.modules:
return
if is_pypy and sys.version_info < (3, 7):
# PyPy for 3.6 unconditionally imports distutils, so bypass the warning
# https://foss.heptapod.net/pypy/pypy/-/blob/be829135bc0d758997b3566062999ee8b23872b4/lib-python/3/site.py#L250
return
import warnings

warnings.warn(
Expand Down Expand Up @@ -90,15 +83,15 @@ def find_spec(self, fullname, path, target=None):
# optimization: only consider top level modules and those
# found in the CPython test suite.
if path is not None and not fullname.startswith('test.'):
return
return None

method_name = 'spec_for_{fullname}'.format(**locals())
method = getattr(self, method_name, lambda: None)
return method()

def spec_for_distutils(self):
if self.is_cpython():
return
return None

import importlib
import importlib.abc
Expand All @@ -115,7 +108,7 @@ def spec_for_distutils(self):
# setuptools from the path but only after the hook
# has been loaded. Ref #2980.
# In either case, fall back to stdlib behavior.
return
return None

class DistutilsLoader(importlib.abc.Loader):
def create_module(self, spec):
Expand Down
22 changes: 16 additions & 6 deletions src/main/python/pybuilder/_vendor/distlib/__init__.py
@@ -1,23 +1,33 @@
# -*- coding: utf-8 -*-
#
# Copyright (C) 2012-2022 Vinay Sajip.
# Copyright (C) 2012-2023 Vinay Sajip.
# Licensed to the Python Software Foundation under a contributor agreement.
# See LICENSE.txt and CONTRIBUTORS.txt.
#
import logging

__version__ = '0.3.6'
__version__ = '0.3.8'


class DistlibException(Exception):
pass


try:
from logging import NullHandler
except ImportError: # pragma: no cover
except ImportError: # pragma: no cover

class NullHandler(logging.Handler):
def handle(self, record): pass
def emit(self, record): pass
def createLock(self): self.lock = None

def handle(self, record):
pass

def emit(self, record):
pass

def createLock(self):
self.lock = None


logger = logging.getLogger(__name__)
logger.addHandler(NullHandler())

0 comments on commit b7389c3

Please sign in to comment.