From 0b629712f8368dcdad591294b5ed67fafc4cc124 Mon Sep 17 00:00:00 2001 From: Jose Luis Rivero Date: Tue, 12 Sep 2023 13:47:53 +0200 Subject: [PATCH 01/10] Do not install CMakeLists.txt in loader/register (#123) * Do not install CMakeLists.txt in loader/register By including the installation of a whole directory in the source code for loader/register, the buildsystem is installing the CMakeLists.txt files that are included in these directories. Exclude them from the final installation by using the EXCLUDE clause in CMake. Signed-off-by: Jose Luis Rivero --- loader/CMakeLists.txt | 3 ++- register/CMakeLists.txt | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/loader/CMakeLists.txt b/loader/CMakeLists.txt index 8da87c81..a4702204 100644 --- a/loader/CMakeLists.txt +++ b/loader/CMakeLists.txt @@ -54,7 +54,8 @@ endif() install( DIRECTORY include/ - DESTINATION ${IGN_INCLUDE_INSTALL_DIR_FULL}) + DESTINATION ${IGN_INCLUDE_INSTALL_DIR_FULL} + PATTERN "CMakeLists.txt" EXCLUDE) #============================================================================ # ign command line support diff --git a/register/CMakeLists.txt b/register/CMakeLists.txt index 0b349215..43e50865 100644 --- a/register/CMakeLists.txt +++ b/register/CMakeLists.txt @@ -3,4 +3,5 @@ ign_add_component(register INTERFACE) install( DIRECTORY include/ - DESTINATION ${IGN_INCLUDE_INSTALL_DIR_FULL}) + DESTINATION ${IGN_INCLUDE_INSTALL_DIR_FULL} + PATTERN "CMakeLists.txt" EXCLUDE) From d49337191c001a44633547526d718664332c436a Mon Sep 17 00:00:00 2001 From: "Addisu Z. Taddese" Date: Mon, 23 Oct 2023 11:32:17 -0500 Subject: [PATCH 02/10] Enable UNIT_gz_TEST on Windows (#128) Signed-off-by: Addisu Z. Taddese --- loader/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/loader/CMakeLists.txt b/loader/CMakeLists.txt index 184bc750..079ccdbd 100644 --- a/loader/CMakeLists.txt +++ b/loader/CMakeLists.txt @@ -3,7 +3,7 @@ gz_get_libsources_and_unittests(sources tests) # Disable gz_TEST if gz-tools is not found -if (MSVC OR NOT GZ_TOOLS_PROGRAM) +if (NOT GZ_TOOLS_PROGRAM) list(REMOVE_ITEM tests src/gz_TEST.cc) endif() From 944bd8c2b042d57e8d07e4ea12a6d08c8f91f23a Mon Sep 17 00:00:00 2001 From: "Addisu Z. Taddese" Date: Mon, 13 Nov 2023 10:10:50 -0600 Subject: [PATCH 03/10] Fix gz test on windows (#131) Signed-off-by: Addisu Z. Taddese --- loader/src/cmd/cmdplugin.rb.in | 6 ++---- loader/src/gz_TEST.cc | 4 +++- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/loader/src/cmd/cmdplugin.rb.in b/loader/src/cmd/cmdplugin.rb.in index 936791e7..715a7a28 100644 --- a/loader/src/cmd/cmdplugin.rb.in +++ b/loader/src/cmd/cmdplugin.rb.in @@ -15,6 +15,7 @@ # limitations under the License. require 'open3' +require 'pathname' # Constants. LIBRARY_VERSION = '@PROJECT_VERSION_FULL@' @@ -30,10 +31,7 @@ class Cmd command = args[0] exe_name = COMMANDS[command] - if exe_name[0] == '/' - # If the first character is a slash, we'll assume that we've been given an - # absolute path to the executable. This is only used during test mode. - else + unless Pathname.new(exe_name).absolute? # We're assuming that the library path is relative to the current # location of this script. exe_name = File.expand_path(File.join(File.dirname(__FILE__), exe_name)) diff --git a/loader/src/gz_TEST.cc b/loader/src/gz_TEST.cc index ef8179a2..553cd663 100644 --- a/loader/src/gz_TEST.cc +++ b/loader/src/gz_TEST.cc @@ -20,6 +20,8 @@ #include #include +#include + #include "gtest/gtest.h" #include "gz/plugin/Loader.hh" @@ -211,7 +213,7 @@ TEST(gzTest, PluginInfoVerboseDummyPlugins) ////////////////////////////////////////////////// /// \brief Check --help message and bash completion script for consistent flags -TEST(gzTest, PluginHelpVsCompletionFlags) +TEST(gzTest, GZ_UTILS_TEST_DISABLED_ON_WIN32(PluginHelpVsCompletionFlags)) { // Path to gz executable std::string gz = std::string(GZ_PATH); From f8359262a0e31d1c3866664f1276757928d08cc8 Mon Sep 17 00:00:00 2001 From: "Addisu Z. Taddese" Date: Mon, 13 Nov 2023 10:13:30 -0600 Subject: [PATCH 04/10] Update github action workflows (#132) * Use on `push` only on stable branches to avoid duplicate runs * Update project automation Signed-off-by: Addisu Z. Taddese --- .github/workflows/ci.yml | 14 ++++++++++---- .github/workflows/triage.yml | 9 +++------ 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9b79d00b..f40d3f21 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,6 +1,12 @@ name: Ubuntu CI -on: [push, pull_request] +on: + pull_request: + push: + branches: + - 'ign-plugin[0-9]' + - 'gz-plugin[0-9]' + - 'main' jobs: bionic-ci: @@ -8,7 +14,7 @@ jobs: name: Ubuntu Bionic CI steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Compile and test id: ci uses: ignition-tooling/action-ignition-ci@bionic @@ -20,7 +26,7 @@ jobs: name: Ubuntu Focal CI steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Compile and test id: ci uses: ignition-tooling/action-ignition-ci@focal @@ -29,7 +35,7 @@ jobs: name: Ubuntu Jammy CI steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Compile and test id: ci uses: ignition-tooling/action-ignition-ci@jammy diff --git a/.github/workflows/triage.yml b/.github/workflows/triage.yml index 736670e0..2332244b 100644 --- a/.github/workflows/triage.yml +++ b/.github/workflows/triage.yml @@ -10,10 +10,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Add ticket to inbox - uses: technote-space/create-project-card-action@v1 + uses: actions/add-to-project@v0.5.0 with: - PROJECT: Core development - COLUMN: Inbox - GITHUB_TOKEN: ${{ secrets.TRIAGE_TOKEN }} - CHECK_ORG_PROJECT: true - + project-url: https://github.com/orgs/gazebosim/projects/7 + github-token: ${{ secrets.TRIAGE_TOKEN }} From 6ccc53c1da7a35776ce6a0c48bc934ba6b2d5907 Mon Sep 17 00:00:00 2001 From: Ian Chen Date: Thu, 21 Dec 2023 06:43:51 -0800 Subject: [PATCH 05/10] Update CI badges in README (#134) Signed-off-by: Ian Chen --- README.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index ba01ee97..a8e0e71a 100644 --- a/README.md +++ b/README.md @@ -9,13 +9,14 @@ Build | Status -- | -- -Test coverage | [![codecov](https://codecov.io/gh/gazebosim/gz-plugin/branch/main/graph/badge.svg)](https://codecov.io/gh/gazebosim/gz-plugin/branch/main) -Ubuntu Focal | [![Build Status](https://build.osrfoundation.org/job/ignition_plugin-ci-main-focal-amd64/badge/icon)](https://build.osrfoundation.org/job/ignition_plugin-ci-main-focal-amd64/) -Homebrew | [![Build Status](https://build.osrfoundation.org/buildStatus/icon?job=ignition_plugin-ci-main-homebrew-amd64)](https://build.osrfoundation.org/job/ignition_plugin-ci-main-homebrew-amd64) -Windows | [![Build Status](https://build.osrfoundation.org/view/ign-garden/job/ign_plugin-gz-2-win/badge/icon)](https://build.osrfoundation.org/view/ign-garden/job/ign_plugin-gz-2-win/) +Test coverage | [![codecov](https://codecov.io/gh/gazebosim/gz-plugin/tree/gz-plugin2/graph/badge.svg)](https://codecov.io/gh/gazebosim/gz-plugin/tree/gz-plugin2) +Ubuntu Jammy | [![Build Status](https://build.osrfoundation.org/job/gz_plugin-ci-gz-plugin2-jammy-amd64/badge/icon)](https://build.osrfoundation.org/job/gz_plugin-ci-gz-plugin2-jammy-amd64/) +Homebrew | [![Build Status](https://build.osrfoundation.org/buildStatus/icon?job=gz_plugin-ci-gz-plugin2-homebrew-amd64)](https://build.osrfoundation.org/job/gz_plugin-ci-gz-plugin2-homebrew-amd64) +Windows | [![Build Status](https://build.osrfoundation.org/buildStatus/icon?job=gz_plugin-2-win)](https://build.osrfoundation.org/job/gz_plugin-2-win) + Gazebo Plugin is a component in the [Gazebo](http://gazebosim.org) framework, a set -of libraries designed to rapidly develop robot applications. +of libraries designed to rapidly develop robot applications. It is used to register plugin libraries and load them dynamically at runtime. [http://gazebosim.org](http://gazebosim.org) From faadc0dde21584907da48892df54fb53dc51edb8 Mon Sep 17 00:00:00 2001 From: "Addisu Z. Taddese" Date: Mon, 18 Mar 2024 14:10:35 -0500 Subject: [PATCH 06/10] Remove @mxgrey as codeowner and assign maintainership to @ahcorde (#137) (#138) Signed-off-by: Addisu Z. Taddese --- .github/CODEOWNERS | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index c5d64223..abc9fe8b 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,4 +1,4 @@ # More info: # https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners -* @mxgrey @ahcorde +* @ahcorde diff --git a/README.md b/README.md index a8e0e71a..2d83acce 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Gazebo Plugin -**Maintainer:** grey [AT] openrobotics [DOT] org +**Maintainer:** ahcorde [AT] gmail [DOT] com [![GitHub open issues](https://img.shields.io/github/issues-raw/gazebosim/gz-plugin.svg)](https://github.com/gazebosim/gz-plugin/issues) [![GitHub open pull requests](https://img.shields.io/github/issues-pr-raw/gazebosim/gz-plugin.svg)](https://github.com/gazebosim/gz-plugin/pulls) From b40bc298dcd6e553c6f7b124b8866c65db256506 Mon Sep 17 00:00:00 2001 From: "Addisu Z. Taddese" Date: Tue, 2 Apr 2024 17:20:24 -0500 Subject: [PATCH 07/10] Use relative install path for gz tool data (#140) Signed-off-by: Addisu Z. Taddese --- loader/conf/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/loader/conf/CMakeLists.txt b/loader/conf/CMakeLists.txt index 5d5cc2f2..b533dcff 100644 --- a/loader/conf/CMakeLists.txt +++ b/loader/conf/CMakeLists.txt @@ -24,7 +24,7 @@ configure_file( # Install the yaml configuration files in an unversioned location. install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${GZ_DESIGNATION}${PROJECT_VERSION_MAJOR}.yaml - DESTINATION ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/gz/) + DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/gz/) # Tack version onto and install the bash completion script configure_file( @@ -34,4 +34,4 @@ install( FILES ${CMAKE_CURRENT_BINARY_DIR}/plugin${PROJECT_VERSION_MAJOR}.bash_completion.sh DESTINATION - ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/gz/gz${GZ_TOOLS_VER}.completion.d) + ${CMAKE_INSTALL_DATAROOTDIR}/gz/gz${GZ_TOOLS_VER}.completion.d) From 23c28a25aa0c52c87378a28543723b73d475c417 Mon Sep 17 00:00:00 2001 From: "Addisu Z. Taddese" Date: Mon, 8 Apr 2024 13:52:55 -0500 Subject: [PATCH 08/10] Prepare for 2.0.3 (#142) Signed-off-by: Addisu Z. Taddese --- CMakeLists.txt | 2 +- Changelog.md | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 85e72155..3d2f8720 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.5.1 FATAL_ERROR) #============================================================================ # Initialize the project #============================================================================ -project(gz-plugin2 VERSION 2.0.2) +project(gz-plugin2 VERSION 2.0.3) #============================================================================ # Find gz-cmake diff --git a/Changelog.md b/Changelog.md index 271e2709..f26f5660 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,5 +1,26 @@ ## Gazebo Plugin 2.x +### Gazebo Plugin 2.0.3 (2024-04-08) + +1. Use relative install path for gz tool data + * [Pull request #140](https://github.com/gazebosim/gz-plugin/pull/140) + +1. Remove @mxgrey as codeowner and assign maintainership to @ahcorde + * [Pull request #137](https://github.com/gazebosim/gz-plugin/pull/137) + +1. Update CI badges in README + * [Pull request #134](https://github.com/gazebosim/gz-plugin/pull/134) + +1. Infrastructure + * [Pull request #132](https://github.com/gazebosim/gz-plugin/pull/132) + +1. Enable and fix gz test on windows + * [Pull request #128](https://github.com/gazebosim/gz-plugin/pull/128) + * [Pull request #131](https://github.com/gazebosim/gz-plugin/pull/131) + +1. Do not install CMakeLists.txt in loader/register + * [Pull request #123](https://github.com/gazebosim/gz-plugin/pull/123) + ### Gazebo Plugin 2.0.2 (2023-09-26) 1. Add explicit dependency on plugin library From 59e79e653be8076d8e442b3068bd6db4567869e8 Mon Sep 17 00:00:00 2001 From: Michael Beardsworth Date: Tue, 16 Apr 2024 12:29:15 -0700 Subject: [PATCH 09/10] Add bazel deps to pass layering_check (#143) Signed-off-by: Michael Beardsworth Co-authored-by: Michael Beardsworth --- BUILD.bazel | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/BUILD.bazel b/BUILD.bazel index f1d9f490..4b62c577 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -1,6 +1,5 @@ load( "@gz//bazel/skylark:build_defs.bzl", - "GZ_FEATURES", "GZ_ROOT", "GZ_VISIBILITY", "gz_configure_header", @@ -10,7 +9,6 @@ load( package( default_visibility = GZ_VISIBILITY, - features = GZ_FEATURES, ) licenses(["notice"]) # Apache-2.0 @@ -43,8 +41,8 @@ gz_include_header( name = "pluginhh_genrule", out = "core/include/gz/plugin.hh", hdrs = public_headers_no_gen + [ - "core/include/gz/plugin/config.hh", "core/include/gz/plugin/Export.hh", + "core/include/gz/plugin/config.hh", ], ) @@ -93,6 +91,7 @@ cc_library( ], deps = [ ":core", + ":loader", ], ) @@ -126,11 +125,15 @@ cc_library( cc_test( name = "Loader_TEST", - srcs = ["loader/src/Loader_TEST.cc"], + srcs = [ + "loader/src/Loader_TEST.cc", + ":config", + ], defines = [ 'GzDummyPlugins_LIB=\\"./plugin/test/libGzDummyPlugins.so\\"', ], deps = [ + ":core", ":loader", GZ_ROOT + "plugin/test:test_plugins", "@gtest", From e296968d2e4013d9d8c95d31c1f7b4dd5d2e87d8 Mon Sep 17 00:00:00 2001 From: "Addisu Z. Taddese" Date: Wed, 17 Apr 2024 17:37:42 -0500 Subject: [PATCH 10/10] Add package.xml (#139) Signed-off-by: Addisu Z. Taddese --- .github/workflows/package_xml.yml | 11 +++++++++++ package.xml | 21 +++++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 .github/workflows/package_xml.yml create mode 100644 package.xml diff --git a/.github/workflows/package_xml.yml b/.github/workflows/package_xml.yml new file mode 100644 index 00000000..4bd4a9aa --- /dev/null +++ b/.github/workflows/package_xml.yml @@ -0,0 +1,11 @@ +name: Validate package.xml + +on: + pull_request: + +jobs: + package-xml: + runs-on: ubuntu-latest + name: Validate package.xml + steps: + - uses: gazebo-tooling/action-gz-ci/validate_package_xml@jammy diff --git a/package.xml b/package.xml new file mode 100644 index 00000000..675c7b59 --- /dev/null +++ b/package.xml @@ -0,0 +1,21 @@ + + + + gz-plugin2 + 2.0.3 + Gazebo Plugin : Cross-platform C++ library for dynamically loading plugins. + Alejandro Hernández Cordero + Apache License 2.0 + https://github.com/gazebosim/gz-plugin + + cmake + + gz-cmake3 + + gz-tools2 + gz-utils2 + + + cmake + +