Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CURA 10561 makerbot plugin #4

Merged
merged 25 commits into from
Oct 15, 2023
Merged

CURA 10561 makerbot plugin #4

merged 25 commits into from
Oct 15, 2023

Commits on Oct 11, 2023

  1. Refactored project structure and updated build system

    Significantly revised the project structure and made updates to the conanfile.py and CMakeLists.txt. The project was adjusted to follow a more standard layout, with all public headers moved to a central 'include' directory. The build system was updated to use more modern CMake practices and use the Conan package manager more effectively, removing the previous manual download of conan.cmake. Additionally, several source files were moved or renamed to support the changes in organization and convention.
    
    Extended the .gitignore file to ignore more unnecessary files created by the build system and IDE, and updated various #include directives in the source code to reflect the new file locations. The test setup in CMakeLists.txt was also simplified and improved for better integration with Google Test.
    
    These changes should provide a cleaner and more maintainable project structure, simplify the build process, and reduce potential for errors. It should also reduce the learning curve for new developers looking to contribute to the project.
    
    Contributes to CURA-10561
    jellespijker committed Oct 11, 2023
    Configuration menu
    Copy the full SHA
    0902156 View commit details
    Browse the repository at this point in the history
  2. Add Conan package workflow and update unit tests

    This update adds a new GitHub workflow for managing Conan packages. The workflow exports the recipe, sources, and binaries for Mac, Windows, and Linux and uploads them to the server where they can be used downstream. It also includes a new requirements file for the Conan package. The unit test workflow has been updated to include steps for installing dependencies and publishing test results. This will ensure consistent building and testing environments.
    
    Contributes to CURA-10561
    jellespijker committed Oct 11, 2023
    Configuration menu
    Copy the full SHA
    1270294 View commit details
    Browse the repository at this point in the history
  3. Add linting and formatting workflows for code quality checks

    This commit adds several GitHub workflows for automatic linting and formatting of the codebase. First, a "lint-formatter" workflow is added, which uses clang-format to automatically format .h, .cpp, and .h* files upon push. Then, a "lint-poster" workflow is added to handle displaying linting results after the completion of a "lint-tidier" workflow. Furthermore, a "lint-tidier" workflow applies the clang-tidy tool for automatic linting on pull requests for .h, .cpp, and .h* files. A python requirements file is included for the linter workflows, and standard clang configuration files for formatting and linting are also added.
    
    This change ensures consistent code styling and alerts for potential issues, which helps maintain the quality and readability of the codebase.
    
    Contributes to CURA-10561
    jellespijker committed Oct 11, 2023
    Configuration menu
    Copy the full SHA
    c07f2da View commit details
    Browse the repository at this point in the history
  4. Refactor namespaces and code styling consistency

    The main change is a refactor of the style used for conditional blocks, method formatting, variable declaration, and namespace formatting in several files. This change makes the style consistent and easier to read and maintain. Furthermore, an unnecessary comment related to command-line utility in the CMakeLists.txt has been removed. The changes don't affect the functionality of the code, but should improve readability and ease of development.
    
    Made sure all necessary includes are present
    
    Optimized initialization of structs `constexpr`, `noexcept`, list initializers etc.
    
    Contributes to CURA-10561
    jellespijker committed Oct 11, 2023
    Configuration menu
    Copy the full SHA
    df6afa8 View commit details
    Browse the repository at this point in the history
  5. Applied clang-format.

    jellespijker authored and github-actions[bot] committed Oct 11, 2023
    Configuration menu
    Copy the full SHA
    a761b3d View commit details
    Browse the repository at this point in the history
  6. Remove 'class' keyword from enums

    The 'class' keyword was eliminated from CommandType and Tag enumerations in 'command_types.h'.
    
    Fixes  warning: elaborated-type-specifier for a scoped enum must not use the ‘class’ keyword
    
    Contributes to CURA-10561
    jellespijker committed Oct 11, 2023
    Configuration menu
    Copy the full SHA
    ab138dc View commit details
    Browse the repository at this point in the history
  7. Replace command_types.h with mgjtp_command_to_json.h

    The include directives changed in several files: dulcificum/miracle_jtp/mgjtp_mappings_json_key_to_str.h, src/miracle_jtp/mgjtp_json_to_command.cpp, src/miracle_jtp/mgjtp_command_to_json.cpp, and include/dulcificum/miracle_jtp/mgjtp_json_to_command.h. All references to "dulcificum/command_types.h" have now been replaced with "dulcificum/miracle_jtp/mgjtp_command_to_json.h". This change was necessary as mgjtp_command_to_json.h provides more relevant functionality.
    
    Contributes to CURA-10561
    jellespijker committed Oct 11, 2023
    Configuration menu
    Copy the full SHA
    72d6a80 View commit details
    Browse the repository at this point in the history
  8. Applied clang-format.

    jellespijker authored and github-actions[bot] committed Oct 11, 2023
    Configuration menu
    Copy the full SHA
    d54acd0 View commit details
    Browse the repository at this point in the history
  9. revert uint8_t enum

    Should fix the `error: use of enum ‘CommandType’ without previous declaration`
    
    Contributes to CURA-10561
    jellespijker committed Oct 11, 2023
    Configuration menu
    Copy the full SHA
    e7167e7 View commit details
    Browse the repository at this point in the history
  10. Removed constexpr

    Tag isn't constexpr
    
    Contributes to CURA-10561
    jellespijker committed Oct 11, 2023
    Configuration menu
    Copy the full SHA
    e491845 View commit details
    Browse the repository at this point in the history
  11. Revert "Removed constexpr"

    This reverts commit e491845.
    jellespijker committed Oct 11, 2023
    Configuration menu
    Copy the full SHA
    4f6d7e7 View commit details
    Browse the repository at this point in the history
  12. no test options available

    we use the conf file
    
    Contributes to CURA-10561
    jellespijker committed Oct 11, 2023
    Configuration menu
    Copy the full SHA
    2b0a4de View commit details
    Browse the repository at this point in the history

