karljj1 / kdis

DIS(IEEE 1278.1) Fully Implemented in C++. A complete open source implementation of DIS (Distributed Interactive Simulation) in C++. 1278.1 and 1278.1a are fully implemented including enumerations. Includes several utility classes to help with developing your DIS app.
BSD 2-Clause "Simplified" License
22 stars 10 forks source link

Maintainability #12

Closed carlocorradini closed 9 months ago

carlocorradini commented 9 months ago

Complete rewrite with new structure, features and more... I've set minimum CMake version to 3.14 (following CPM) but should be decreased. @karljj1 Let me know what you think 🥳🤯

NOTE: Currently this is a draft (unfinished)

Fix #8 Fix #9 Fix #13

karljj1 commented 9 months ago

Looks good. Are these just changes to the structure or are there also code changes? Github was struggling to show the PR so I couldn't review it all.

carlocorradini commented 9 months ago

The code is the same (it has only been formatted by clang-format). The only changes I made are in KDefines.hpp but it should be refactored since we will use GenerateExportHeader. Therefore the custom DLL export is deprecated/useless. For the other changes etc... what do you think?

karljj1 commented 9 months ago

The code is the same (it has only been formatted by clang-format). The only changes I made are in KDefines.hpp but it should be refactored since we will use GenerateExportHeader. Therefore the custom DLL export is deprecated/useless. For the other changes etc... what do you think?

Oh very nice. GenerateExportHeader looks great :) Im happy with the changes.

carlocorradini commented 9 months ago

@karljj1 Note that you can edit (create commits and push them) to my branch since I've allowed edits from maintainers

carlocorradini commented 9 months ago

@karljj1 I think we have a pretty good starting point now. What do you think? Note that the CI/CD has been improved. Added GenerateExportHeader. You can release a new version of KDIS automatically by pushing a tag (SEMVER compatible). E.g.: v3.0.0

karljj1 commented 9 months ago

Looks great! Im happy to merge this in if you are. Thanks for all the hard work :)

carlocorradini commented 9 months ago

@karljj1 I think it's better if you release version 2.10.0 with the old code and structure (can you update the CHANGELOG.md file in my branch please). Then, merge the PR (note that it's not finished yet) and update the CHANGELOG.md file in unreleased version (this will be 3.0.0).

carlocorradini commented 9 months ago

Nice 🥳🤯

karljj1 commented 9 months ago

Thanks for the PR! Really appreciate all the work you did,

carlocorradini commented 9 months ago

Wow 😳 Thanks The repo looks really good now 🥳 We need to update all the code and more 🥳👍