diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml new file mode 100644 index 000000000..d3d3938d9 --- /dev/null +++ b/.github/workflows/package.yml @@ -0,0 +1,46 @@ +name: Release Candidate +on: + push: + branches-ignore: + - master +jobs: + package: + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [[x64, self-hosted,linux,build], [arm64,self-hosted,linux, build]] + fail-fast: false + steps: + - uses: AutoModality/action-clean@v1.1.0 + - uses: actions/checkout@v2 + - uses: rlespinasse/github-slug-action@2.0.0 # for GITHUB_REF_SLUG + - name: Package + id: package + uses: AutoModality/action-package-debian-ros@v4 + with: + version: 1.7.1-${{ github.run_number }} + release-repo-entitlement: ${{ secrets.CLOUDSMITH_READ_RELEASE_ENTITLEMENT }} + - name: The generated package + run: echo "The artifact is ${{ steps.package.outputs.artifact-path }}" + - name: Deploy + id: deploy + uses: AutoModality/action-cloudsmith@0.2.0 + with: + api-key: ${{ secrets.CLOUDSMITH_API_KEY }} + command: 'push' + format: 'deb' + owner: 'automodality' + repo: 'dev' + distro: 'ubuntu' + release: 'bionic' + file: '${{ steps.package.outputs.artifact-path }}' + draft-pr: + runs-on: ubuntu-18.04 + needs: package + steps: + - uses: actions/checkout@v2 + - name: Draft a Pull Request + uses: repo-sync/pull-request@v2 + with: + pr_draft: true + github_token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.gitignore b/.gitignore index 0d20b6487..f6d894b97 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,13 @@ *.pyc + +*/.catkin_tools/ +build +devel +install +logs +debian/ros-melodic-am-perception-pcl +src +.catkin_workspace +*.deb +*.log +*.substvars \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 120000 index 000000000..66dd650ac --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1 @@ +/opt/ros/melodic/share/catkin/cmake/toplevel.cmake \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 000000000..aff890dc9 --- /dev/null +++ b/Makefile @@ -0,0 +1,20 @@ +SHELL := /bin/bash + +SRC_DIR=src + +default: + + mkdir -p ${SRC_DIR} + + cp -rf pcl_conversions ${SRC_DIR} + cp -rf pcl_ros ${SRC_DIR} + cp -rf perception_pcl ${SRC_DIR} + mv -f CMakeLists.txt ${SRC_DIR} + source /opt/ros/melodic/setup.bash && catkin_make && catkin_make install + + +clean: + mv -f ${SRC_DIR}/CMakeLists.txt . + rm -rf ${SRC_DIR} + rm -rf ../*.*deb + rm -rf build devel install \ No newline at end of file diff --git a/debian/README.md b/debian/README.md new file mode 100644 index 000000000..4028111d2 --- /dev/null +++ b/debian/README.md @@ -0,0 +1,7 @@ +# Debian packaging for perception_pcl + +Limited support for building since the repo does not change often. + +See [slack](https://automodality.slack.com/archives/C011WK68QCR/p1600972629000100) conversation for more information. + +Replaces: ros-melodic-pcl-conversions, ros-melodic-pcl-ros diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 000000000..7e1750973 --- /dev/null +++ b/debian/changelog @@ -0,0 +1 @@ +ros-melodic-am-perception-pcl (0.20200924173146) unstable; urgency=medium diff --git a/debian/compat b/debian/compat new file mode 100644 index 000000000..ec635144f --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +9 diff --git a/debian/control b/debian/control new file mode 100644 index 000000000..507f8a9df --- /dev/null +++ b/debian/control @@ -0,0 +1,26 @@ +Source: ros-melodic-am-perception-pcl +Section: misc +Priority: extra +Maintainer: info +Build-Depends: debhelper (>= 9.0.0), + pcl, + libeigen3-dev, + ros-melodic-pcl-msgs, + libflann-dev, + ros-melodic-tf, + ros-melodic-tf2-eigen, + + +Homepage: https://github.com/AutoModality/perception_pcl +Standards-Version: 3.9.2 +Package: ros-melodic-am-perception-pcl +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, + pcl, + libeigen3-dev, + ros-melodic-pcl-msgs, + libflann-dev, + ros-melodic-tf, + ros-melodic-tf2-eigen, +Replaces: ros-melodic-pcl-conversions, ros-melodic-pcl-ros, ros-melodic-perception-pcl +Description: contains packages including pcl_ros and pcl_conversions diff --git a/debian/files b/debian/files new file mode 100644 index 000000000..6dc7520b6 --- /dev/null +++ b/debian/files @@ -0,0 +1,2 @@ +ros-melodic-am-perception-pcl-dbgsym_0.20200924173146_amd64.ddeb debug optional +ros-melodic-am-perception-pcl_0.20200924173146_amd64.deb misc extra diff --git a/debian/rules b/debian/rules new file mode 100755 index 000000000..c127f17b9 --- /dev/null +++ b/debian/rules @@ -0,0 +1,14 @@ +#!/usr/bin/make -f +#export DH_VERBOSE = 1 + +INSTALL_DIR=debian/ros-melodic-am-perception-pcl/opt/ros/melodic + +%: + dh $@ + +override_dh_auto_install: + # for some reason, install: in the makefile isn't being called??? + mkdir -p ${INSTALL_DIR} + cp -r install/include ${INSTALL_DIR} + cp -r install/lib ${INSTALL_DIR} + cp -r install/share ${INSTALL_DIR} diff --git a/debian/watch b/debian/watch new file mode 100644 index 000000000..76575dc53 --- /dev/null +++ b/debian/watch @@ -0,0 +1,2 @@ +# You must remove unused comment lines for the released package. +version=3 diff --git a/pcl_ros/CMakeLists.txt b/pcl_ros/CMakeLists.txt index 3065f20b6..3f4289148 100644 --- a/pcl_ros/CMakeLists.txt +++ b/pcl_ros/CMakeLists.txt @@ -132,24 +132,24 @@ target_link_libraries(pcl_ros_io pcl_ros_tf ${Boost_LIBRARIES} ${catkin_LIBRARIE class_loader_hide_library_symbols(pcl_ros_io) ## Declare the pcl_ros_features library -add_library(pcl_ros_features - src/pcl_ros/features/feature.cpp - # Compilation is much faster if we include all the following CPP files in feature.cpp - src/pcl_ros/features/boundary.cpp - src/pcl_ros/features/fpfh.cpp - src/pcl_ros/features/fpfh_omp.cpp - src/pcl_ros/features/shot.cpp - src/pcl_ros/features/shot_omp.cpp - src/pcl_ros/features/moment_invariants.cpp - src/pcl_ros/features/normal_3d.cpp - src/pcl_ros/features/normal_3d_omp.cpp - src/pcl_ros/features/pfh.cpp - src/pcl_ros/features/principal_curvatures.cpp - src/pcl_ros/features/vfh.cpp -) -target_link_libraries (pcl_ros_features ${Boost_LIBRARIES} ${catkin_LIBRARIES} ${PCL_LIBRARIES}) -add_dependencies(pcl_ros_features ${PROJECT_NAME}_gencfg) -class_loader_hide_library_symbols(pcl_ros_features) +#add_library(pcl_ros_features +# src/pcl_ros/features/feature.cpp +# # Compilation is much faster if we include all the following CPP files in feature.cpp +# src/pcl_ros/features/boundary.cpp +# src/pcl_ros/features/fpfh.cpp +# src/pcl_ros/features/fpfh_omp.cpp +# src/pcl_ros/features/shot.cpp +# src/pcl_ros/features/shot_omp.cpp +# src/pcl_ros/features/moment_invariants.cpp +# src/pcl_ros/features/normal_3d.cpp +# src/pcl_ros/features/normal_3d_omp.cpp +# src/pcl_ros/features/pfh.cpp +# src/pcl_ros/features/principal_curvatures.cpp +# src/pcl_ros/features/vfh.cpp +#) +#target_link_libraries (pcl_ros_features ${Boost_LIBRARIES} ${catkin_LIBRARIES} ${PCL_LIBRARIES}) +#add_dependencies(pcl_ros_features ${PROJECT_NAME}_gencfg) +#class_loader_hide_library_symbols(pcl_ros_features) ## Declare library for base filter plugin @@ -160,41 +160,41 @@ target_link_libraries(pcl_ros_filter pcl_ros_tf ${Boost_LIBRARIES} ${catkin_LIBR add_dependencies(pcl_ros_filter ${PROJECT_NAME}_gencfg) ## Declare the pcl_ros_filters library -add_library(pcl_ros_filters - src/pcl_ros/filters/extract_indices.cpp - src/pcl_ros/filters/passthrough.cpp - src/pcl_ros/filters/project_inliers.cpp - src/pcl_ros/filters/radius_outlier_removal.cpp - src/pcl_ros/filters/statistical_outlier_removal.cpp - src/pcl_ros/filters/voxel_grid.cpp - src/pcl_ros/filters/crop_box.cpp -) -target_link_libraries(pcl_ros_filters pcl_ros_filter pcl_ros_tf ${Boost_LIBRARIES} ${catkin_LIBRARIES} ${PCL_LIBRARIES}) -add_dependencies(pcl_ros_filters ${PROJECT_NAME}_gencfg) -class_loader_hide_library_symbols(pcl_ros_filters) +#add_library(pcl_ros_filters +# src/pcl_ros/filters/extract_indices.cpp +# src/pcl_ros/filters/passthrough.cpp +# src/pcl_ros/filters/project_inliers.cpp +# src/pcl_ros/filters/radius_outlier_removal.cpp +# src/pcl_ros/filters/statistical_outlier_removal.cpp +# src/pcl_ros/filters/voxel_grid.cpp +# src/pcl_ros/filters/crop_box.cpp +#) +#target_link_libraries(pcl_ros_filters pcl_ros_filter pcl_ros_tf ${Boost_LIBRARIES} ${catkin_LIBRARIES} ${PCL_LIBRARIES}) +#add_dependencies(pcl_ros_filters ${PROJECT_NAME}_gencfg) +#class_loader_hide_library_symbols(pcl_ros_filters) ## Declare the pcl_ros_segmentation library -add_library (pcl_ros_segmentation - src/pcl_ros/segmentation/extract_clusters.cpp - src/pcl_ros/segmentation/extract_polygonal_prism_data.cpp - src/pcl_ros/segmentation/sac_segmentation.cpp - src/pcl_ros/segmentation/segment_differences.cpp - src/pcl_ros/segmentation/segmentation.cpp -) -target_link_libraries(pcl_ros_segmentation pcl_ros_tf ${Boost_LIBRARIES} ${catkin_LIBRARIES} ${PCL_LIBRARIES}) -add_dependencies(pcl_ros_segmentation ${PROJECT_NAME}_gencfg) -class_loader_hide_library_symbols(pcl_ros_segmentation) +#add_library (pcl_ros_segmentation +# src/pcl_ros/segmentation/extract_clusters.cpp +# src/pcl_ros/segmentation/extract_polygonal_prism_data.cpp +# src/pcl_ros/segmentation/sac_segmentation.cpp +# src/pcl_ros/segmentation/segment_differences.cpp +# src/pcl_ros/segmentation/segmentation.cpp +#) +#target_link_libraries(pcl_ros_segmentation pcl_ros_tf ${Boost_LIBRARIES} ${catkin_LIBRARIES} ${PCL_LIBRARIES}) +#add_dependencies(pcl_ros_segmentation ${PROJECT_NAME}_gencfg) +#class_loader_hide_library_symbols(pcl_ros_segmentation) ## Declare the pcl_ros_surface library -add_library (pcl_ros_surface - src/pcl_ros/surface/surface.cpp - # Compilation is much faster if we include all the following CPP files in surface.cpp - src/pcl_ros/surface/convex_hull.cpp - src/pcl_ros/surface/moving_least_squares.cpp -) -target_link_libraries(pcl_ros_surface ${Boost_LIBRARIES} ${catkin_LIBRARIES} ${PCL_LIBRARIES}) -add_dependencies(pcl_ros_surface ${PROJECT_NAME}_gencfg) -class_loader_hide_library_symbols(pcl_ros_surface) +#add_library (pcl_ros_surface +# src/pcl_ros/surface/surface.cpp +# # Compilation is much faster if we include all the following CPP files in surface.cpp# +# src/pcl_ros/surface/convex_hull.cpp +# src/pcl_ros/surface/moving_least_squares.cpp +#) +#target_link_libraries(pcl_ros_surface ${Boost_LIBRARIES} ${catkin_LIBRARIES} ${PCL_LIBRARIES}) +#add_dependencies(pcl_ros_surface ${PROJECT_NAME}_gencfg) +#class_loader_hide_library_symbols(pcl_ros_surface) ## Tools @@ -245,11 +245,11 @@ install( TARGETS pcl_ros_tf pcl_ros_io - pcl_ros_features +# pcl_ros_features pcl_ros_filter - pcl_ros_filters - pcl_ros_surface - pcl_ros_segmentation +# pcl_ros_filters +# pcl_ros_surface +# pcl_ros_segmentation RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION} ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}