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

Iox #590 Rename utils to hoofs #790

Merged

Conversation

mossmaurice
Copy link
Contributor

@mossmaurice mossmaurice commented May 11, 2021

Pre-Review Checklist for the PR Author

  1. Code follows the coding style of CONTRIBUTING.md
  2. Tests follow the best practice for testing
  3. Branch follows the naming format (iox-#123-this-is-a-branch)
  4. Commits messages are according to this guideline
    • Commit messages have the issue ID (iox-#123 commit text)
    • Commit messages are signed (git commit -s)
    • Commit author matches Eclipse Contributor Agreement (and ECA is signed)
  5. Update the PR title
    • Follow the same conventions as for commit messages
    • Link to the relevant issue
  6. Relevant issues are linked
  7. Add sensible notes for the reviewer
  8. All checks have passed (except task-list-completed)
  9. Assign PR to reviewer

Notes for Reviewer

  • Rename iceoryx_utils to iceoryx_hoofs

My apologies for the large pull request 🐿️ I tried smaller steps, but eventually decided to do it in one go.

Checklist for the PR Reviewer

  • Commits are properly organized and messages are according to the guideline
  • Code according to our coding style and naming conventions
  • Unit tests have been written for new behavior
  • Public API changes are documented via doxygen
  • Copyright owner are updated in the changed files
  • PR title describes the changes

Post-review Checklist for the PR Author

  1. All open points are addressed and tracked via issues

References

@mossmaurice mossmaurice added the refactoring Refactor code without adding features label May 11, 2021
@mossmaurice mossmaurice self-assigned this May 11, 2021
@codecov
Copy link

codecov bot commented May 11, 2021

Codecov Report

Merging #790 (c121a8c) into master (db2db48) will increase coverage by 0.09%.
The diff coverage is 96.61%.

❗ Current head c121a8c differs from pull request most recent head b56bac4. Consider uploading reports for the commit b56bac4 to get more accurate results
Impacted file tree graph

@@            Coverage Diff             @@
##           master     #790      +/-   ##
==========================================
+ Coverage   74.24%   74.34%   +0.09%     
==========================================
  Files         322      322              
  Lines       11520    11522       +2     
  Branches     1952     1952              
==========================================
+ Hits         8553     8566      +13     
+ Misses       2206     2195      -11     
  Partials      761      761              
Flag Coverage Δ
unittests 73.17% <96.61%> (+0.08%) ⬆️
unittests_timing 30.74% <5.08%> (+0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
...ceoryx_binding_c/source/c2cpp_enum_translation.cpp 46.66% <ø> (ø)
iceoryx_binding_c/source/c_node.cpp 100.00% <ø> (ø)
iceoryx_binding_c/source/c_notification_info.cpp 100.00% <ø> (ø)
iceoryx_binding_c/source/cpp2c_publisher.cpp 16.66% <ø> (ø)
...c/source/cpp2c_service_description_translation.cpp 100.00% <ø> (ø)
iceoryx_binding_c/source/cpp2c_subscriber.cpp 78.94% <ø> (ø)
...ceoryx_dds/include/iceoryx_dds/dds/data_reader.hpp 100.00% <ø> (ø)
...nclude/iceoryx_dds/internal/gateway/dds_to_iox.inl 44.18% <ø> (ø)
iceoryx_dds/source/dds2iceoryx_app/main.cpp 0.00% <ø> (ø)
iceoryx_dds/source/iceoryx2dds_app/main.cpp 0.00% <ø> (ø)
... and 159 more

@mossmaurice mossmaurice force-pushed the iox-#590-rename-utils-to-hoofs branch from b22f485 to f7e7f92 Compare May 12, 2021 10:20
@elfenpiff elfenpiff removed the request for review from dkroenke May 12, 2021 10:24
Copy link
Member

@elBoberido elBoberido left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

First 284 files. The remaining ones will follow

README.md Outdated Show resolved Hide resolved

The iceoryx utils are our basic building blocks - the foundation of
The iceoryx hoofs (**H**andy **O**bjects **O**ptimised **F**or **S**afety) are our basic building blocks - the foundation of
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this acronym correct? I read a different one in one of the previous files ... don't know which one, there are just too many

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Jep, see here

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we find an acronym where H stands for hypnotoad?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this would be blasphemy, using Hypnotoad as a helper or a name for building blocks ;). We all praise Hypnotoad and work for it and not the other way around

//
// SPDX-License-Identifier: Apache-2.0
#ifndef IOX_HOOFS_LINUX_PLATFORM_ACL_HPP
#define IOX_HOOFS_LINUX_PLATFORM_ACL_HPP
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why is this whole file marked as new

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TBH, I have no clue :( I've moved all the files with the same git mv command. I know that Git has some magic detection mechanisms to determine how many percent of a file has changed. I don't understand why this worked with the other platform files, though.

Double checked, no duplicates around:

./iceoryx_hoofs/platform/qnx/include/iceoryx_hoofs/platform/acl.hpp
./iceoryx_hoofs/platform/mac/include/iceoryx_hoofs/platform/acl.hpp
./iceoryx_hoofs/platform/linux/include/iceoryx_hoofs/platform/acl.hpp
./iceoryx_hoofs/platform/win/include/iceoryx_hoofs/platform/acl.hpp

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did you call git mv iceoryx_utils iceoryx_hoofs or did you do it for every single file?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is just the github heuristic which is doesn't recognize that it is an old file. I looked at the history of the file and it is preserved

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The former. Maybe I did something wrong when adding the files.

Copy link
Member

@elBoberido elBoberido left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

400 files done and I just noticed you didn't run clang-format

@mossmaurice mossmaurice force-pushed the iox-#590-rename-utils-to-hoofs branch from c2e0eaf to eb8f165 Compare May 12, 2021 17:00

The iceoryx utils are our basic building blocks - the foundation of
The iceoryx hoofs (**H**andy **O**bjects **O**ptimised **F**or **S**afety) are our basic building blocks - the foundation of
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this would be blasphemy, using Hypnotoad as a helper or a name for building blocks ;). We all praise Hypnotoad and work for it and not the other way around

//
// SPDX-License-Identifier: Apache-2.0
#ifndef IOX_HOOFS_LINUX_PLATFORM_ACL_HPP
#define IOX_HOOFS_LINUX_PLATFORM_ACL_HPP
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did you call git mv iceoryx_utils iceoryx_hoofs or did you do it for every single file?

Copy link
Member

@elBoberido elBoberido left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

600 filed done ... time for lunch

iceoryx_hoofs/source/log/logging_internal.cpp Show resolved Hide resolved
Copy link
Member

@elBoberido elBoberido left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

iceoryx_integrationtest/Readme.md Outdated Show resolved Hide resolved
@@ -1,4 +1,5 @@
// Copyright (c) 2020 by Robert Bosch GmbH. All rights reserved.
// Copyright (c) 2021 by Apex.AI Inc. All rights reserved.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is weird? Why did you move wait.hpp to un.hpp?
Where is the original wait.hpp file?! Or did here something else go wrong ... I am a little bit lost

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's odd, indeed. Shoulnd't be an issue since wait.hpp and un.hpp are definitely there. I have the feeling I need to practice this dance more thoroughly.

Copy link
Contributor

@elfenpiff elfenpiff left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you please replace #pragma once with include guards in iceoryx_hoofs/platform/win/include/iceoryx_hoofs/platform/platform_correction.hpp

@@ -20,7 +20,7 @@ with the compiler command being a command used to build an iceoryx file. If you

an example command if you use GCC (command taked from the build log):

CCT_Generator.sh -c /usr/bin/c++ -Diceoryx_utils_EXPORTS -I/home/perforce/iceoryx/iceoryx_utils/include -I/home/perforce/iceoryx/iceoryx_utils/platform/linux/include -O3 -DNDEBUG -fPIC -W -Wall -Wextra -Wuninitialized -Wpedantic -Wstrict-aliasing -Wcast-align -Wno-noexcept-type -Wconversion -std=gnu++14 -o CMakeFiles/iceoryx_utils.dir/source/posix_wrapper/unix_domain_socket.cpp.o -c /home/perforce/iceoryx/iceoryx_utils/source/posix_wrapper/unix_domain_socket.cpp
CCT_Generator.sh -c /usr/bin/c++ -Diceoryx_hoofs_EXPORTS -I/home/perforce/iceoryx/iceoryx_hoofs/include -I/home/perforce/iceoryx/iceoryx_hoofs/platform/linux/include -O3 -DNDEBUG -fPIC -W -Wall -Wextra -Wuninitialized -Wpedantic -Wstrict-aliasing -Wcast-align -Wno-noexcept-type -Wconversion -std=gnu++14 -o CMakeFiles/iceoryx_hoofs.dir/source/posix_wrapper/unix_domain_socket.cpp.o -c /home/perforce/iceoryx/iceoryx_hoofs/source/posix_wrapper/unix_domain_socket.cpp
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this actually work, is this somewhere tested? I mean where is this -Diceoryx_hoofs_EXPORTS defined since I do not find the corresponding CCT_Generator.sh script in our repo I assume the script uses something from us where we define that compiler variable?!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It was tested in #757 by @dkroenke @marthtz and @toniglandy1. IIUC these are compiler switches from CMake.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@elfenpiff
-D<libname>_EXPORTS is automatically generated by cmake when building a shared library.

From https://cmake.org/cmake/help/v3.0/command/set_target_properties.html:

DEFINE_SYMBOL sets the name of the preprocessor symbol defined when compiling sources in a shared library. If not set here then it is set to target_EXPORTS by default (with some substitutions if the target is not a valid C identifier). This is useful for headers to know whether they are being included from inside their library or outside to properly setup dllexport/dllimport decorations.

mossmaurice and others added 11 commits May 14, 2021 20:30
Signed-off-by: Simon Hoinkis <simon.hoinkis@apex.ai>
Signed-off-by: Simon Hoinkis <simon.hoinkis@apex.ai>
Signed-off-by: Simon Hoinkis <simon.hoinkis@apex.ai>
…g to dependencies

Signed-off-by: Simon Hoinkis <simon.hoinkis@apex.ai>
Signed-off-by: Simon Hoinkis <simon.hoinkis@apex.ai>
Signed-off-by: Simon Hoinkis <simon.hoinkis@apex.ai>
Signed-off-by: Simon Hoinkis <simon.hoinkis@apex.ai>
…ng_c}

Signed-off-by: Simon Hoinkis <simon.hoinkis@apex.ai>
…f origin/master and introspection files

Signed-off-by: Simon Hoinkis <simon.hoinkis@apex.ai>
Signed-off-by: Mathias Kraus <mathias.kraus@apex.ai>
…l and remove left-over pragma once

Signed-off-by: Simon Hoinkis <simon.hoinkis@apex.ai>
@elBoberido elBoberido force-pushed the iox-#590-rename-utils-to-hoofs branch from c121a8c to b56bac4 Compare May 14, 2021 19:21
@mossmaurice mossmaurice merged commit 11c18ca into eclipse-iceoryx:master May 14, 2021
@dkroenke dkroenke linked an issue Jun 15, 2021 that may be closed by this pull request
20 tasks
@elBoberido elBoberido deleted the iox-#590-rename-utils-to-hoofs branch August 2, 2021 16:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
refactoring Refactor code without adding features
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Improve modularity by creating architecure guidelines Enforce unix line endings
4 participants