From 851aa818f54720baab6716cc163c0d46870f0327 Mon Sep 17 00:00:00 2001 From: John Wellbelove Date: Wed, 27 Sep 2023 14:02:08 +0100 Subject: [PATCH] Updated versions --- include/etl/alignment.h | 2 +- include/etl/version.h | 2 +- library.json | 2 +- library.properties | 2 +- scripts/update_version.bat | 1 + scripts/update_version.py | 154 +++++++++++++++++++++++++++++++++++++ support/Release notes.txt | 4 + test/vs2022/etl.vcxproj | 4 + version.txt | 2 +- 9 files changed, 168 insertions(+), 5 deletions(-) create mode 100644 scripts/update_version.bat create mode 100644 scripts/update_version.py diff --git a/include/etl/alignment.h b/include/etl/alignment.h index dae08aa9e..ab2ad6fa8 100644 --- a/include/etl/alignment.h +++ b/include/etl/alignment.h @@ -214,7 +214,7 @@ namespace etl #endif #endif - ETL_STATIC_ASSERT(etl::alignment_of::value == Alignment, "Unable to create the type with the specified alignment"); + ETL_STATIC_ASSERT(etl::alignment_of::value == Alignment, "Unable to create the type with the specified alignment"); }; #if ETL_USING_CPP11 diff --git a/include/etl/version.h b/include/etl/version.h index ddf86e9c6..f55495a02 100644 --- a/include/etl/version.h +++ b/include/etl/version.h @@ -40,7 +40,7 @@ SOFTWARE. #define ETL_VERSION_MAJOR 20 #define ETL_VERSION_MINOR 38 -#define ETL_VERSION_PATCH 2 +#define ETL_VERSION_PATCH 3 #define ETL_VERSION ETL_STRING(ETL_VERSION_MAJOR) "." ETL_STRING(ETL_VERSION_MINOR) "." ETL_STRING(ETL_VERSION_PATCH) #define ETL_VERSION_W ETL_WIDE_STRING(ETL_VERSION_MAJOR) L"." ETL_WIDE_STRING(ETL_VERSION_MINOR) L"." ETL_WIDE_STRING(ETL_VERSION_PATCH) diff --git a/library.json b/library.json index d4f89481c..2f7ce90fb 100644 --- a/library.json +++ b/library.json @@ -1,6 +1,6 @@ { "name": "Embedded Template Library", - "version": "20.38.2", + "version": "20.38.3", "authors": { "name": "John Wellbelove", "email": "john.wellbelove@etlcpp.com" diff --git a/library.properties b/library.properties index 144d8b768..29337c202 100644 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=Embedded Template Library -version=20.38.2 +version=20.38.3 author= John Wellbelove maintainer=John Wellbelove license=MIT diff --git a/scripts/update_version.bat b/scripts/update_version.bat new file mode 100644 index 000000000..73bf64fb6 --- /dev/null +++ b/scripts/update_version.bat @@ -0,0 +1 @@ +python .\update_version.py diff --git a/scripts/update_version.py b/scripts/update_version.py new file mode 100644 index 000000000..9d9fbc65c --- /dev/null +++ b/scripts/update_version.py @@ -0,0 +1,154 @@ + +import shutil +import os + +# Get the current path of the script +script_dir = os.path.dirname(os.path.abspath(__file__)) + +# Get the root folder of the ETL +etl_dir = os.path.abspath(os.path.join(script_dir, os.pardir)) + +# Get the ETL repository folder +include_dir = os.path.join(etl_dir, 'include') + +# Get the ETL headers folder +headers_dir = os.path.join(include_dir, 'etl') + +# Get the Arduino folder +arduino_dir = os.path.join(etl_dir, 'arduino') + +# Get the ETL arduino_examples folder +arduino_examples_dir = os.path.join(arduino_dir, 'examples') + +# Get the root folder of both repositories +common_dir = os.path.abspath(os.path.join(etl_dir, os.pardir)) + +# Get the ETL Arduino repository folder +etl_arduino_dir = os.path.join(common_dir, 'etl-arduino') + +# Get the ETL Arduino src repository folder +etl_arduino_src_dir = os.path.join(etl_arduino_dir, 'src') + +# Get the ETL Arduino examples repository folder +etl_arduino_examples_dir = os.path.join(etl_arduino_dir, 'examples') + +major_version = '' +minor_version = '' +patch_version = '' + +#------------------------------------------------------------------------------ +def get_version(): + version_file = os.path.join(etl_dir, 'version.txt') + print('') + print('version_file = ', version_file) + + with open(version_file) as f: + version = f.read().splitlines() + + elements = version[0].split('.', 3) + + return version[0], elements[0], elements[1], elements[2] + +#------------------------------------------------------------------------------ +def update_version_h(): + print('') + print('Creating version.h') + + version_h = os.path.join(headers_dir, 'version.h') + + with open(version_h) as f: + text = f.read().splitlines() + + search_major = '#define ETL_VERSION_MAJOR ' + search_minor = '#define ETL_VERSION_MINOR ' + search_patch = '#define ETL_VERSION_PATCH ' + + length_major = len(search_major) + length_minor = len(search_minor) + length_patch = len(search_patch) + + for i in range(len(text) - 1): + + index = text[i].find(search_major) + if index != -1: + text[i] = text[i][index:length_major] + major_version + print(text[i]) + + index = text[i].find(search_minor) + if index != -1: + text[i] = text[i][index:length_minor] + minor_version + print(text[i]) + + index = text[i].find(search_patch) + if index != -1: + text[i] = text[i][index:length_patch] + patch_version + print(text[i]) + + with open(version_h, 'w') as f: + for line in text: + f.write(line) + f.write('\n') + +#------------------------------------------------------------------------------ +def update_library_json(filename): + print('') + print('Creating %s' % filename) + + with open(filename) as f: + text = f.read().splitlines() + + search = 'version' + + for i in range(len(text) - 1): + index = text[i].find(search) + if index != -1: + text[i] = ' \"version\": \"' + full_version + '\",' + + with open(filename, 'w') as f: + for line in text: + f.write(line) + f.write('\n') + +#------------------------------------------------------------------------------ +def update_library_properties(filename): + print('') + print('Creating %s' % filename) + + with open(filename, 'r') as f: + text = f.read().splitlines() + + search = 'version' + + for i in range(len(text) - 1): + index = text[i].find(search) + if index != -1: + text[i] = 'version=' + full_version + + with open(filename, 'w') as f: + for line in text: + f.write(line) + f.write('\n') + +#------------------------------------------------------------------------------ +def update_versions(): + print('') + print('Update Versions') + + global full_version + global major_version + global minor_version + global patch_version + + full_version, major_version, minor_version, patch_version = get_version() + + print("Version = %s.%s.%s" % (major_version, minor_version, patch_version )) + + update_version_h() + + update_library_json(os.path.join(etl_dir, 'library.json')) + + update_library_properties(os.path.join(etl_dir, 'library.properties')) + +#------------------------------------------------------------------------------ +if __name__ == "__main__": + update_versions() diff --git a/support/Release notes.txt b/support/Release notes.txt index a78540a5b..e546f0eaa 100644 --- a/support/Release notes.txt +++ b/support/Release notes.txt @@ -1,3 +1,7 @@ +=============================================================================== +20.38.3 +#767 etl::pool silently produces unaligned allocations for types with stricter alignment requirements than built in types + =============================================================================== 20.38.2 #749 Code change causes warning with armcc compiler diff --git a/test/vs2022/etl.vcxproj b/test/vs2022/etl.vcxproj index 96785631a..cb565df50 100644 --- a/test/vs2022/etl.vcxproj +++ b/test/vs2022/etl.vcxproj @@ -15401,8 +15401,12 @@ + + + + diff --git a/version.txt b/version.txt index ba312e9c7..ab630adc2 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -20.38.2 +20.38.3