From 51fdb1d414031ee637e3c53af27f72325f889426 Mon Sep 17 00:00:00 2001 From: Thomas Calmant Date: Sun, 7 Apr 2024 21:07:44 +0200 Subject: [PATCH 01/15] Version bump --- javaobj/__init__.py | 6 +++--- javaobj/constants.py | 6 +++--- javaobj/modifiedutf8.py | 4 ++-- javaobj/utils.py | 6 +++--- javaobj/v1/__init__.py | 6 +++--- javaobj/v1/beans.py | 6 +++--- javaobj/v1/core.py | 6 +++--- javaobj/v1/marshaller.py | 6 +++--- javaobj/v1/transformers.py | 4 ++-- javaobj/v1/unmarshaller.py | 6 +++--- javaobj/v2/__init__.py | 6 +++--- javaobj/v2/api.py | 6 +++--- javaobj/v2/beans.py | 6 +++--- javaobj/v2/core.py | 6 +++--- javaobj/v2/main.py | 2 +- javaobj/v2/stream.py | 6 +++--- javaobj/v2/transformers.py | 6 +++--- setup.py | 6 +++--- tests/test_v1.py | 4 ++-- tests/test_v2.py | 4 ++-- 20 files changed, 54 insertions(+), 54 deletions(-) diff --git a/javaobj/__init__.py b/javaobj/__init__.py index bf1ca67..d1b146d 100644 --- a/javaobj/__init__.py +++ b/javaobj/__init__.py @@ -13,12 +13,12 @@ :authors: Volodymyr Buell, Thomas Calmant :license: Apache License 2.0 -:version: 0.4.3 +:version: 0.4.4 :status: Alpha .. - Copyright 2021 Thomas Calmant + Copyright 2024 Thomas Calmant Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -41,7 +41,7 @@ # ------------------------------------------------------------------------------ # Module version -__version_info__ = (0, 4, 3) +__version_info__ = (0, 4, 4) __version__ = ".".join(str(x) for x in __version_info__) # Documentation strings format diff --git a/javaobj/constants.py b/javaobj/constants.py index ebad6a0..d4dd1cb 100644 --- a/javaobj/constants.py +++ b/javaobj/constants.py @@ -4,12 +4,12 @@ :authors: Thomas Calmant :license: Apache License 2.0 -:version: 0.4.3 +:version: 0.4.4 :status: Alpha .. - Copyright 2021 Thomas Calmant + Copyright 2024 Thomas Calmant Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -38,7 +38,7 @@ ) # Module version -__version_info__ = (0, 4, 3) +__version_info__ = (0, 4, 4) __version__ = ".".join(str(x) for x in __version_info__) # Documentation strings format diff --git a/javaobj/modifiedutf8.py b/javaobj/modifiedutf8.py index bba2fa9..ac29ce5 100644 --- a/javaobj/modifiedutf8.py +++ b/javaobj/modifiedutf8.py @@ -11,7 +11,7 @@ :authors: Scott Stephens (@swstephe), @guywithface :license: Apache License 2.0 -:version: 0.4.3 +:version: 0.4.4 :status: Alpha """ @@ -21,7 +21,7 @@ # Module version -__version_info__ = (0, 4, 3) +__version_info__ = (0, 4, 4) __version__ = ".".join(str(x) for x in __version_info__) # Documentation strings format diff --git a/javaobj/utils.py b/javaobj/utils.py index 83593f0..2d6f761 100644 --- a/javaobj/utils.py +++ b/javaobj/utils.py @@ -7,12 +7,12 @@ :authors: Thomas Calmant :license: Apache License 2.0 -:version: 0.4.3 +:version: 0.4.4 :status: Alpha .. - Copyright 2021 Thomas Calmant + Copyright 2024 Thomas Calmant Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -43,7 +43,7 @@ # ------------------------------------------------------------------------------ # Module version -__version_info__ = (0, 4, 3) +__version_info__ = (0, 4, 4) __version__ = ".".join(str(x) for x in __version_info__) # Documentation strings format diff --git a/javaobj/v1/__init__.py b/javaobj/v1/__init__.py index 8c0d601..cc4aaaa 100644 --- a/javaobj/v1/__init__.py +++ b/javaobj/v1/__init__.py @@ -4,12 +4,12 @@ :authors: Thomas Calmant :license: Apache License 2.0 -:version: 0.4.3 +:version: 0.4.4 :status: Alpha .. - Copyright 2021 Thomas Calmant + Copyright 2024 Thomas Calmant Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -37,7 +37,7 @@ # ------------------------------------------------------------------------------ # Module version -__version_info__ = (0, 4, 3) +__version_info__ = (0, 4, 4) __version__ = ".".join(str(x) for x in __version_info__) # Documentation strings format diff --git a/javaobj/v1/beans.py b/javaobj/v1/beans.py index 73b297d..bf867bb 100644 --- a/javaobj/v1/beans.py +++ b/javaobj/v1/beans.py @@ -5,12 +5,12 @@ :authors: Volodymyr Buell, Thomas Calmant :license: Apache License 2.0 -:version: 0.4.3 +:version: 0.4.4 :status: Alpha .. - Copyright 2021 Thomas Calmant + Copyright 2024 Thomas Calmant Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -44,7 +44,7 @@ ) # Module version -__version_info__ = (0, 4, 3) +__version_info__ = (0, 4, 4) __version__ = ".".join(str(x) for x in __version_info__) # Documentation strings format diff --git a/javaobj/v1/core.py b/javaobj/v1/core.py index 2fbe3c4..ae5eeb5 100644 --- a/javaobj/v1/core.py +++ b/javaobj/v1/core.py @@ -13,12 +13,12 @@ :authors: Volodymyr Buell, Thomas Calmant :license: Apache License 2.0 -:version: 0.4.3 +:version: 0.4.4 :status: Alpha .. - Copyright 2021 Thomas Calmant + Copyright 2024 Thomas Calmant Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -62,7 +62,7 @@ ) # Module version -__version_info__ = (0, 4, 3) +__version_info__ = (0, 4, 4) __version__ = ".".join(str(x) for x in __version_info__) # Documentation strings format diff --git a/javaobj/v1/marshaller.py b/javaobj/v1/marshaller.py index 435197e..9e5bdeb 100644 --- a/javaobj/v1/marshaller.py +++ b/javaobj/v1/marshaller.py @@ -13,12 +13,12 @@ :authors: Volodymyr Buell, Thomas Calmant :license: Apache License 2.0 -:version: 0.4.3 +:version: 0.4.4 :status: Alpha .. - Copyright 2021 Thomas Calmant + Copyright 2024 Thomas Calmant Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -76,7 +76,7 @@ # Module version -__version_info__ = (0, 4, 3) +__version_info__ = (0, 4, 4) __version__ = ".".join(str(x) for x in __version_info__) # Documentation strings format diff --git a/javaobj/v1/transformers.py b/javaobj/v1/transformers.py index 7e80f98..c581125 100644 --- a/javaobj/v1/transformers.py +++ b/javaobj/v1/transformers.py @@ -5,12 +5,12 @@ :authors: Volodymyr Buell, Thomas Calmant :license: Apache License 2.0 -:version: 0.4.3 +:version: 0.4.4 :status: Alpha .. - Copyright 2021 Thomas Calmant + Copyright 2024 Thomas Calmant Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/javaobj/v1/unmarshaller.py b/javaobj/v1/unmarshaller.py index 0317e68..c3c7709 100644 --- a/javaobj/v1/unmarshaller.py +++ b/javaobj/v1/unmarshaller.py @@ -13,12 +13,12 @@ :authors: Volodymyr Buell, Thomas Calmant :license: Apache License 2.0 -:version: 0.4.3 +:version: 0.4.4 :status: Alpha .. - Copyright 2021 Thomas Calmant + Copyright 2024 Thomas Calmant Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -72,7 +72,7 @@ __all__ = ("JavaObjectUnmarshaller",) # Module version -__version_info__ = (0, 4, 3) +__version_info__ = (0, 4, 4) __version__ = ".".join(str(x) for x in __version_info__) # Documentation strings format diff --git a/javaobj/v2/__init__.py b/javaobj/v2/__init__.py index 097d54b..e9745ea 100644 --- a/javaobj/v2/__init__.py +++ b/javaobj/v2/__init__.py @@ -15,12 +15,12 @@ :authors: Thomas Calmant :license: Apache License 2.0 -:version: 0.4.3 +:version: 0.4.4 :status: Alpha .. - Copyright 2021 Thomas Calmant + Copyright 2024 Thomas Calmant Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -41,7 +41,7 @@ # ------------------------------------------------------------------------------ # Module version -__version_info__ = (0, 4, 3) +__version_info__ = (0, 4, 4) __version__ = ".".join(str(x) for x in __version_info__) # Documentation strings format diff --git a/javaobj/v2/api.py b/javaobj/v2/api.py index fc02deb..8d9cd0d 100644 --- a/javaobj/v2/api.py +++ b/javaobj/v2/api.py @@ -4,12 +4,12 @@ :authors: Thomas Calmant :license: Apache License 2.0 -:version: 0.4.3 +:version: 0.4.4 :status: Alpha .. - Copyright 2021 Thomas Calmant + Copyright 2024 Thomas Calmant Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -39,7 +39,7 @@ # ------------------------------------------------------------------------------ # Module version -__version_info__ = (0, 4, 3) +__version_info__ = (0, 4, 4) __version__ = ".".join(str(x) for x in __version_info__) # Documentation strings format diff --git a/javaobj/v2/beans.py b/javaobj/v2/beans.py index 618fa7c..0b81f16 100644 --- a/javaobj/v2/beans.py +++ b/javaobj/v2/beans.py @@ -4,12 +4,12 @@ :authors: Thomas Calmant :license: Apache License 2.0 -:version: 0.4.3 +:version: 0.4.4 :status: Alpha .. - Copyright 2021 Thomas Calmant + Copyright 2024 Thomas Calmant Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -37,7 +37,7 @@ # ------------------------------------------------------------------------------ # Module version -__version_info__ = (0, 4, 3) +__version_info__ = (0, 4, 4) __version__ = ".".join(str(x) for x in __version_info__) # Documentation strings format diff --git a/javaobj/v2/core.py b/javaobj/v2/core.py index 4d9edae..8e018a6 100644 --- a/javaobj/v2/core.py +++ b/javaobj/v2/core.py @@ -5,12 +5,12 @@ :authors: Thomas Calmant :license: Apache License 2.0 -:version: 0.4.3 +:version: 0.4.4 :status: Alpha .. - Copyright 2021 Thomas Calmant + Copyright 2024 Thomas Calmant Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -70,7 +70,7 @@ # ------------------------------------------------------------------------------ # Module version -__version_info__ = (0, 4, 3) +__version_info__ = (0, 4, 4) __version__ = ".".join(str(x) for x in __version_info__) # Documentation strings format diff --git a/javaobj/v2/main.py b/javaobj/v2/main.py index 2076ccd..24b51b0 100644 --- a/javaobj/v2/main.py +++ b/javaobj/v2/main.py @@ -22,7 +22,7 @@ # ------------------------------------------------------------------------------ # Module version -__version_info__ = (0, 4, 3) +__version_info__ = (0, 4, 4) __version__ = ".".join(str(x) for x in __version_info__) # Documentation strings format diff --git a/javaobj/v2/stream.py b/javaobj/v2/stream.py index b285d83..7cb8a9f 100644 --- a/javaobj/v2/stream.py +++ b/javaobj/v2/stream.py @@ -4,12 +4,12 @@ :authors: Thomas Calmant :license: Apache License 2.0 -:version: 0.4.3 +:version: 0.4.4 :status: Alpha .. - Copyright 2021 Thomas Calmant + Copyright 2024 Thomas Calmant Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -35,7 +35,7 @@ # ------------------------------------------------------------------------------ # Module version -__version_info__ = (0, 4, 3) +__version_info__ = (0, 4, 4) __version__ = ".".join(str(x) for x in __version_info__) # Documentation strings format diff --git a/javaobj/v2/transformers.py b/javaobj/v2/transformers.py index d0d91f2..087eea9 100644 --- a/javaobj/v2/transformers.py +++ b/javaobj/v2/transformers.py @@ -4,12 +4,12 @@ :authors: Thomas Calmant :license: Apache License 2.0 -:version: 0.4.3 +:version: 0.4.4 :status: Alpha .. - Copyright 2021 Thomas Calmant + Copyright 2024 Thomas Calmant Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -48,7 +48,7 @@ # ------------------------------------------------------------------------------ # Module version -__version_info__ = (0, 4, 3) +__version_info__ = (0, 4, 4) __version__ = ".".join(str(x) for x in __version_info__) # Documentation strings format diff --git a/setup.py b/setup.py index cda54e3..240dc46 100644 --- a/setup.py +++ b/setup.py @@ -7,12 +7,12 @@ :authors: Volodymyr Buell, Thomas Calmant :license: Apache License 2.0 -:version: 0.4.3 +:version: 0.4.4 :status: Alpha .. - Copyright 2021 Thomas Calmant + Copyright 2024 Thomas Calmant Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -37,7 +37,7 @@ # ------------------------------------------------------------------------------ # Module version -__version_info__ = (0, 4, 3) +__version_info__ = (0, 4, 4) __version__ = ".".join(str(x) for x in __version_info__) # Documentation strings format diff --git a/tests/test_v1.py b/tests/test_v1.py index 68d86db..162b2db 100644 --- a/tests/test_v1.py +++ b/tests/test_v1.py @@ -8,12 +8,12 @@ :authors: Volodymyr Buell, Thomas Calmant :license: Apache License 2.0 -:version: 0.4.3 +:version: 0.4.4 :status: Alpha .. - Copyright 2021 Thomas Calmant + Copyright 2024 Thomas Calmant Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/tests/test_v2.py b/tests/test_v2.py index 43e40f6..301db9c 100644 --- a/tests/test_v2.py +++ b/tests/test_v2.py @@ -8,12 +8,12 @@ :authors: Volodymyr Buell, Thomas Calmant :license: Apache License 2.0 -:version: 0.4.3 +:version: 0.4.4 :status: Alpha .. - Copyright 2021 Thomas Calmant + Copyright 2024 Thomas Calmant Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. From 2ba2ef811dc6167303686b1c024802166f272946 Mon Sep 17 00:00:00 2001 From: Thomas Calmant Date: Sun, 7 Apr 2024 21:15:31 +0200 Subject: [PATCH 02/15] Manually tested against Python 2.7,3.4-3.12 --- setup.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/setup.py b/setup.py index 240dc46..8a2318b 100644 --- a/setup.py +++ b/setup.py @@ -87,6 +87,10 @@ def read(fname): "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", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", "Topic :: Software Development :: Libraries :: Python Modules", ], ) From 9fcf1df33a0b73e8bf7c27226c908424a4d6a3ca Mon Sep 17 00:00:00 2001 From: Thomas Calmant Date: Sun, 7 Apr 2024 21:18:54 +0200 Subject: [PATCH 03/15] Added 3.11 & 3.12 to GitHub actions --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2b6549c..826aa59 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -17,7 +17,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["2.7", "3.6", "3.7", "3.8", "3.9", "3.10"] + python-version: ["2.7", "3.6", "3.7", "3.8", "3.9", "3.10", "3.11", "3.12"] steps: - uses: actions/checkout@v2 From 86aaca7c0033c348cd934a60b2331013f5cf35c3 Mon Sep 17 00:00:00 2001 From: Thomas Calmant Date: Fri, 14 Jun 2024 11:58:57 +0200 Subject: [PATCH 04/15] Removed Python 2.7 and 3.6 from GitHub actions --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 826aa59..761c61e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -17,7 +17,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["2.7", "3.6", "3.7", "3.8", "3.9", "3.10", "3.11", "3.12"] + python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"] steps: - uses: actions/checkout@v2 From 29ba90939d1e45d0c4798b4f9b773bad38344580 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 7 Mar 2025 09:10:58 +0100 Subject: [PATCH 05/15] fix path to tests 6f361ebbac49c281c3e44f7c5c039637a5cf3390 renamed _tests/tests.py_ but did not change the path in _setup.py_. --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 8a2318b..3a703e0 100644 --- a/setup.py +++ b/setup.py @@ -70,7 +70,7 @@ def read(fname): license_file="LICENSE", keywords="python java marshalling serialization", packages=["javaobj", "javaobj.v1", "javaobj.v2"], - test_suite="tests.tests", + test_suite="tests.test_v1", install_requires=[ 'enum34;python_version<="3.4"', 'typing;python_version<="3.4"', From 3afaba4c47b0b5317790550ee2e34ca3cdd0271c Mon Sep 17 00:00:00 2001 From: Thomas Calmant Date: Thu, 13 Mar 2025 18:36:03 +0100 Subject: [PATCH 06/15] Upgrade CI build files --- .../workflows/{build.yml => build-20.04.yml} | 20 ++++---- .github/workflows/build-24.04.yml | 47 +++++++++++++++++++ 2 files changed, 57 insertions(+), 10 deletions(-) rename .github/workflows/{build.yml => build-20.04.yml} (74%) create mode 100644 .github/workflows/build-24.04.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build-20.04.yml similarity index 74% rename from .github/workflows/build.yml rename to .github/workflows/build-20.04.yml index 761c61e..872fb32 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build-20.04.yml @@ -1,28 +1,28 @@ # This workflow will install Python dependencies, run tests and lint with a variety of Python versions # For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions -name: CI Build +name: CI Build - Python 3.7 on: push: - branches: '**' + branches: [ "master" ] tags: '**' pull_request: - branches: '**' + branches: [ "master" ] jobs: build: timeout-minutes: 10 - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 strategy: fail-fast: false matrix: - python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"] + python-version: ["3.7"] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v2 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Install dependencies @@ -34,14 +34,14 @@ jobs: run: | # stop the build if there are Python syntax errors or undefined names flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics - # exit-zero treats all errors as warnings. - flake8 . --count --exit-zero --max-complexity=10 --max-line-length=110 --statistics + # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics - name: Test run: | coverage run -m pytest - name: Coveralls env: - COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }} + COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_TOKEN }} run: | pip install coveralls coveralls diff --git a/.github/workflows/build-24.04.yml b/.github/workflows/build-24.04.yml new file mode 100644 index 0000000..7cc5cfe --- /dev/null +++ b/.github/workflows/build-24.04.yml @@ -0,0 +1,47 @@ +# This workflow will install Python dependencies, run tests and lint with a variety of Python versions +# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions + +name: CI Build - Python 3.8+ + +on: + push: + branches: [ "master" ] + tags: '**' + pull_request: + branches: [ "master" ] + +jobs: + build: + timeout-minutes: 10 + runs-on: ubuntu-24.04 + strategy: + fail-fast: false + matrix: + python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14-dev"] + + steps: + - uses: actions/checkout@v4 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + python -m pip install --upgrade pip + python -m pip install flake8 pytest + if [ -f requirements.txt ]; then pip install -r requirements.txt; fi + - name: Lint with flake8 + run: | + # stop the build if there are Python syntax errors or undefined names + flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics + # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + - name: Test + run: | + coverage run -m pytest + - name: Coveralls + env: + COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_TOKEN }} + run: | + pip install coveralls + coveralls From d9942470b006517ca24b67ed4350de736cf73b30 Mon Sep 17 00:00:00 2001 From: Thomas Calmant Date: Thu, 13 Mar 2025 18:41:35 +0100 Subject: [PATCH 07/15] Fixed test_suite to run both test_v1and test_v2 --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 3a703e0..cf93fb8 100644 --- a/setup.py +++ b/setup.py @@ -70,7 +70,7 @@ def read(fname): license_file="LICENSE", keywords="python java marshalling serialization", packages=["javaobj", "javaobj.v1", "javaobj.v2"], - test_suite="tests.test_v1", + test_suite="tests", install_requires=[ 'enum34;python_version<="3.4"', 'typing;python_version<="3.4"', From 19f4b6f1233e8d49477ed1dae945ed784864fd33 Mon Sep 17 00:00:00 2001 From: Thomas Calmant Date: Thu, 13 Mar 2025 18:42:44 +0100 Subject: [PATCH 08/15] Update project configuration --- .editorconfig | 2 +- .gitignore | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.editorconfig b/.editorconfig index afbf061..b1493ad 100644 --- a/.editorconfig +++ b/.editorconfig @@ -13,5 +13,5 @@ indent_size = 4 [*.rst] indent_size = 3 -[.travis.yml] +[*.{yml,yaml,toml}] indent_size = 2 diff --git a/.gitignore b/.gitignore index 3f42667..9711698 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,7 @@ *.so # Packages +.eggs/ *.egg *.egg-info dist From 4ebc5e10c2cdce6ec47ded12db4208e9783d737f Mon Sep 17 00:00:00 2001 From: Thomas Calmant Date: Thu, 13 Mar 2025 18:46:09 +0100 Subject: [PATCH 09/15] Test more older Python versions --- .github/workflows/build-20.04.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-20.04.yml b/.github/workflows/build-20.04.yml index 872fb32..8d01623 100644 --- a/.github/workflows/build-20.04.yml +++ b/.github/workflows/build-20.04.yml @@ -1,7 +1,7 @@ # This workflow will install Python dependencies, run tests and lint with a variety of Python versions # For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions -name: CI Build - Python 3.7 +name: CI Build - Python 3.4-3.7 on: push: @@ -17,7 +17,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.7"] + python-version: ["3.4", "3.5", "3.6", "3.7"] steps: - uses: actions/checkout@v4 From 92d0bc3b7d34d8b7f78e08a8df62686e9bc08bff Mon Sep 17 00:00:00 2001 From: Thomas Calmant Date: Thu, 13 Mar 2025 18:53:13 +0100 Subject: [PATCH 10/15] Addition of the pyproject.toml file --- pyproject.toml | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index a8f43fe..8789351 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,2 +1,58 @@ +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[tool.hatch.build.targets.wheel] +packages = ["javaobj"] + +[project] +name = "javaobj-py3" +version = "0.4.4" +description = "Module for serializing and de-serializing Java objects." +readme = "README.md" +license = "Apache-2.0" +authors = [ + { name = "Volodymyr Buell", email = "vbuell@gmail.com" } +] +maintainers = [ + { name = "Thomas Calmant", email = "thomas.calmant@gmail.com" } +] +keywords = ["python", "java", "marshalling", "serialization"] +classifiers = [ + "Development Status :: 3 - Alpha", + "License :: OSI Approved :: Apache Software License", + "Operating System :: OS Independent", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "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", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Topic :: Software Development :: Libraries :: Python Modules" +] + +dependencies = [ + "enum34; python_version<='3.4'", + "typing; python_version<='3.4'" +] + +[project.optional-dependencies] +test = ["pytest"] + +[project.urls] +Homepage = "https://github.com/tcalmant/python-javaobj" +Issues = "http://github.com/tcalmant/python-javaobj/issues" +Source = "http://github.com/tcalmant/python-javaobj/" + +[tool.hatch.envs.test] +dependencies = ["pytest"] + +[tool.hatch.envs.test.scripts] +run = "pytest tests" + [tool.black] line-length = 79 From e55cc24a07727890ca02c5dc7d92c58b32360efa Mon Sep 17 00:00:00 2001 From: Thomas Calmant Date: Thu, 13 Mar 2025 19:00:24 +0100 Subject: [PATCH 11/15] Fixed coveralls secret name --- .github/workflows/build-20.04.yml | 2 +- .github/workflows/build-24.04.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-20.04.yml b/.github/workflows/build-20.04.yml index 8d01623..6b32894 100644 --- a/.github/workflows/build-20.04.yml +++ b/.github/workflows/build-20.04.yml @@ -41,7 +41,7 @@ jobs: coverage run -m pytest - name: Coveralls env: - COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_TOKEN }} + COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }} run: | pip install coveralls coveralls diff --git a/.github/workflows/build-24.04.yml b/.github/workflows/build-24.04.yml index 7cc5cfe..cc006f8 100644 --- a/.github/workflows/build-24.04.yml +++ b/.github/workflows/build-24.04.yml @@ -41,7 +41,7 @@ jobs: coverage run -m pytest - name: Coveralls env: - COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_TOKEN }} + COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }} run: | pip install coveralls coveralls From ca9e1e8749e4a52b9539bb12d1fa4705c6e6fb3f Mon Sep 17 00:00:00 2001 From: Thomas Calmant Date: Thu, 13 Mar 2025 19:02:12 +0100 Subject: [PATCH 12/15] Python 3.4 is only available on Ubuntu 18.04 --- .github/workflows/build-18.04.yml | 47 +++++++++++++++++++++++++++++++ .github/workflows/build-20.04.yml | 4 +-- 2 files changed, 49 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/build-18.04.yml diff --git a/.github/workflows/build-18.04.yml b/.github/workflows/build-18.04.yml new file mode 100644 index 0000000..b732203 --- /dev/null +++ b/.github/workflows/build-18.04.yml @@ -0,0 +1,47 @@ +# This workflow will install Python dependencies, run tests and lint with a variety of Python versions +# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions + +name: CI Build - Python 3.4 + +on: + push: + branches: [ "master" ] + tags: '**' + pull_request: + branches: [ "master" ] + +jobs: + build: + timeout-minutes: 10 + runs-on: ubuntu-18.04 + strategy: + fail-fast: false + matrix: + python-version: ["3.4"] + + steps: + - uses: actions/checkout@v4 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + python -m pip install --upgrade pip + python -m pip install flake8 pytest coverage + if [ -f requirements.txt ]; then pip install -r requirements.txt; fi + - name: Lint with flake8 + run: | + # stop the build if there are Python syntax errors or undefined names + flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics + # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + - name: Test + run: | + coverage run -m pytest + - name: Coveralls + env: + COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }} + run: | + pip install coveralls + coveralls diff --git a/.github/workflows/build-20.04.yml b/.github/workflows/build-20.04.yml index 6b32894..db2d1c4 100644 --- a/.github/workflows/build-20.04.yml +++ b/.github/workflows/build-20.04.yml @@ -1,7 +1,7 @@ # This workflow will install Python dependencies, run tests and lint with a variety of Python versions # For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions -name: CI Build - Python 3.4-3.7 +name: CI Build - Python 3.5-3.7 on: push: @@ -17,7 +17,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.4", "3.5", "3.6", "3.7"] + python-version: ["3.5", "3.6", "3.7"] steps: - uses: actions/checkout@v4 From 078db5a84902ba55ad08d62f9adbbf51947a0e94 Mon Sep 17 00:00:00 2001 From: Thomas Calmant Date: Thu, 13 Mar 2025 19:11:08 +0100 Subject: [PATCH 13/15] Trust pypi SSL certificates for older Python versions --- .github/workflows/build-18.04.yml | 2 ++ .github/workflows/build-20.04.yml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/.github/workflows/build-18.04.yml b/.github/workflows/build-18.04.yml index b732203..a3c0fcb 100644 --- a/.github/workflows/build-18.04.yml +++ b/.github/workflows/build-18.04.yml @@ -25,6 +25,8 @@ jobs: uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} + env: + PIP_TRUSTED_HOST: "pypi.python.org pypi.org files.pythonhosted.org" - name: Install dependencies run: | python -m pip install --upgrade pip diff --git a/.github/workflows/build-20.04.yml b/.github/workflows/build-20.04.yml index db2d1c4..2d8a2bc 100644 --- a/.github/workflows/build-20.04.yml +++ b/.github/workflows/build-20.04.yml @@ -25,6 +25,8 @@ jobs: uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} + env: + PIP_TRUSTED_HOST: "pypi.python.org pypi.org files.pythonhosted.org" - name: Install dependencies run: | python -m pip install --upgrade pip From 59f07a642658392dc347a01e6e925544d7384476 Mon Sep 17 00:00:00 2001 From: Thomas Calmant Date: Thu, 13 Mar 2025 19:16:40 +0100 Subject: [PATCH 14/15] Added missing coverage in 24.04 CI --- .github/workflows/build-24.04.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-24.04.yml b/.github/workflows/build-24.04.yml index cc006f8..4c25cf3 100644 --- a/.github/workflows/build-24.04.yml +++ b/.github/workflows/build-24.04.yml @@ -28,7 +28,7 @@ jobs: - name: Install dependencies run: | python -m pip install --upgrade pip - python -m pip install flake8 pytest + python -m pip install flake8 pytest coverage if [ -f requirements.txt ]; then pip install -r requirements.txt; fi - name: Lint with flake8 run: | From d25a574f931f5684e8b8aed34ab867a63ab63fb3 Mon Sep 17 00:00:00 2001 From: Thomas Calmant Date: Fri, 14 Mar 2025 10:53:29 +0100 Subject: [PATCH 15/15] Removed Python 3.4 from CI build Builds are queued indefinitely waiting for an Ubuntu 18.04 runner --- .github/workflows/build-18.04.yml | 49 ------------------------------- 1 file changed, 49 deletions(-) delete mode 100644 .github/workflows/build-18.04.yml diff --git a/.github/workflows/build-18.04.yml b/.github/workflows/build-18.04.yml deleted file mode 100644 index a3c0fcb..0000000 --- a/.github/workflows/build-18.04.yml +++ /dev/null @@ -1,49 +0,0 @@ -# This workflow will install Python dependencies, run tests and lint with a variety of Python versions -# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions - -name: CI Build - Python 3.4 - -on: - push: - branches: [ "master" ] - tags: '**' - pull_request: - branches: [ "master" ] - -jobs: - build: - timeout-minutes: 10 - runs-on: ubuntu-18.04 - strategy: - fail-fast: false - matrix: - python-version: ["3.4"] - - steps: - - uses: actions/checkout@v4 - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 - with: - python-version: ${{ matrix.python-version }} - env: - PIP_TRUSTED_HOST: "pypi.python.org pypi.org files.pythonhosted.org" - - name: Install dependencies - run: | - python -m pip install --upgrade pip - python -m pip install flake8 pytest coverage - if [ -f requirements.txt ]; then pip install -r requirements.txt; fi - - name: Lint with flake8 - run: | - # stop the build if there are Python syntax errors or undefined names - flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics - # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide - flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics - - name: Test - run: | - coverage run -m pytest - - name: Coveralls - env: - COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }} - run: | - pip install coveralls - coveralls