Commits on Oct 12, 2023

  1. Add 'translator' application and its build setup

    The 'translator' application has been added to the project. Relying on several libraries and offering command line options, it serves as primary user interface. The libraries used include 'docopt' for command line parsing, 'spdlog' for logging and 'jinja2' for templating. Build files 'CMakeLists.txt' have been updated accordingly to include applications and tests based on the new options. Besides, '.gitignore' has been updated to ignore generated header file 'cmdline.h'.
    
    This update also modifies 'conanfile.py' to include new requirements and options, as well as to generate 'cmdline.h' from a template. This streamlines the application build process, making it more flexible and maintainable.
    
    Contribute to CURA-10561
    jellespijker committed Oct 12, 2023
    Configuration menu
    Copy the full SHA
    24c2f97 View commit details
    Browse the repository at this point in the history
  2. Added Python bindings for the Dulcificum bot library

    Python binding for Dulcificum bot library has been initialized. This includes necessary includes and setup in `pyDulcificum.cpp` file, modification in `CMakeLists.txt` for option to build with Python bindings, and updating the Conan file to include Python bindings option and requirements necessary for these bindings. This will allow Python scripts to directly use Dulcificum's bot commands and functionalities.
    
    Contributes to CURA-10561
    jellespijker committed Oct 12, 2023
    Configuration menu
    Copy the full SHA
    3f593af View commit details
    Browse the repository at this point in the history
  3. improved readability

    according to code-style
    
    Contributes to CURA-10561
    jellespijker committed Oct 12, 2023
    Configuration menu
    Copy the full SHA
    e0bb17c View commit details
    Browse the repository at this point in the history
  4. Don't use namespace using-directives

    Contributes to CURA-10561
    jellespijker committed Oct 12, 2023
    Configuration menu
    Copy the full SHA
    799b852 View commit details
    Browse the repository at this point in the history
  5. Fixed strip target

    Contributes to CURA-10561
    jellespijker committed Oct 12, 2023
    Configuration menu
    Copy the full SHA
    924a03c View commit details
    Browse the repository at this point in the history
  6. Use ranged based for loops

    This commit adds the range-v3 library as a new dependency in the Conant and CMake files. This library is used to encapsulate iterators in ranged-based for loops for better readability and efficiency. It is specifically implemented in `mgjtp_json_to_command.cpp` and `mgjtp_command_to_json.cpp` files, where the traditional loops are replaced with ranged-based ones using `range/v3/view/zip.hpp` and `range/v3/view/remove_if.hpp`. This change simplifies the zipList functions in these files and improves code readability.
    
    Coontributes to CURA-10561
    jellespijker committed Oct 12, 2023
    Configuration menu
    Copy the full SHA
    231d0f6 View commit details
    Browse the repository at this point in the history
  7. Use vector instead of array

    This is better supported by pybind11 out of the box, and it will also allow us to easily extend it for printers with more then 2 extruders.
    
    Contributes to CURA-10561
    jellespijker committed Oct 12, 2023
    Configuration menu
    Copy the full SHA
    5bbc205 View commit details
    Browse the repository at this point in the history

Commits on Oct 13, 2023

  1. Visualize the Griffin flavor GCode structure

    This commit introduces a new PlantUML file (griffin.puml) to illustrate the hierarchical structure of the UltiMaker g-code 'Griffin' flavor. It includes various classes like Griffin, Header, Body, Layer, Mesh, Feature, etc. along with their relationships and properties. This visual representation will aid in understanding and working with the Griffin gcode format.
    
    Contribute to CURA-10561
    jellespijker committed Oct 13, 2023
    Configuration menu
    Copy the full SHA
    76e0b5c View commit details
    Browse the repository at this point in the history

Commits on Oct 15, 2023

  1. Refactor version and name management in application build

    This commit removes template file generation for cmdline.h.jinja and adds direct definitions in CMakeLists.txt and related files. The changes are necessary to improve the handling of name and version management across the application. This change leads to easier maintenance by having one single point of truth for the application version and building it directly into the binaries during the compile time. App names and versions are now defined using compile definitions in CMakeLists.txt. The .gitignore file is also updated to stop ignoring cmdline.h as it is no longer auto-generated.
    
    Contributes to CURA-10561
    jellespijker committed Oct 15, 2023
    Configuration menu
    Copy the full SHA
    bd46f40 View commit details
    Browse the repository at this point in the history
  2. Refactor Python bindings setup into separate CMakeLists.txt

    The Python bindings setup was moved from the main CMakeLists.txt file into a new separate CMakeLists.txt within the pyDulcificum directory. This was done to modularise the CMake files and make the sections easier to manage and understand. This approach also provides better isolation of the configuration of different components.
    
    Contributes to CURA-10561
    jellespijker committed Oct 15, 2023
    Configuration menu
    Copy the full SHA
    7985327 View commit details
    Browse the repository at this point in the history
  3. Applied code-review suggestions

    Contributes to CURA-10561
    jellespijker committed Oct 15, 2023
    Configuration menu
    Copy the full SHA
    22b397a View commit details
    Browse the repository at this point in the history
  4. Remove Runner cache hack

    Contributes to CURA-10561
    jellespijker committed Oct 15, 2023
    Configuration menu
    Copy the full SHA
    6baad99 View commit details
    Browse the repository at this point in the history
  5. Remove Runner cache hack

    Contributes to CURA-10561
    jellespijker committed Oct 15, 2023
    Configuration menu
    Copy the full SHA
    d1e86d5 View commit details
    Browse the repository at this point in the history