From e6ffdb31efb584a235a89c11127a61f6fe78c670 Mon Sep 17 00:00:00 2001 From: Vijai Kumar S Date: Tue, 11 Jun 2024 17:51:02 +0530 Subject: [PATCH] Included a new script to automatically update lib3mf version in all the required places --- Autogenerated/Bindings/C/lib3mf.h | 2 +- Autogenerated/Bindings/C/lib3mf_types.h | 4 +- .../Bindings/CDynamic/lib3mf_dynamic.cc | 2 +- .../Bindings/CDynamic/lib3mf_dynamic.h | 2 +- .../Bindings/CDynamic/lib3mf_types.h | 4 +- Autogenerated/Bindings/CSharp/Lib3MF.cs | 2 +- Autogenerated/Bindings/Cpp/lib3mf_abi.hpp | 2 +- .../Bindings/Cpp/lib3mf_implicit.hpp | 2 +- Autogenerated/Bindings/Cpp/lib3mf_types.hpp | 4 +- .../Bindings/CppDynamic/lib3mf_abi.hpp | 2 +- .../Bindings/CppDynamic/lib3mf_dynamic.h | 2 +- .../Bindings/CppDynamic/lib3mf_dynamic.hpp | 2 +- .../Bindings/CppDynamic/lib3mf_types.hpp | 4 +- Autogenerated/Bindings/Go/cfunc.go | 2 +- Autogenerated/Bindings/Go/lib3mf.go | 2 +- Autogenerated/Bindings/Go/lib3mf_dynamic.cc | 2 +- Autogenerated/Bindings/Go/lib3mf_dynamic.h | 2 +- Autogenerated/Bindings/Go/lib3mf_impl.go | 2 +- Autogenerated/Bindings/Go/lib3mf_types.h | 4 +- .../Bindings/NodeJS/lib3mf_dynamic.cc | 2 +- .../Bindings/NodeJS/lib3mf_dynamic.h | 2 +- .../Bindings/NodeJS/lib3mf_nodeaddon.cc | 2 +- .../Bindings/NodeJS/lib3mf_nodewrapper.cc | 2 +- .../Bindings/NodeJS/lib3mf_nodewrapper.h | 2 +- Autogenerated/Bindings/NodeJS/lib3mf_types.h | 4 +- Autogenerated/Bindings/Pascal/Unit_Lib3MF.pas | 4 +- Autogenerated/Bindings/Python/Lib3MF.py | 4 +- Autogenerated/Source/lib3mf_abi.hpp | 2 +- .../Source/lib3mf_interfaceexception.cpp | 2 +- .../Source/lib3mf_interfaceexception.hpp | 2 +- .../Source/lib3mf_interfacejournal.cpp | 4 +- .../Source/lib3mf_interfacejournal.hpp | 2 +- Autogenerated/Source/lib3mf_interfaces.hpp | 2 +- .../Source/lib3mf_interfacewrapper.cpp | 2 +- Autogenerated/Source/lib3mf_types.hpp | 4 +- AutomaticComponentToolkit/lib3mf.xml | 2 +- CMakeLists.txt | 2 +- Documentation/conf.py | 2 +- Documentation/index.rst | 6 +- README.md | 4 +- SDK/CPackExamples/Cpp/CMakeLists.txt | 6 +- SDK/CPackExamples/CppDynamic/CMakeLists.txt | 6 +- SDK/Examples/CSharp/Lib3MF_Example.cs | 2 +- SDK/Examples/Pascal/Lib3MF_Example.lpr | 2 +- SDK/Examples/Python/3mf_convert.py | 2 +- SDK/Examples/Python/Lib3MF_Example.py | 2 +- SDK/Examples/Python/add_triangle.py | 2 +- SDK/Examples/Python/beam_lattice.py | 2 +- SDK/Examples/Python/color_cube.py | 2 +- SDK/Examples/Python/create_components.py | 2 +- SDK/Examples/Python/create_cube.py | 2 +- SDK/Examples/Python/extract_info.py | 2 +- SDK/Examples/Python/lib3mf_common.py | 2 +- SDK/Readme.md | 2 +- Source/API/lib3mf.cpp | 2 +- lib3mf_version_update.py | 231 ++++++++++++++++++ 56 files changed, 303 insertions(+), 72 deletions(-) create mode 100644 lib3mf_version_update.py diff --git a/Autogenerated/Bindings/C/lib3mf.h b/Autogenerated/Bindings/C/lib3mf.h index d22a9aac1..80ba9cd19 100644 --- a/Autogenerated/Bindings/C/lib3mf.h +++ b/Autogenerated/Bindings/C/lib3mf.h @@ -29,7 +29,7 @@ This file has been generated by the Automatic Component Toolkit (ACT) version 1. Abstract: This is an autogenerated plain C Header file in order to allow an easy use of the 3MF Library -Interface version: 2.3.1 +Interface version: 2.3.2 */ diff --git a/Autogenerated/Bindings/C/lib3mf_types.h b/Autogenerated/Bindings/C/lib3mf_types.h index a0c6149a6..6f2dcf6a4 100644 --- a/Autogenerated/Bindings/C/lib3mf_types.h +++ b/Autogenerated/Bindings/C/lib3mf_types.h @@ -29,7 +29,7 @@ This file has been generated by the Automatic Component Toolkit (ACT) version 1. Abstract: This is an autogenerated plain C Header file with basic types in order to allow an easy use of the 3MF Library -Interface version: 2.3.1 +Interface version: 2.3.2 */ @@ -85,7 +85,7 @@ typedef void * Lib3MF_pvoid; #define LIB3MF_VERSION_MAJOR 2 #define LIB3MF_VERSION_MINOR 3 -#define LIB3MF_VERSION_MICRO 1 +#define LIB3MF_VERSION_MICRO 2 #define LIB3MF_VERSION_PRERELEASEINFO "" #define LIB3MF_VERSION_BUILDINFO "" diff --git a/Autogenerated/Bindings/CDynamic/lib3mf_dynamic.cc b/Autogenerated/Bindings/CDynamic/lib3mf_dynamic.cc index 937582f41..e1cec341d 100644 --- a/Autogenerated/Bindings/CDynamic/lib3mf_dynamic.cc +++ b/Autogenerated/Bindings/CDynamic/lib3mf_dynamic.cc @@ -29,7 +29,7 @@ This file has been generated by the Automatic Component Toolkit (ACT) version 1. Abstract: This is an autogenerated plain C Header file in order to allow an easy use of the 3MF Library -Interface version: 2.3.1 +Interface version: 2.3.2 */ diff --git a/Autogenerated/Bindings/CDynamic/lib3mf_dynamic.h b/Autogenerated/Bindings/CDynamic/lib3mf_dynamic.h index c524c7583..044c754bb 100644 --- a/Autogenerated/Bindings/CDynamic/lib3mf_dynamic.h +++ b/Autogenerated/Bindings/CDynamic/lib3mf_dynamic.h @@ -29,7 +29,7 @@ This file has been generated by the Automatic Component Toolkit (ACT) version 1. Abstract: This is an autogenerated plain C Header file in order to allow an easy use of the 3MF Library -Interface version: 2.3.1 +Interface version: 2.3.2 */ diff --git a/Autogenerated/Bindings/CDynamic/lib3mf_types.h b/Autogenerated/Bindings/CDynamic/lib3mf_types.h index a0c6149a6..6f2dcf6a4 100644 --- a/Autogenerated/Bindings/CDynamic/lib3mf_types.h +++ b/Autogenerated/Bindings/CDynamic/lib3mf_types.h @@ -29,7 +29,7 @@ This file has been generated by the Automatic Component Toolkit (ACT) version 1. Abstract: This is an autogenerated plain C Header file with basic types in order to allow an easy use of the 3MF Library -Interface version: 2.3.1 +Interface version: 2.3.2 */ @@ -85,7 +85,7 @@ typedef void * Lib3MF_pvoid; #define LIB3MF_VERSION_MAJOR 2 #define LIB3MF_VERSION_MINOR 3 -#define LIB3MF_VERSION_MICRO 1 +#define LIB3MF_VERSION_MICRO 2 #define LIB3MF_VERSION_PRERELEASEINFO "" #define LIB3MF_VERSION_BUILDINFO "" diff --git a/Autogenerated/Bindings/CSharp/Lib3MF.cs b/Autogenerated/Bindings/CSharp/Lib3MF.cs index fab65add3..9caaa404a 100644 --- a/Autogenerated/Bindings/CSharp/Lib3MF.cs +++ b/Autogenerated/Bindings/CSharp/Lib3MF.cs @@ -29,7 +29,7 @@ This file has been generated by the Automatic Component Toolkit (ACT) version 1. Abstract: This is an autogenerated CSharp file in order to allow an easy use of the 3MF Library -Interface version: 2.3.1 +Interface version: 2.3.2 */ diff --git a/Autogenerated/Bindings/Cpp/lib3mf_abi.hpp b/Autogenerated/Bindings/Cpp/lib3mf_abi.hpp index 864f8704d..44b8273b8 100644 --- a/Autogenerated/Bindings/Cpp/lib3mf_abi.hpp +++ b/Autogenerated/Bindings/Cpp/lib3mf_abi.hpp @@ -29,7 +29,7 @@ This file has been generated by the Automatic Component Toolkit (ACT) version 1. Abstract: This is an autogenerated C++-Header file in order to allow an easy use of the 3MF Library -Interface version: 2.3.1 +Interface version: 2.3.2 */ diff --git a/Autogenerated/Bindings/Cpp/lib3mf_implicit.hpp b/Autogenerated/Bindings/Cpp/lib3mf_implicit.hpp index c5718c58f..c69787d70 100644 --- a/Autogenerated/Bindings/Cpp/lib3mf_implicit.hpp +++ b/Autogenerated/Bindings/Cpp/lib3mf_implicit.hpp @@ -29,7 +29,7 @@ This file has been generated by the Automatic Component Toolkit (ACT) version 1. Abstract: This is an autogenerated C++-Header file in order to allow an easy use of the 3MF Library -Interface version: 2.3.1 +Interface version: 2.3.2 */ diff --git a/Autogenerated/Bindings/Cpp/lib3mf_types.hpp b/Autogenerated/Bindings/Cpp/lib3mf_types.hpp index bc584e7b5..705f02718 100644 --- a/Autogenerated/Bindings/Cpp/lib3mf_types.hpp +++ b/Autogenerated/Bindings/Cpp/lib3mf_types.hpp @@ -29,7 +29,7 @@ This file has been generated by the Automatic Component Toolkit (ACT) version 1. Abstract: This is an autogenerated C++-Header file with basic types in order to allow an easy use of the 3MF Library -Interface version: 2.3.1 +Interface version: 2.3.2 */ @@ -84,7 +84,7 @@ typedef void * Lib3MF_pvoid; #define LIB3MF_VERSION_MAJOR 2 #define LIB3MF_VERSION_MINOR 3 -#define LIB3MF_VERSION_MICRO 1 +#define LIB3MF_VERSION_MICRO 2 #define LIB3MF_VERSION_PRERELEASEINFO "" #define LIB3MF_VERSION_BUILDINFO "" diff --git a/Autogenerated/Bindings/CppDynamic/lib3mf_abi.hpp b/Autogenerated/Bindings/CppDynamic/lib3mf_abi.hpp index 255061d89..4efde3a1a 100644 --- a/Autogenerated/Bindings/CppDynamic/lib3mf_abi.hpp +++ b/Autogenerated/Bindings/CppDynamic/lib3mf_abi.hpp @@ -29,7 +29,7 @@ This file has been generated by the Automatic Component Toolkit (ACT) version 1. Abstract: This is an autogenerated C++-Header file in order to allow an easy use of the 3MF Library -Interface version: 2.3.1 +Interface version: 2.3.2 */ diff --git a/Autogenerated/Bindings/CppDynamic/lib3mf_dynamic.h b/Autogenerated/Bindings/CppDynamic/lib3mf_dynamic.h index 5aef62409..bfe996afe 100644 --- a/Autogenerated/Bindings/CppDynamic/lib3mf_dynamic.h +++ b/Autogenerated/Bindings/CppDynamic/lib3mf_dynamic.h @@ -29,7 +29,7 @@ This file has been generated by the Automatic Component Toolkit (ACT) version 1. Abstract: This is an autogenerated C++-Header file in order to allow an easy use of the 3MF Library -Interface version: 2.3.1 +Interface version: 2.3.2 */ diff --git a/Autogenerated/Bindings/CppDynamic/lib3mf_dynamic.hpp b/Autogenerated/Bindings/CppDynamic/lib3mf_dynamic.hpp index 3411be9e3..a374db4eb 100644 --- a/Autogenerated/Bindings/CppDynamic/lib3mf_dynamic.hpp +++ b/Autogenerated/Bindings/CppDynamic/lib3mf_dynamic.hpp @@ -29,7 +29,7 @@ This file has been generated by the Automatic Component Toolkit (ACT) version 1. Abstract: This is an autogenerated C++-Header file in order to allow an easy use of the 3MF Library -Interface version: 2.3.1 +Interface version: 2.3.2 */ diff --git a/Autogenerated/Bindings/CppDynamic/lib3mf_types.hpp b/Autogenerated/Bindings/CppDynamic/lib3mf_types.hpp index bc584e7b5..705f02718 100644 --- a/Autogenerated/Bindings/CppDynamic/lib3mf_types.hpp +++ b/Autogenerated/Bindings/CppDynamic/lib3mf_types.hpp @@ -29,7 +29,7 @@ This file has been generated by the Automatic Component Toolkit (ACT) version 1. Abstract: This is an autogenerated C++-Header file with basic types in order to allow an easy use of the 3MF Library -Interface version: 2.3.1 +Interface version: 2.3.2 */ @@ -84,7 +84,7 @@ typedef void * Lib3MF_pvoid; #define LIB3MF_VERSION_MAJOR 2 #define LIB3MF_VERSION_MINOR 3 -#define LIB3MF_VERSION_MICRO 1 +#define LIB3MF_VERSION_MICRO 2 #define LIB3MF_VERSION_PRERELEASEINFO "" #define LIB3MF_VERSION_BUILDINFO "" diff --git a/Autogenerated/Bindings/Go/cfunc.go b/Autogenerated/Bindings/Go/cfunc.go index 66d256455..0256de1e0 100644 --- a/Autogenerated/Bindings/Go/cfunc.go +++ b/Autogenerated/Bindings/Go/cfunc.go @@ -29,7 +29,7 @@ This file has been generated by the Automatic Component Toolkit (ACT) version 1. Abstract: This is an autogenerated Go wrapper file in order to allow an easy use of the 3MF Library. -Interface version: 2.3.1 +Interface version: 2.3.2 */ diff --git a/Autogenerated/Bindings/Go/lib3mf.go b/Autogenerated/Bindings/Go/lib3mf.go index c454d5b63..705bad104 100644 --- a/Autogenerated/Bindings/Go/lib3mf.go +++ b/Autogenerated/Bindings/Go/lib3mf.go @@ -29,7 +29,7 @@ This file has been generated by the Automatic Component Toolkit (ACT) version 1. Abstract: This is an autogenerated Go wrapper file in order to allow an easy use of the 3MF Library. -Interface version: 2.3.1 +Interface version: 2.3.2 */ diff --git a/Autogenerated/Bindings/Go/lib3mf_dynamic.cc b/Autogenerated/Bindings/Go/lib3mf_dynamic.cc index 937582f41..e1cec341d 100644 --- a/Autogenerated/Bindings/Go/lib3mf_dynamic.cc +++ b/Autogenerated/Bindings/Go/lib3mf_dynamic.cc @@ -29,7 +29,7 @@ This file has been generated by the Automatic Component Toolkit (ACT) version 1. Abstract: This is an autogenerated plain C Header file in order to allow an easy use of the 3MF Library -Interface version: 2.3.1 +Interface version: 2.3.2 */ diff --git a/Autogenerated/Bindings/Go/lib3mf_dynamic.h b/Autogenerated/Bindings/Go/lib3mf_dynamic.h index c524c7583..044c754bb 100644 --- a/Autogenerated/Bindings/Go/lib3mf_dynamic.h +++ b/Autogenerated/Bindings/Go/lib3mf_dynamic.h @@ -29,7 +29,7 @@ This file has been generated by the Automatic Component Toolkit (ACT) version 1. Abstract: This is an autogenerated plain C Header file in order to allow an easy use of the 3MF Library -Interface version: 2.3.1 +Interface version: 2.3.2 */ diff --git a/Autogenerated/Bindings/Go/lib3mf_impl.go b/Autogenerated/Bindings/Go/lib3mf_impl.go index 8fc4c8d1c..f91e68c3b 100644 --- a/Autogenerated/Bindings/Go/lib3mf_impl.go +++ b/Autogenerated/Bindings/Go/lib3mf_impl.go @@ -29,7 +29,7 @@ This file has been generated by the Automatic Component Toolkit (ACT) version 1. Abstract: This is an autogenerated Go implementation file in order to allow an easy use of the 3MF Library -Interface version: 2.3.1 +Interface version: 2.3.2 */ diff --git a/Autogenerated/Bindings/Go/lib3mf_types.h b/Autogenerated/Bindings/Go/lib3mf_types.h index a0c6149a6..6f2dcf6a4 100644 --- a/Autogenerated/Bindings/Go/lib3mf_types.h +++ b/Autogenerated/Bindings/Go/lib3mf_types.h @@ -29,7 +29,7 @@ This file has been generated by the Automatic Component Toolkit (ACT) version 1. Abstract: This is an autogenerated plain C Header file with basic types in order to allow an easy use of the 3MF Library -Interface version: 2.3.1 +Interface version: 2.3.2 */ @@ -85,7 +85,7 @@ typedef void * Lib3MF_pvoid; #define LIB3MF_VERSION_MAJOR 2 #define LIB3MF_VERSION_MINOR 3 -#define LIB3MF_VERSION_MICRO 1 +#define LIB3MF_VERSION_MICRO 2 #define LIB3MF_VERSION_PRERELEASEINFO "" #define LIB3MF_VERSION_BUILDINFO "" diff --git a/Autogenerated/Bindings/NodeJS/lib3mf_dynamic.cc b/Autogenerated/Bindings/NodeJS/lib3mf_dynamic.cc index 937582f41..e1cec341d 100644 --- a/Autogenerated/Bindings/NodeJS/lib3mf_dynamic.cc +++ b/Autogenerated/Bindings/NodeJS/lib3mf_dynamic.cc @@ -29,7 +29,7 @@ This file has been generated by the Automatic Component Toolkit (ACT) version 1. Abstract: This is an autogenerated plain C Header file in order to allow an easy use of the 3MF Library -Interface version: 2.3.1 +Interface version: 2.3.2 */ diff --git a/Autogenerated/Bindings/NodeJS/lib3mf_dynamic.h b/Autogenerated/Bindings/NodeJS/lib3mf_dynamic.h index c524c7583..044c754bb 100644 --- a/Autogenerated/Bindings/NodeJS/lib3mf_dynamic.h +++ b/Autogenerated/Bindings/NodeJS/lib3mf_dynamic.h @@ -29,7 +29,7 @@ This file has been generated by the Automatic Component Toolkit (ACT) version 1. Abstract: This is an autogenerated plain C Header file in order to allow an easy use of the 3MF Library -Interface version: 2.3.1 +Interface version: 2.3.2 */ diff --git a/Autogenerated/Bindings/NodeJS/lib3mf_nodeaddon.cc b/Autogenerated/Bindings/NodeJS/lib3mf_nodeaddon.cc index 983c79636..96e56c3d9 100644 --- a/Autogenerated/Bindings/NodeJS/lib3mf_nodeaddon.cc +++ b/Autogenerated/Bindings/NodeJS/lib3mf_nodeaddon.cc @@ -29,7 +29,7 @@ This file has been generated by the Automatic Component Toolkit (ACT) version 1. Abstract: This is an autogenerated C++ Implementation file for the Node addon class of the 3MF Library -Interface version: 2.3.1 +Interface version: 2.3.2 */ diff --git a/Autogenerated/Bindings/NodeJS/lib3mf_nodewrapper.cc b/Autogenerated/Bindings/NodeJS/lib3mf_nodewrapper.cc index c4bedb2a2..36b978e15 100644 --- a/Autogenerated/Bindings/NodeJS/lib3mf_nodewrapper.cc +++ b/Autogenerated/Bindings/NodeJS/lib3mf_nodewrapper.cc @@ -29,7 +29,7 @@ This file has been generated by the Automatic Component Toolkit (ACT) version 1. Abstract: This is an autogenerated C++ Implementation file for the Node wrapper class of the 3MF Library -Interface version: 2.3.1 +Interface version: 2.3.2 */ diff --git a/Autogenerated/Bindings/NodeJS/lib3mf_nodewrapper.h b/Autogenerated/Bindings/NodeJS/lib3mf_nodewrapper.h index 66c489824..49ce0ade5 100644 --- a/Autogenerated/Bindings/NodeJS/lib3mf_nodewrapper.h +++ b/Autogenerated/Bindings/NodeJS/lib3mf_nodewrapper.h @@ -29,7 +29,7 @@ This file has been generated by the Automatic Component Toolkit (ACT) version 1. Abstract: This is an autogenerated C++ Header file for the Node wrapper class of the 3MF Library -Interface version: 2.3.1 +Interface version: 2.3.2 */ diff --git a/Autogenerated/Bindings/NodeJS/lib3mf_types.h b/Autogenerated/Bindings/NodeJS/lib3mf_types.h index a0c6149a6..6f2dcf6a4 100644 --- a/Autogenerated/Bindings/NodeJS/lib3mf_types.h +++ b/Autogenerated/Bindings/NodeJS/lib3mf_types.h @@ -29,7 +29,7 @@ This file has been generated by the Automatic Component Toolkit (ACT) version 1. Abstract: This is an autogenerated plain C Header file with basic types in order to allow an easy use of the 3MF Library -Interface version: 2.3.1 +Interface version: 2.3.2 */ @@ -85,7 +85,7 @@ typedef void * Lib3MF_pvoid; #define LIB3MF_VERSION_MAJOR 2 #define LIB3MF_VERSION_MINOR 3 -#define LIB3MF_VERSION_MICRO 1 +#define LIB3MF_VERSION_MICRO 2 #define LIB3MF_VERSION_PRERELEASEINFO "" #define LIB3MF_VERSION_BUILDINFO "" diff --git a/Autogenerated/Bindings/Pascal/Unit_Lib3MF.pas b/Autogenerated/Bindings/Pascal/Unit_Lib3MF.pas index 6b5ff029d..8271fb01c 100644 --- a/Autogenerated/Bindings/Pascal/Unit_Lib3MF.pas +++ b/Autogenerated/Bindings/Pascal/Unit_Lib3MF.pas @@ -30,7 +30,7 @@ Abstract: This is an autogenerated Pascal Header file in order to allow an easy use of the 3MF Library -Interface version: 2.3.1 +Interface version: 2.3.2 *) @@ -55,7 +55,7 @@ interface const LIB3MF_VERSION_MAJOR = 2; LIB3MF_VERSION_MINOR = 3; - LIB3MF_VERSION_MICRO = 1; + LIB3MF_VERSION_MICRO = 2; LIB3MF_VERSION_PRERELEASEINFO = ''; LIB3MF_VERSION_BUILDINFO = ''; diff --git a/Autogenerated/Bindings/Python/Lib3MF.py b/Autogenerated/Bindings/Python/Lib3MF.py index 54e233c8d..1b5e6d2fd 100644 --- a/Autogenerated/Bindings/Python/Lib3MF.py +++ b/Autogenerated/Bindings/Python/Lib3MF.py @@ -29,7 +29,7 @@ Abstract: This is an autogenerated Python file in order to allow an easy use of the 3MF Library -Interface version: 2.3.1 +Interface version: 2.3.2 ''' @@ -58,7 +58,7 @@ def __str__(self): class BindingVersion(enum.IntEnum): MAJOR = 2 MINOR = 3 - MICRO = 1 + MICRO = 2 '''Definition Error Codes ''' diff --git a/Autogenerated/Source/lib3mf_abi.hpp b/Autogenerated/Source/lib3mf_abi.hpp index 864f8704d..44b8273b8 100644 --- a/Autogenerated/Source/lib3mf_abi.hpp +++ b/Autogenerated/Source/lib3mf_abi.hpp @@ -29,7 +29,7 @@ This file has been generated by the Automatic Component Toolkit (ACT) version 1. Abstract: This is an autogenerated C++-Header file in order to allow an easy use of the 3MF Library -Interface version: 2.3.1 +Interface version: 2.3.2 */ diff --git a/Autogenerated/Source/lib3mf_interfaceexception.cpp b/Autogenerated/Source/lib3mf_interfaceexception.cpp index b484bd6a8..5f10f6f2f 100644 --- a/Autogenerated/Source/lib3mf_interfaceexception.cpp +++ b/Autogenerated/Source/lib3mf_interfaceexception.cpp @@ -29,7 +29,7 @@ This file has been generated by the Automatic Component Toolkit (ACT) version 1. Abstract: This is an autogenerated C++ Implementation file with the basic internal exception type in order to allow an easy use of the 3MF Library -Interface version: 2.3.1 +Interface version: 2.3.2 */ diff --git a/Autogenerated/Source/lib3mf_interfaceexception.hpp b/Autogenerated/Source/lib3mf_interfaceexception.hpp index 1df317ec2..38891fe7e 100644 --- a/Autogenerated/Source/lib3mf_interfaceexception.hpp +++ b/Autogenerated/Source/lib3mf_interfaceexception.hpp @@ -29,7 +29,7 @@ This file has been generated by the Automatic Component Toolkit (ACT) version 1. Abstract: This is an autogenerated C++ Header file with the basic internal exception type in order to allow an easy use of the 3MF Library -Interface version: 2.3.1 +Interface version: 2.3.2 */ diff --git a/Autogenerated/Source/lib3mf_interfacejournal.cpp b/Autogenerated/Source/lib3mf_interfacejournal.cpp index 106908b7f..5a94fcddf 100644 --- a/Autogenerated/Source/lib3mf_interfacejournal.cpp +++ b/Autogenerated/Source/lib3mf_interfacejournal.cpp @@ -29,7 +29,7 @@ This file has been generated by the Automatic Component Toolkit (ACT) version 1. Abstract: This is an autogenerated C++ implementation file in order to allow easy development of the 3MF Library. It provides an automatic Journaling mechanism for the library implementation. -Interface version: 2.3.1 +Interface version: 2.3.2 */ @@ -286,7 +286,7 @@ CLib3MFInterfaceJournal::CLib3MFInterfaceJournal (const std::string & sFileName) m_StartTime = std::chrono::high_resolution_clock::now(); m_Stream.open (sFileName, std::ios::out); m_Stream << "\n"; - m_Stream << "\n"; + m_Stream << "\n"; m_Stream << "\n"; } diff --git a/Autogenerated/Source/lib3mf_interfacejournal.hpp b/Autogenerated/Source/lib3mf_interfacejournal.hpp index f12f333d1..361b67bc0 100644 --- a/Autogenerated/Source/lib3mf_interfacejournal.hpp +++ b/Autogenerated/Source/lib3mf_interfacejournal.hpp @@ -29,7 +29,7 @@ This file has been generated by the Automatic Component Toolkit (ACT) version 1. Abstract: This is an autogenerated C++ header file in order to allow easy development of the 3MF Library. It provides an automatic Journaling mechanism for the library implementation. -Interface version: 2.3.1 +Interface version: 2.3.2 */ diff --git a/Autogenerated/Source/lib3mf_interfaces.hpp b/Autogenerated/Source/lib3mf_interfaces.hpp index 9a479767f..906ffae2d 100644 --- a/Autogenerated/Source/lib3mf_interfaces.hpp +++ b/Autogenerated/Source/lib3mf_interfaces.hpp @@ -30,7 +30,7 @@ Abstract: This is an autogenerated C++ header file in order to allow easy development of the 3MF Library. The implementer of the 3MF Library needs to derive concrete classes from the abstract classes in this header. -Interface version: 2.3.1 +Interface version: 2.3.2 */ diff --git a/Autogenerated/Source/lib3mf_interfacewrapper.cpp b/Autogenerated/Source/lib3mf_interfacewrapper.cpp index 8eddf9ce8..92633dbbd 100644 --- a/Autogenerated/Source/lib3mf_interfacewrapper.cpp +++ b/Autogenerated/Source/lib3mf_interfacewrapper.cpp @@ -29,7 +29,7 @@ This file has been generated by the Automatic Component Toolkit (ACT) version 1. Abstract: This is an autogenerated C++ implementation file in order to allow easy development of the 3MF Library. The functions in this file need to be implemented. It needs to be generated only once. -Interface version: 2.3.1 +Interface version: 2.3.2 */ diff --git a/Autogenerated/Source/lib3mf_types.hpp b/Autogenerated/Source/lib3mf_types.hpp index bc584e7b5..705f02718 100644 --- a/Autogenerated/Source/lib3mf_types.hpp +++ b/Autogenerated/Source/lib3mf_types.hpp @@ -29,7 +29,7 @@ This file has been generated by the Automatic Component Toolkit (ACT) version 1. Abstract: This is an autogenerated C++-Header file with basic types in order to allow an easy use of the 3MF Library -Interface version: 2.3.1 +Interface version: 2.3.2 */ @@ -84,7 +84,7 @@ typedef void * Lib3MF_pvoid; #define LIB3MF_VERSION_MAJOR 2 #define LIB3MF_VERSION_MINOR 3 -#define LIB3MF_VERSION_MICRO 1 +#define LIB3MF_VERSION_MICRO 2 #define LIB3MF_VERSION_PRERELEASEINFO "" #define LIB3MF_VERSION_BUILDINFO "" diff --git a/AutomaticComponentToolkit/lib3mf.xml b/AutomaticComponentToolkit/lib3mf.xml index 273d1792f..078cdc4b4 100644 --- a/AutomaticComponentToolkit/lib3mf.xml +++ b/AutomaticComponentToolkit/lib3mf.xml @@ -1,5 +1,5 @@ - + diff --git a/CMakeLists.txt b/CMakeLists.txt index f7983c519..1c4f8c009 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,7 +10,7 @@ include(GNUInstallDirs) # Define Version set(LIB3MF_VERSION_MAJOR 2) # increase on every backward-compatibility breaking change of the API set(LIB3MF_VERSION_MINOR 3) # increase on every backward compatible change of the API -set(LIB3MF_VERSION_MICRO 1) # increase on on every change that does not alter the API +set(LIB3MF_VERSION_MICRO 2) # increase on on every change that does not alter the API set(LIB3MF_VERSION_PRERELEASE "") # denotes pre-release information of a version of lib3mf project(lib3mf diff --git a/Documentation/conf.py b/Documentation/conf.py index 3b05e0b61..70c28f068 100644 --- a/Documentation/conf.py +++ b/Documentation/conf.py @@ -22,7 +22,7 @@ author = '3MF Consortium' # The full version, including alpha/beta/rc tags -release = 'v2.3.1' +release = 'v2.3.2' master_doc = 'index' diff --git a/Documentation/index.rst b/Documentation/index.rst index ad31b3b56..4eb80031d 100644 --- a/Documentation/index.rst +++ b/Documentation/index.rst @@ -1,7 +1,7 @@ .. lib3mf documentation master file ********************************************* -lib3mf v2.3.1 documentation +lib3mf v2.3.2 documentation ********************************************* .. image:: https://github.com/3MFConsortium/lib3mf/workflows/Build/badge.svg?branch=master @@ -12,7 +12,7 @@ lib3mf v2.3.1 documentation :target: https://readthedocs.org/projects/lib3mf/ :alt: Documentation Status -.. image:: https://img.shields.io/static/v1.svg?label=lib3mf&message=v2.3.1&color=green +.. image:: https://img.shields.io/static/v1.svg?label=lib3mf&message=v2.3.2&color=green :alt: Version .. image:: https://img.shields.io/static/v1.svg?label=platform&message=windows%20%7C%20macos%20%7C%20linux&color=lightgrey @@ -27,7 +27,7 @@ lib3mf v2.3.1 documentation :language: bash -Welcome! This is the documentation for lib3mf v2.3.1. +Welcome! This is the documentation for lib3mf v2.3.2. lib3mf is an implementation of the 3D Manufacturing Format file standard. diff --git a/README.md b/README.md index 910d569a7..1586b2a62 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ # lib3mf -[![Build Status]](https://github.com/3MFConsortium/lib3mf/workflows/Build/badge.svg?branch=release%2F2.3.1) +[![Build Status]](https://github.com/3MFConsortium/lib3mf/workflows/Build/badge.svg?branch=release%2F2.3.2) [![Documentation Status](https://readthedocs.org/projects/lib3mf/badge/?version=master)](https://readthedocs.org/projects/lib3mf) -[![Version 2.3.1](https://img.shields.io/static/v1.svg?label=lib3mf&message=v2.3.1&color=green)]() +[![Version 2.3.2](https://img.shields.io/static/v1.svg?label=lib3mf&message=v2.3.2&color=green)]() [![Supported platforms](https://img.shields.io/static/v1.svg?label=platform&message=windows%20%7C%20macos%20%7C%20linux&color=lightgrey)]() [![Simplified BSD License](https://img.shields.io/static/v1.svg?label=license&message=BSD&color=green)](LICENSE) [![codecov](https://codecov.io/gh/3MFConsortium/lib3mf/branch/develop/graph/badge.svg?token=3ARnBye33c)](https://codecov.io/gh/3MFConsortium/lib3mf) diff --git a/SDK/CPackExamples/Cpp/CMakeLists.txt b/SDK/CPackExamples/Cpp/CMakeLists.txt index e75ad0874..64e493284 100644 --- a/SDK/CPackExamples/Cpp/CMakeLists.txt +++ b/SDK/CPackExamples/Cpp/CMakeLists.txt @@ -5,11 +5,11 @@ set(CMAKE_CXX_STANDARD 11) # Determine the platform and set lib3mf_DIR accordingly if(WIN32) # Path for Windows - set(lib3mf_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../lib3mf-2.3.1-Windows/lib/cmake/lib3mf") + set(lib3mf_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../lib3mf-2.3.2-Windows/lib/cmake/lib3mf") find_package(lib3mf REQUIRED COMPONENTS Cpp) elseif(APPLE) # Path for macOS (Darwin) - set(lib3mf_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../lib3mf-2.3.1-Darwin/lib/cmake/lib3mf") + set(lib3mf_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../lib3mf-2.3.2-Darwin/lib/cmake/lib3mf") find_package(lib3mf REQUIRED COMPONENTS Cpp) else() # Path for Linux (Here we check twice to test for Debian / RPM packages properly) @@ -17,7 +17,7 @@ else() # Check if the package was not found if(NOT lib3mf_FOUND) # lib3mf not found, so set lib3mf_DIR to the fallback directory - set(lib3mf_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../lib3mf-2.3.1-Linux/lib/cmake/lib3mf") + set(lib3mf_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../lib3mf-2.3.2-Linux/lib/cmake/lib3mf") # Find package (lib3mf) find_package(lib3mf REQUIRED COMPONENTS Cpp) endif() diff --git a/SDK/CPackExamples/CppDynamic/CMakeLists.txt b/SDK/CPackExamples/CppDynamic/CMakeLists.txt index 4fee96e92..0e1a52a69 100644 --- a/SDK/CPackExamples/CppDynamic/CMakeLists.txt +++ b/SDK/CPackExamples/CppDynamic/CMakeLists.txt @@ -42,11 +42,11 @@ set(CMAKE_CXX_STANDARD 11) # Determine the platform and set lib3mf_DIR accordingly if(WIN32) # Path for Windows - set(lib3mf_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../lib3mf-2.3.1-Windows/lib/cmake/lib3mf") + set(lib3mf_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../lib3mf-2.3.2-Windows/lib/cmake/lib3mf") find_package(lib3mf REQUIRED COMPONENTS CppDynamic) elseif(APPLE) # Path for macOS (Darwin) - set(lib3mf_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../lib3mf-2.3.1-Darwin/lib/cmake/lib3mf") + set(lib3mf_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../lib3mf-2.3.2-Darwin/lib/cmake/lib3mf") find_package(lib3mf REQUIRED COMPONENTS CppDynamic) else() # Path for Linux (Here we check twice to test for Debian / RPM packages properly) @@ -54,7 +54,7 @@ else() # Check if the package was not found if(NOT lib3mf_FOUND) # lib3mf not found, so set lib3mf_DIR to the fallback directory - set(lib3mf_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../lib3mf-2.3.1-Linux/lib/cmake/lib3mf") + set(lib3mf_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../lib3mf-2.3.2-Linux/lib/cmake/lib3mf") # Find package (lib3mf) find_package(lib3mf REQUIRED COMPONENTS CppDynamic) endif() diff --git a/SDK/Examples/CSharp/Lib3MF_Example.cs b/SDK/Examples/CSharp/Lib3MF_Example.cs index 53c85dff8..a5b5b9dcc 100644 --- a/SDK/Examples/CSharp/Lib3MF_Example.cs +++ b/SDK/Examples/CSharp/Lib3MF_Example.cs @@ -29,7 +29,7 @@ This file has been generated by the Automatic Component Toolkit (ACT) version 1. Abstract: This is an autogenerated CSharp application that demonstrates the usage of the CSharp bindings of the 3MF Library -Interface version: 2.3.1 +Interface version: 2.3.2 */ diff --git a/SDK/Examples/Pascal/Lib3MF_Example.lpr b/SDK/Examples/Pascal/Lib3MF_Example.lpr index 6a564d7dd..22d95d28e 100644 --- a/SDK/Examples/Pascal/Lib3MF_Example.lpr +++ b/SDK/Examples/Pascal/Lib3MF_Example.lpr @@ -29,7 +29,7 @@ Abstract: This is an autogenerated Pascal application that demonstrates the usage of the Pascal bindings of the 3MF Library -Interface version: 2.3.1 +Interface version: 2.3.2 *) diff --git a/SDK/Examples/Python/3mf_convert.py b/SDK/Examples/Python/3mf_convert.py index 81a3a3cc5..10e10e264 100644 --- a/SDK/Examples/Python/3mf_convert.py +++ b/SDK/Examples/Python/3mf_convert.py @@ -26,7 +26,7 @@ Abstract: An example to convert between 3MF and STL -Interface version: 2.3.1 +Interface version: 2.3.2 ''' diff --git a/SDK/Examples/Python/Lib3MF_Example.py b/SDK/Examples/Python/Lib3MF_Example.py index 22220afd2..b656b5ac3 100644 --- a/SDK/Examples/Python/Lib3MF_Example.py +++ b/SDK/Examples/Python/Lib3MF_Example.py @@ -29,7 +29,7 @@ Abstract: This is an autogenerated Python application that demonstrates the usage of the Python bindings of the 3MF Library -Interface version: 2.3.1 +Interface version: 2.3.2 ''' diff --git a/SDK/Examples/Python/add_triangle.py b/SDK/Examples/Python/add_triangle.py index 311c71b87..80e335d32 100644 --- a/SDK/Examples/Python/add_triangle.py +++ b/SDK/Examples/Python/add_triangle.py @@ -26,7 +26,7 @@ Abstract: Simplest 3mf example that just includes a single triangle -Interface version: 2.3.1 +Interface version: 2.3.2 ''' diff --git a/SDK/Examples/Python/beam_lattice.py b/SDK/Examples/Python/beam_lattice.py index f6ca9097a..c2fbce2d6 100644 --- a/SDK/Examples/Python/beam_lattice.py +++ b/SDK/Examples/Python/beam_lattice.py @@ -26,7 +26,7 @@ Abstract: Beam Lattice example -Interface version: 2.3.1 +Interface version: 2.3.2 ''' diff --git a/SDK/Examples/Python/color_cube.py b/SDK/Examples/Python/color_cube.py index c7673d9e0..704b15248 100644 --- a/SDK/Examples/Python/color_cube.py +++ b/SDK/Examples/Python/color_cube.py @@ -26,7 +26,7 @@ Abstract: Color cube example -Interface version: 2.3.1 +Interface version: 2.3.2 ''' diff --git a/SDK/Examples/Python/create_components.py b/SDK/Examples/Python/create_components.py index 63e4164e9..f0bf17c0f 100644 --- a/SDK/Examples/Python/create_components.py +++ b/SDK/Examples/Python/create_components.py @@ -26,7 +26,7 @@ Abstract: An example that creates multiple components using transformations -Interface version: 2.3.1 +Interface version: 2.3.2 ''' diff --git a/SDK/Examples/Python/create_cube.py b/SDK/Examples/Python/create_cube.py index 1f82ecb0e..5a5aa007e 100644 --- a/SDK/Examples/Python/create_cube.py +++ b/SDK/Examples/Python/create_cube.py @@ -26,7 +26,7 @@ Abstract: Create a simple cube -Interface version: 2.3.1 +Interface version: 2.3.2 ''' diff --git a/SDK/Examples/Python/extract_info.py b/SDK/Examples/Python/extract_info.py index 62e325587..0aa1be623 100644 --- a/SDK/Examples/Python/extract_info.py +++ b/SDK/Examples/Python/extract_info.py @@ -26,7 +26,7 @@ Abstract: Extract info from a 3MF model -Interface version: 2.3.1 +Interface version: 2.3.2 ''' diff --git a/SDK/Examples/Python/lib3mf_common.py b/SDK/Examples/Python/lib3mf_common.py index 058a66c59..c9296d1f1 100644 --- a/SDK/Examples/Python/lib3mf_common.py +++ b/SDK/Examples/Python/lib3mf_common.py @@ -26,7 +26,7 @@ Abstract: Common set of functions that are used across all examples -Interface version: 2.3.1 +Interface version: 2.3.2 ''' diff --git a/SDK/Readme.md b/SDK/Readme.md index fa392dda7..7ed4124cd 100644 --- a/SDK/Readme.md +++ b/SDK/Readme.md @@ -18,4 +18,4 @@ The specification can be downloaded at ## Documentation -lib3mf's documentation is available on https://lib3mf.readthedocs.io or as PDF in [Documentation/lib3mf_v2.3.1.pdf](Documentation/lib3mf_v2.3.1.pdf). +lib3mf's documentation is available on https://lib3mf.readthedocs.io or as PDF in [Documentation/lib3mf_v2.3.2.pdf](Documentation/lib3mf_v2.3.2.pdf). diff --git a/Source/API/lib3mf.cpp b/Source/API/lib3mf.cpp index 79d207aab..4b309cab2 100644 --- a/Source/API/lib3mf.cpp +++ b/Source/API/lib3mf.cpp @@ -29,7 +29,7 @@ This file has been generated by the Automatic Component Toolkit (ACT) version 1. Abstract: This is an autogenerated C++ implementation file in order to allow easy development of the 3MF Library. It needs to be generated only once. -Interface version: 2.3.1 +Interface version: 2.3.2 */ diff --git a/lib3mf_version_update.py b/lib3mf_version_update.py new file mode 100644 index 000000000..7b780bd76 --- /dev/null +++ b/lib3mf_version_update.py @@ -0,0 +1,231 @@ +import os +import argparse +import re +import platform +import subprocess + + +def update_version_in_xml(file_path, old_version, new_version): + with open(file_path, 'r', encoding='utf-8') as file: + content = file.read() + + # Use regex to replace the old version with the new version + updated_content = re.sub( + fr'(]*version="){old_version}(")', + fr'\g<1>{new_version}\g<2>', + content + ) + + with open(file_path, 'w', encoding='utf-8') as file: + file.write(updated_content) + + print(f"Updated {file_path}") + + +def run_act_command(): + start_dir = os.getcwd() + act_dir = os.path.join(start_dir, 'AutomaticComponentToolkit') + + # Determine the command based on the operating system and architecture + os_type = platform.system() + arch = platform.machine() + + if os_type == 'Darwin': + if 'arm' in arch.lower(): + command = './act.arm.darwin lib3mf.xml -bindings ../Autogenerated/Bindings -interfaces ../Autogenerated/Source -suppresssubcomponents -suppresslicense -suppressstub -suppressexamples' + else: + command = './act.darwin lib3mf.xml -bindings ../Autogenerated/Bindings -interfaces ../Autogenerated/Source -suppresssubcomponents -suppresslicense -suppressstub -suppressexamples' + elif os_type == 'Linux': + if 'arm' in arch.lower(): + command = './act.arm.linux64 lib3mf.xml -bindings ../Autogenerated/Bindings -interfaces ../Autogenerated/Source -suppresssubcomponents -suppresslicense -suppressstub -suppressexamples' + else: + command = './act.linux64 lib3mf.xml -bindings ../Autogenerated/Bindings -interfaces ../Autogenerated/Source -suppresssubcomponents -suppresslicense -suppressstub -suppressexamples' + elif os_type == 'Windows': + command = 'act.win64.exe lib3mf.xml -bindings ..\\Autogenerated\\Bindings -interfaces ..\\Autogenerated\\Source -suppresssubcomponents -suppresslicense -suppressstub -suppressexamples' + else: + raise RuntimeError(f'Unsupported OS: {os_type}') + + try: + # Change to the AutomaticComponentToolkit directory + os.chdir(act_dir) + + # Execute the command + subprocess.run(command, shell=True, check=True) + print(f"Command executed successfully: {command}") + except subprocess.CalledProcessError as e: + print(f"Command failed with error: {e}") + finally: + # Change back to the original directory + os.chdir(start_dir) + + +def patch_python_bindings(): + start_dir = os.getcwd() + bindings_path = os.path.join(start_dir, 'Autogenerated', 'Bindings', 'Python', 'Lib3MF.py') + + search_line = r"\tNone = 0" + new_line = r"\tBeamLatticeBallModeNone = 0" + + with open(bindings_path, 'r', encoding='utf-8') as file: + content = file.read() + + # Use regex to replace the specific line + updated_content = re.sub(search_line, new_line, content) + + with open(bindings_path, 'w', encoding='utf-8') as file: + file.write(updated_content) + + print(f"Python bindings patched successfully: {bindings_path}") + + +def update_version_in_cmakelists(new_version): + if '-' in new_version: + version, prerelease = new_version.split('-', 1) + else: + version, prerelease = new_version, "" + + major, minor, micro = version.split('.') + + with open('CMakeLists.txt', 'r', encoding='utf-8') as file: + content = file.read() + + content = re.sub(r'set\(LIB3MF_VERSION_MAJOR \d+\)', f'set(LIB3MF_VERSION_MAJOR {major})', content) + content = re.sub(r'set\(LIB3MF_VERSION_MINOR \d+\)', f'set(LIB3MF_VERSION_MINOR {minor})', content) + content = re.sub(r'set\(LIB3MF_VERSION_MICRO \d+\)', f'set(LIB3MF_VERSION_MICRO {micro})', content) + content = re.sub(r'set\(LIB3MF_VERSION_PRERELEASE ".*"\)', f'set(LIB3MF_VERSION_PRERELEASE "{prerelease}")', + content) + + with open('CMakeLists.txt', 'w', encoding='utf-8') as file: + file.write(content) + + print(f"Updated CMakeLists.txt") + + +def update_version_in_conf_py(file_path, old_version, new_version): + with open(file_path, 'r', encoding='utf-8') as file: + content = file.read() + + # Update the release version + updated_content = re.sub( + fr"release = 'v{old_version}'", + fr"release = 'v{new_version}'", + content + ) + + with open(file_path, 'w', encoding='utf-8') as file: + file.write(updated_content) + + print(f"Updated {file_path}") + + +def update_version_in_index_rst(file_path, old_version, new_version): + with open(file_path, 'r', encoding='utf-8') as file: + content = file.read() + + # Replace all instances of the old version with the new version + updated_content = content.replace(old_version, new_version) + + with open(file_path, 'w', encoding='utf-8') as file: + file.write(updated_content) + + print(f"Updated {file_path}") + + +def update_version_in_readme_md(file_path, old_version, new_version): + with open(file_path, 'r', encoding='utf-8') as file: + content = file.read() + + # Update the PDF link version + updated_content = re.sub( + fr"lib3mf_v{old_version}\.pdf", + fr"lib3mf_v{new_version}.pdf", + content) + + with open(file_path, 'w', encoding='utf-8') as file: + file.write(updated_content) + + print(f"Updated {file_path}") + + +def update_version_in_file(file_path, old_version, new_version): + with open(file_path, 'r', encoding='utf-8') as file: + content = file.read() + + # Replace all instances of the old version with the new version + updated_content = content.replace(old_version, new_version) + + with open(file_path, 'w', encoding='utf-8') as file: + file.write(updated_content) + + print(f"Updated {file_path}") + + +def main(): + parser = argparse.ArgumentParser(description='Update lib3mf version in multiple files.') + parser.add_argument('old_version', type=str, help='The old version number to be replaced.') + parser.add_argument('new_version', type=str, help='The new version number to update to.') + args = parser.parse_args() + old_version = args.old_version + new_version = args.new_version + + # Get the current working directory + start_dir = os.getcwd() + + # Update AutomaticComponentToolkit/lib3mf.xml + xml_file_path = os.path.join(start_dir, 'AutomaticComponentToolkit', 'lib3mf.xml') + update_version_in_xml(xml_file_path, old_version, new_version) + + # Run the act command + run_act_command() + + # Patch the Python bindings + patch_python_bindings() + + # Update CMakeLists.txt + update_version_in_cmakelists(new_version) + + # Update Documentation/conf.py + conf_py_path = os.path.join(start_dir, 'Documentation', 'conf.py') + update_version_in_conf_py(conf_py_path, old_version, new_version) + + # Update Documentation/index.rst + index_rst_path = os.path.join(start_dir, 'Documentation', 'index.rst') + update_version_in_index_rst(index_rst_path, old_version, new_version) + + # Update SDK/Readme.md + readme_md_path = os.path.join(start_dir, 'SDK', 'Readme.md') + update_version_in_readme_md(readme_md_path, old_version, new_version) + + # Update README.md at the same location as this script + readme_path = os.path.join(start_dir, 'README.md') + update_version_in_readme_md(readme_path, old_version, new_version) + + # Define all additional file paths that need to be updated + additional_file_paths = [ + os.path.join(start_dir, 'SDK', 'Readme.md'), + os.path.join(start_dir, 'README.md'), + os.path.join(start_dir, 'Autogenerated', 'Bindings', 'Go', 'lib3mf_impl.go'), + os.path.join(start_dir, 'Autogenerated', 'Bindings', 'CppDynamic', 'lib3mf_abi.hpp'), + os.path.join(start_dir, 'SDK', 'Examples', 'CSharp', 'Lib3MF_Example.cs'), + os.path.join(start_dir, 'SDK', 'Examples', 'Python', 'lib3mf_common.py'), + os.path.join(start_dir, 'SDK', 'Examples', 'Python', 'Lib3MF_Example.py'), + os.path.join(start_dir, 'SDK', 'Examples', 'Python', 'create_cube.py'), + os.path.join(start_dir, 'SDK', 'Examples', 'Python', 'beam_lattice.py'), + os.path.join(start_dir, 'SDK', 'Examples', 'Python', 'add_triangle.py'), + os.path.join(start_dir, 'SDK', 'Examples', 'Python', 'color_cube.py'), + os.path.join(start_dir, 'SDK', 'Examples', 'Python', '3mf_convert.py'), + os.path.join(start_dir, 'SDK', 'Examples', 'Python', 'extract_info.py'), + os.path.join(start_dir, 'SDK', 'Examples', 'Python', 'create_components.py'), + os.path.join(start_dir, 'SDK', 'Examples', 'Pascal', 'Lib3MF_Example.lpr'), + os.path.join(start_dir, 'SDK', 'CPackExamples', 'Cpp', 'CMakeLists.txt'), + os.path.join(start_dir, 'SDK', 'CPackExamples', 'CppDynamic', 'CMakeLists.txt'), + os.path.join(start_dir, 'Source', 'API', 'lib3mf.cpp'), + ] + + # Update all additional specified files + for file_path in additional_file_paths: + update_version_in_file(file_path, old_version, new_version) + + +if __name__ == "__main__": + main()