From e2cd6b591f804449aa521a2d1bf25dc167e87007 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steven!=20Ragnar=C3=B6k?= Date: Thu, 9 Mar 2023 17:52:08 -0800 Subject: [PATCH 01/14] Use extras_require.test and pytest for test dependencies. --- setup.cfg | 9 ++------- setup.py | 5 +++++ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/setup.cfg b/setup.cfg index 4060ea44..759822a0 100644 --- a/setup.cfg +++ b/setup.cfg @@ -6,10 +6,5 @@ all_files = 1 [upload_sphinx] upload-dir = doc/build/html -# [nosetests] -# where=test -# with-coverage=0 -# cover-package=nose -# debug=nose.loader -# pdb=0 -# pdb-failures=0 +[tool:pytest] +junit_suite_name = bloom diff --git a/setup.py b/setup.py index 8729e72f..7d14e1ce 100755 --- a/setup.py +++ b/setup.py @@ -36,6 +36,11 @@ }, include_package_data=True, install_requires=install_requires, + extras_require={ + 'test': [ + 'pep8', + 'pytest', + ]}, author='Tully Foote, William Woodall', author_email='tfoote@openrobotics.org, william@openrobotics.org', maintainer='William Woodall', From 23e350099493860be9dd82fdc25bef874295e329 Mon Sep 17 00:00:00 2001 From: Scott K Logan Date: Fri, 22 Mar 2024 14:37:55 -0500 Subject: [PATCH 02/14] Pin to empy < 4 --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 7d14e1ce..4bd6442b 100755 --- a/setup.py +++ b/setup.py @@ -6,7 +6,7 @@ install_requires = [ 'catkin_pkg >= 0.4.3', 'setuptools', - 'empy', + 'empy < 4', 'packaging', 'python-dateutil', 'PyYAML', From 058666e330c05ac7458ac9c33a62edeff278c115 Mon Sep 17 00:00:00 2001 From: Scott K Logan Date: Fri, 22 Mar 2024 13:16:53 -0500 Subject: [PATCH 03/14] Switch to unified ros-infrastructure CI --- .github/workflows/ci.yaml | 46 ++++++++++++--------------------------- 1 file changed, 14 insertions(+), 32 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 37244295..ec45193e 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -1,38 +1,20 @@ -name: bloom-ci +--- +name: Run tests -on: +on: # yamllint disable-line rule:truthy push: branches: ['master'] pull_request: - branches: ['*'] - schedule: - - cron: '40 7 * * 0' jobs: - build: - strategy: - matrix: - os: [ubuntu-latest, macos-latest] - python: [3.7, 3.8, 3.9] - include: - - os: ubuntu-18.04 - python: 2.7 - - os: ubuntu-18.04 - python: 3.6 - name: bloom tests - runs-on: ${{matrix.os}} - - steps: - - uses: actions/checkout@v2 - - name: Set up Python ${{matrix.python}} - uses: actions/setup-python@v1 - with: - python-version: ${{matrix.python}} - - name: Install dependencies - run: | - python -m pip install --upgrade pip setuptools - python -m pip install PyYAML argparse empy rosdep vcstools catkin-pkg python-dateutil packaging - python -m pip install nose coverage pep8 - - name: Run tests - run: | - BLOOM_VERBOSE=1 python setup.py nosetests -s --tests test + pytest: + uses: ros-infrastructure/ci/.github/workflows/pytest.yaml@main + with: + matrix-filter: >- + del(.matrix.os[] | select(contains("windows"))) | del(.matrix.python[] | + select(contains("3.10") or contains("3.11") or contains("3.12"))) + yamllint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - run: yamllint -f github . From ce2ffa526d62739413a908208d95e2a842eed081 Mon Sep 17 00:00:00 2001 From: Scott K Logan Date: Fri, 22 Mar 2024 15:54:59 -0500 Subject: [PATCH 04/14] Create a fake rosdistro index for better test isolation (#727) The tests currently require the rosdistro index to be reachable. --- test/__init__.py | 6 ++++++ test/fake_rosdistro/index-v4.yaml | 10 ++++++++++ test/fake_rosdistro/melodic/distribution.yaml | 10 ++++++++++ 3 files changed, 26 insertions(+) create mode 100644 test/fake_rosdistro/index-v4.yaml create mode 100644 test/fake_rosdistro/melodic/distribution.yaml diff --git a/test/__init__.py b/test/__init__.py index c6027e12..55852878 100644 --- a/test/__init__.py +++ b/test/__init__.py @@ -6,6 +6,12 @@ scripts = os.path.abspath(scripts) os.environ['PATH'] = scripts + ':' + os.environ['PATH'] +os.environ['ROSDISTRO_INDEX_URL'] = 'file://' + os.path.join( + os.path.dirname(os.path.abspath(__file__)), + 'fake_rosdistro', + 'index-v4.yaml', +) + user_email = 'test@example.com' user_name = 'Test User' diff --git a/test/fake_rosdistro/index-v4.yaml b/test/fake_rosdistro/index-v4.yaml new file mode 100644 index 00000000..843e3637 --- /dev/null +++ b/test/fake_rosdistro/index-v4.yaml @@ -0,0 +1,10 @@ +%YAML 1.1 +--- +distributions: + melodic: + distribution: [melodic/distribution.yaml] + distribution_status: end-of-life + distribution_type: ros1 + python_version: 2 +type: index +version: 4 diff --git a/test/fake_rosdistro/melodic/distribution.yaml b/test/fake_rosdistro/melodic/distribution.yaml new file mode 100644 index 00000000..42b41337 --- /dev/null +++ b/test/fake_rosdistro/melodic/distribution.yaml @@ -0,0 +1,10 @@ +%YAML 1.1 +--- +release_platforms: + debian: + - buster + ubuntu: + - bionic +repositories: [] +type: distribution +version: 2 From dcee458d44b40685aa36918657ad9699f646db90 Mon Sep 17 00:00:00 2001 From: Scott K Logan Date: Fri, 22 Mar 2024 16:06:40 -0500 Subject: [PATCH 05/14] Restore weekly CI job (#729) Restores d3d21ae9e816500154798d254422ac30e6bbee0f after it was dropped as part of 058666e330c05ac7458ac9c33a62edeff278c115. --- .github/workflows/ci.yaml | 1 + .github/workflows/scheduled.yaml | 10 ++++++++++ 2 files changed, 11 insertions(+) create mode 100644 .github/workflows/scheduled.yaml diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index ec45193e..edc6f422 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -5,6 +5,7 @@ on: # yamllint disable-line rule:truthy push: branches: ['master'] pull_request: + workflow_call: jobs: pytest: diff --git a/.github/workflows/scheduled.yaml b/.github/workflows/scheduled.yaml new file mode 100644 index 00000000..853e4a68 --- /dev/null +++ b/.github/workflows/scheduled.yaml @@ -0,0 +1,10 @@ +--- +name: Run tests periodically + +on: # yamllint disable-line rule:truthy + schedule: + - cron: '40 7 * * 0' + +jobs: + pytest: + uses: ./.github/workflows/ci.yaml From be0814045d37889edb24674e19587423b4f1ed03 Mon Sep 17 00:00:00 2001 From: Scott K Logan Date: Fri, 22 Mar 2024 16:07:47 -0500 Subject: [PATCH 06/14] Switch from SafeConfigParser to ConfigParser (#728) The configparser.SafeConfigParser class was renamed to ConfigParser in Python 3.2. In Python 3.10, it was finally removed. The import was copy/pasted from the debian generator to the RPM generator, but isn't actually used there and could be removed. --- .github/workflows/ci.yaml | 4 +--- bloom/generators/debian/generator.py | 6 +++--- bloom/generators/rpm/generator.py | 5 ----- 3 files changed, 4 insertions(+), 11 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index edc6f422..9a4501ee 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -11,9 +11,7 @@ jobs: pytest: uses: ros-infrastructure/ci/.github/workflows/pytest.yaml@main with: - matrix-filter: >- - del(.matrix.os[] | select(contains("windows"))) | del(.matrix.python[] | - select(contains("3.10") or contains("3.11") or contains("3.12"))) + matrix-filter: del(.matrix.os[] | select(contains("windows"))) yamllint: runs-on: ubuntu-latest steps: diff --git a/bloom/generators/debian/generator.py b/bloom/generators/debian/generator.py index fe629c8d..f90c1d54 100644 --- a/bloom/generators/debian/generator.py +++ b/bloom/generators/debian/generator.py @@ -45,9 +45,9 @@ # Python 2/3 support. try: - from configparser import SafeConfigParser + from configparser import ConfigParser except ImportError: - from ConfigParser import SafeConfigParser + from ConfigParser import SafeConfigParser as ConfigParser from dateutil import tz from packaging.version import parse as parse_version @@ -397,7 +397,7 @@ def generate_substitutions_from_package( setup_cfg_path = os.path.join(package_path, 'setup.cfg') data['pass_install_scripts'] = True if os.path.isfile(setup_cfg_path): - setup_cfg = SafeConfigParser() + setup_cfg = ConfigParser() setup_cfg.read([setup_cfg_path]) if ( setup_cfg.has_option('install', 'install-scripts') or diff --git a/bloom/generators/rpm/generator.py b/bloom/generators/rpm/generator.py index 247c29f8..59f778e1 100644 --- a/bloom/generators/rpm/generator.py +++ b/bloom/generators/rpm/generator.py @@ -44,11 +44,6 @@ import traceback import textwrap -# Python 2/3 support. -try: - from configparser import SafeConfigParser -except ImportError: - from ConfigParser import SafeConfigParser from dateutil import tz from distutils.version import LooseVersion from time import strptime From 9de2b04eb56651428b64e1676f95fb2a129d1335 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steven!=20Ragnar=C3=B6k?= Date: Fri, 22 Mar 2024 15:18:37 -0700 Subject: [PATCH 07/14] Update deb platforms and drop python2 packaging. (#724) * Update deb platforms and drop python2 packaging. Following in the wake of catkin_pkg, we're dropping python2 support now that it's no longer the default on any active distribution. Dropped: * Ubuntu Bionic (18.04 LTS) * Debian Buster (oldoldstable) * Debian Bullseye (oldstable) Added: * Ubuntu Noble (24.04 LTS pre-release) * Debian Trixie (testing) Retained: * Ubuntu Focal (20.04 LTS) * Ubuntu Jammy (22.04 LTS) I have also raised the minimum python3 version to 3.6 as we are only testing back to 3.6 and RHEL 8 has the oldest python distribution (3.6) of any supported platform. * Remove python2 specific configuration. We no longer generate the python2 packages that generate this conflict. Co-authored-by: Scott K Logan --- stdeb.cfg | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/stdeb.cfg b/stdeb.cfg index 2ebd3655..d986283f 100755 --- a/stdeb.cfg +++ b/stdeb.cfg @@ -1,13 +1,9 @@ [DEFAULT] ; release with a high debinc to avoid conflict with upstream debian of the same release version Debian-Version: 100 -Depends: python-yaml, python-empy, python-argparse, python-packaging, python-rosdep (>= 0.15.0), python-rosdistro (>= 0.8.0), python-vcstools (>= 0.1.22), python-setuptools, python-catkin-pkg (>= 0.4.3) Depends3: python3-yaml, python3-empy, python3-packaging, python3-rosdep (>= 0.15.0), python3-rosdistro (>= 0.8.0), python3-vcstools (>= 0.1.22), python3-setuptools, python3-catkin-pkg (>= 0.4.3) -Conflicts: python3-bloom Conflicts3: python-bloom Copyright-File: LICENSE.txt -Suite: bionic buster -Suite3: bionic focal jammy buster bullseye -Python2-Depends-Name: python +Suite3: focal jammy noble bookworm trixie Dh-python3-params: --no-guessing-deps -X-Python3-Version: >= 3.4 +X-Python3-Version: >= 3.6 From c6b45eabc906a16b9dc545cf1e8b44737de75946 Mon Sep 17 00:00:00 2001 From: Scott K Logan Date: Wed, 27 Mar 2024 11:05:20 -0500 Subject: [PATCH 08/14] Use raw strings for regular expressions (#730) Should avoid `SyntaxWarning: invalid escape sequence` --- bloom/generators/debian/generator.py | 2 +- bloom/generators/rpm/generator.py | 2 +- docs/bump_version.py | 4 ++-- test/system_tests/test_catkin_release.py | 2 +- test/utils/package_version.py | 6 +++--- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/bloom/generators/debian/generator.py b/bloom/generators/debian/generator.py index f90c1d54..e78c08b8 100644 --- a/bloom/generators/debian/generator.py +++ b/bloom/generators/debian/generator.py @@ -603,7 +603,7 @@ def get_package_from_branch(branch): def debianize_string(value): markup_remover = re.compile(r'<.*?>') value = markup_remover.sub('', value) - value = re.sub('\s+', ' ', value) + value = re.sub(r'\s+', ' ', value) value = value.strip() return value diff --git a/bloom/generators/rpm/generator.py b/bloom/generators/rpm/generator.py index 59f778e1..6b7194c4 100644 --- a/bloom/generators/rpm/generator.py +++ b/bloom/generators/rpm/generator.py @@ -442,7 +442,7 @@ def get_package_from_branch(branch): def rpmify_string(value): markup_remover = re.compile(r'<.*?>') value = markup_remover.sub('', value) - value = re.sub('\s+', ' ', value) + value = re.sub(r'\s+', ' ', value) value = '\n'.join([v.strip() for v in textwrap.TextWrapper(width=80, break_long_words=False, replace_whitespace=False).wrap(value)]) return value diff --git a/docs/bump_version.py b/docs/bump_version.py index 9e506275..5c89c7b4 100755 --- a/docs/bump_version.py +++ b/docs/bump_version.py @@ -13,10 +13,10 @@ args = parser.parse_args() with open(args.file, 'r') as f: lines = f.read() - version_line_regex = re.compile(".*version='\d*[.]\d*[.]\d*'.*") + version_line_regex = re.compile(r".*version='\d*[.]\d*[.]\d*'.*") version_line = version_line_regex.findall(lines) version_line = version_line[0] - version_regex = re.compile('\d*[.]\d*[.]\d*') + version_regex = re.compile(r'\d*[.]\d*[.]\d*') version_str = version_regex.findall(version_line)[0] version_str = version_str.split('.') version_str[-1] = str(int(version_str[-1]) + 1) diff --git a/test/system_tests/test_catkin_release.py b/test/system_tests/test_catkin_release.py index 2034ae7e..ca5e6b8c 100644 --- a/test/system_tests/test_catkin_release.py +++ b/test/system_tests/test_catkin_release.py @@ -375,7 +375,7 @@ def test_multi_package_repository(directory=None): package_xml = f.read() assert package_xml.count('' + pkg + ''), \ "incorrect package.xml for " + str(pkg) - format_version = int(re.search('format="(\d+)"', + format_version = int(re.search(r'format="(\d+)"', package_xml).group(1)) # Is there a copyright file for this pkg? with open('debian/copyright', 'r') as f: diff --git a/test/utils/package_version.py b/test/utils/package_version.py index 0636ef58..18a180a9 100644 --- a/test/utils/package_version.py +++ b/test/utils/package_version.py @@ -48,7 +48,7 @@ def bump_version(version, bump='patch'): parts reset to 0 """ # split the version number - match = re.match('^(\d+)\.(\d+)\.(\d+)$', version) + match = re.match(r'^(\d+)\.(\d+)\.(\d+)$', version) if match is None: raise ValueError( 'Invalid version string, must be int.int.int: "%s"' % version @@ -75,8 +75,8 @@ def _replace_version(package_str, new_version): """ # try to replace contens new_package_str, number_of_subs = re.subn( - ']*)>[^<>]*', - '>%s' % new_version, package_str + r']*)>[^<>]*', + r'>%s' % new_version, package_str ) if number_of_subs != 1: raise RuntimeError( From 311c6354f7869df95122831a96948847ae9f2c0d Mon Sep 17 00:00:00 2001 From: Scott K Logan Date: Wed, 27 Mar 2024 11:07:53 -0500 Subject: [PATCH 09/14] Fix template file inclusion in Python package (#731) The setuptools documentation states that `package_data` is used for finer-grained control over the inclusion of package data as an alternative to `include_package_data`/`MANIFEST.in`. After correcting the glob patterns in `package_data`, the latter mechanisms are no longer needed. --- MANIFEST.in | 2 -- setup.py | 9 ++++----- 2 files changed, 4 insertions(+), 7 deletions(-) delete mode 100644 MANIFEST.in diff --git a/MANIFEST.in b/MANIFEST.in deleted file mode 100644 index adf391a6..00000000 --- a/MANIFEST.in +++ /dev/null @@ -1,2 +0,0 @@ -recursive-include bloom/generators/debian/templates * -recursive-include bloom/generators/rpm/templates * diff --git a/setup.py b/setup.py index 4bd6442b..95f685dc 100755 --- a/setup.py +++ b/setup.py @@ -27,14 +27,13 @@ packages=find_packages(exclude=['test', 'test.*']), package_data={ 'bloom.generators.debian': [ - 'bloom/generators/debian/templates/*', - 'bloom/generators/debian/templates/source/*' + 'templates/*/*', + 'templates/*/source/*', ], 'bloom.generators.rpm': [ - 'bloom/generators/rpm/templates/*' - ] + 'templates/*/*.em', + ], }, - include_package_data=True, install_requires=install_requires, extras_require={ 'test': [ From 4f052407bd47e9d34e0603a313582871c525dede Mon Sep 17 00:00:00 2001 From: Scott K Logan Date: Fri, 29 Mar 2024 17:09:49 -0500 Subject: [PATCH 10/14] Add dh_shlibdeps entry for libraries installed by ament_vendor (#732) --- bloom/generators/debian/templates/ament_cmake/rules.em | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bloom/generators/debian/templates/ament_cmake/rules.em b/bloom/generators/debian/templates/ament_cmake/rules.em index 2ab7b14a..a856369d 100755 --- a/bloom/generators/debian/templates/ament_cmake/rules.em +++ b/bloom/generators/debian/templates/ament_cmake/rules.em @@ -57,7 +57,7 @@ override_dh_shlibdeps: # in the install tree and source it. It will set things like # CMAKE_PREFIX_PATH, PKG_CONFIG_PATH, and PYTHONPATH. if [ -f "@(InstallationPrefix)/setup.sh" ]; then . "@(InstallationPrefix)/setup.sh"; fi && \ - dh_shlibdeps -l$(CURDIR)/debian/@(Package)/@(InstallationPrefix)/lib/ + dh_shlibdeps -l$(CURDIR)/debian/@(Package)/@(InstallationPrefix)/lib/:$(CURDIR)/debian/@(Package)/@(InstallationPrefix)/opt/@(Name)/lib/ override_dh_auto_install: # In case we're installing to a non-standard location, look for a setup.sh From 504bc68498e3c0fa9701b46de08c800feb831043 Mon Sep 17 00:00:00 2001 From: Scott K Logan Date: Fri, 29 Mar 2024 17:10:09 -0500 Subject: [PATCH 11/14] Drop support for Python <2.7, simplify setup.py (#733) --- setup.py | 29 +++++++++++------------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/setup.py b/setup.py index 95f685dc..578d6209 100755 --- a/setup.py +++ b/setup.py @@ -3,23 +3,6 @@ import sys from setuptools import find_packages, setup -install_requires = [ - 'catkin_pkg >= 0.4.3', - 'setuptools', - 'empy < 4', - 'packaging', - 'python-dateutil', - 'PyYAML', - 'rosdep >= 0.15.0', - 'rosdistro >= 0.8.0', - 'vcstools >= 0.1.22', -] - -# argparse got moved into the stdlib in py2.7, so we only -# need to install the pypi version if we're on an older -# python. -if sys.version_info[0] == 2 and sys.version_info[1] <= 6: - install_requires.append('argparse') setup( name='bloom', @@ -34,7 +17,17 @@ 'templates/*/*.em', ], }, - install_requires=install_requires, + install_requires=[ + 'catkin_pkg >= 0.4.3', + 'setuptools', + 'empy < 4', + 'packaging', + 'python-dateutil', + 'PyYAML', + 'rosdep >= 0.15.0', + 'rosdistro >= 0.8.0', + 'vcstools >= 0.1.22', + ], extras_require={ 'test': [ 'pep8', From b3e1b3ade9f073567cb057fbac419ece16fde66e Mon Sep 17 00:00:00 2001 From: Kenji Brameld Date: Fri, 29 Mar 2024 17:13:42 -0500 Subject: [PATCH 12/14] Fix regression in RHEL 8 / Python3.6 support. (#700) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Check for python version to handle method signature change in argparse Signed-off-by: ijnek Co-authored-by: Steven! Ragnarök --- bloom/commands/generate.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/bloom/commands/generate.py b/bloom/commands/generate.py index d93c813d..647fe8c4 100644 --- a/bloom/commands/generate.py +++ b/bloom/commands/generate.py @@ -58,13 +58,15 @@ def load_generator_description(generator_name): def create_subparsers(parser, generator_cmds): metavar = '[' + ' | '.join(generator_cmds) + ']' - subparsers = parser.add_subparsers( - title='generate commands', - metavar=metavar, - description='Call `bloom-generate {0} -h` for help on a each generate command.'.format(metavar), - dest='generator_cmd', - required=True - ) + subparsers_kwargs = { + 'title': 'generate commands', + 'metavar': metavar, + 'description': 'Call `bloom-generate {0} -h` for help on a each generate command.'.format(metavar), + 'dest': 'generator_cmd' + } + if sys.version_info >= (3, 7): + subparsers_kwargs['required'] = True + subparsers = parser.add_subparsers(**subparsers_kwargs) for generator_cmd in generator_cmds: desc = load_generator_description(generator_cmd) cmd_parser = subparsers.add_parser(desc['title'], description=desc['description']) From 9647e9ee3c87b4ae3cd288d7a750f7e642cc9065 Mon Sep 17 00:00:00 2001 From: Scott K Logan Date: Fri, 29 Mar 2024 17:21:31 -0500 Subject: [PATCH 13/14] 0.12.0 --- CHANGELOG.rst | 22 ++++++++++++++++++++++ setup.py | 2 +- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index f69e8b3d..6ea50080 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,3 +1,25 @@ +0.12.0 (2024-03-29 17:20:00 -0500) +---------------------------------- +- Fix regression in RHEL 8 / Python3.6 support. `#700 `_ +- Drop support for Python <2.7, simplify setup.py. `#733 `_ +- Add dh_shlibdeps entry for libraries installed by ament_vendor `#732 `_ +- Fix template file inclusion in Python package. `#731 `_ +- Use raw strings for regular expressions. `#730 `_ +- Update deb platforms and drop python2 packaging. `#724 `_ +- Switch from SafeConfigParser to ConfigParser. `#728 `_ +- Restore weekly CI job. `#729 `_ +- Create a fake rosdistro index for better test isolation. `#727 `_ +- Switch to unified ros-infrastructure CI. `#726 `_ +- Pin to empy < 4. `#726 `_ +- Use extras_require.test and pytest for test dependencies. `#726 `_ +- Add weekly scheduled run to make sure that CI stays green. `#695 `_ +- Add debian package dependency for new packaging dependency. `#698 `_ +- Replace pkg_resources.parse_version with packaging.version.parse. `#693 `_ +- Fix typo 'tempate' -> 'template'. `#694 `_ +- Dry-run with specific remote target, in case remote repo isn't initialized yet. `#684 `_ +- Add Defaults for src/doc information. `#686 `_ +- Ensure subparser is required. `#683 `_ + 0.11.2 (2022-07-18 14:18:10 -0700) ---------------------------------- - Use inspect.getfullargspec where available. `#682 `_ diff --git a/setup.py b/setup.py index 578d6209..32607e9b 100755 --- a/setup.py +++ b/setup.py @@ -6,7 +6,7 @@ setup( name='bloom', - version='0.11.2', + version='0.12.0', packages=find_packages(exclude=['test', 'test.*']), package_data={ 'bloom.generators.debian': [ From b42a1dd043d0712bca7e37dad91c4a54752024d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steven!=20Ragnar=C3=B6k?= Date: Tue, 30 Apr 2024 17:24:18 -0400 Subject: [PATCH 14/14] Fix a typo. (#735) --- bloom/commands/git/patch/trim_cmd.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bloom/commands/git/patch/trim_cmd.py b/bloom/commands/git/patch/trim_cmd.py index 854f8797..40d8cc94 100755 --- a/bloom/commands/git/patch/trim_cmd.py +++ b/bloom/commands/git/patch/trim_cmd.py @@ -34,7 +34,7 @@ def _set_trim_sub_dir(sub_dir, force, config, directory): sub_dir + ", but it is already set to " + config['trim'] + ".") if not force: - warning("Changing the sud directory is not advised. " + warning("Changing the sub directory is not advised. " "If you are sure you want to do this, use " "'--force'") return None