From 4d9b0a6560fa9093575399609781d3da20609c94 Mon Sep 17 00:00:00 2001 From: fmessmer Date: Wed, 25 Mar 2020 12:01:06 +0100 Subject: [PATCH 01/10] some catkin_lint fixes --- CMakeLists.txt | 28 +++++++--------------------- package.xml | 2 +- 2 files changed, 8 insertions(+), 22 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 575d37d..bf268bb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,23 +3,7 @@ project(flexbe_app) find_package(catkin REQUIRED) -## Uncomment this if the package has a setup.py. This macro ensures -## modules and global scripts declared therein get installed -## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html -#catkin_python_setup() - -# specify catkin-specific information -# INCLUDE_DIRS - The exported include paths (i.e. cflags) for the package -# LIBRARIES - The exported libraries from the project -# CATKIN_DEPENDS - Other catkin projects that this project depends on -# DEPENDS - Non-catkin CMake projects that this project depends on -# CFG_EXTRAS - Additional configuration options -catkin_package( - INCLUDE_DIRS src - LIBRARIES ${PROJECT_NAME}) - -# use add_library() or add_executable() as required -#add_library(${PROJECT_NAME} ${${PROJECT_NAME}_SRCS}) +catkin_package() #add_custom_target(nwjs_inst) #add_custom_command(TARGET nwjs_inst POST_BUILD COMMAND bin/nwjs_install) @@ -40,20 +24,22 @@ endif() ## Install ## ############# -INSTALL(PROGRAMS +install(PROGRAMS + bin/nwjs_install bin/run_app bin/shortcut + bin/test_report DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} ) -INSTALL(FILES +install(FILES package.json DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} ) -INSTALL(DIRECTORY +install(DIRECTORY src DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} ) -INSTALL(DIRECTORY +install(DIRECTORY nwjs DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} USE_SOURCE_PERMISSIONS diff --git a/package.xml b/package.xml index b32b16f..4c91c04 100644 --- a/package.xml +++ b/package.xml @@ -13,7 +13,6 @@ catkin curl - rostest libnss3-dev @@ -30,5 +29,6 @@ flexbe_msgs rosunit + rostest From 21bba37ee2e6a25e28d2d5e32e09ab273cda3208 Mon Sep 17 00:00:00 2001 From: Philipp Schillinger Date: Fri, 11 Dec 2020 15:32:01 +0100 Subject: [PATCH 02/10] Replace travis ci by github actions --- .github/workflows/flexbe_ci.yml | 49 +++++++++++++++++++++++++++++++++ .gitignore | 2 +- .travis.yml | 17 ------------ 3 files changed, 50 insertions(+), 18 deletions(-) create mode 100644 .github/workflows/flexbe_ci.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/flexbe_ci.yml b/.github/workflows/flexbe_ci.yml new file mode 100644 index 0000000..f82c408 --- /dev/null +++ b/.github/workflows/flexbe_ci.yml @@ -0,0 +1,49 @@ +# This is a basic workflow to help you get started with Actions +name: FlexBE CI +# Controls when the action will run. +on: + # Triggers the workflow on push or pull request events but only for the master branch + push: + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + test: + strategy: + matrix: + ros: [kinetic, melodic, noetic] + include: + - os: ubuntu-16.04 + ros: kinetic + - os: ubuntu-18.04 + ros: melodic + - os: ubuntu-20.04 + ros: noetic + python: python3 + + runs-on: ${{ matrix.os }} + env: + ROS_DISTRO: ${{ matrix.ros }} + PYTHON: ${{ matrix.python }} + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v2 + - name: Prepare CI + run: | + git clone https://github.com/FlexBE/flexbe_ci.git ~/flexbe_ci + source ~/flexbe_ci/setup.bash $ROS_DISTRO + - name: Install ROS + run: ~/flexbe_ci/ci_scripts/install_ros.bash + - name: Setup Workspace + run: ~/flexbe_ci/ci_scripts/setup_workspace.bash + - name: Clone FlexBE Repos + run: ~/flexbe_ci/ci_scripts/run_rosinstall.bash + - name: Test Create Repo + run: ~/flexbe_ci/ci_scripts/test_create_repo.bash + - name: Test Devel Workspace + run: ~/flexbe_ci/ci_scripts/run_devel_tests.bash + - name: Test Install Workspace + run: ~/flexbe_ci/ci_scripts/run_install_tests.bash diff --git a/.gitignore b/.gitignore index 2981c36..aa6b4a6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ nwjs/ -.*/** +.vscode/** diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 52fd8cf..0000000 --- a/.travis.yml +++ /dev/null @@ -1,17 +0,0 @@ -sudo: required -dist: xenial -language: generic - -before_install: - - git clone https://github.com/FlexBE/flexbe_ci.git ~/flexbe_ci - - source ~/flexbe_ci/setup.bash - - ~/flexbe_ci/ci_scripts/before_install.bash - -install: - - ~/flexbe_ci/ci_scripts/install.bash - -before_script: - - ~/flexbe_ci/ci_scripts/before_script.bash - -script: - - ~/flexbe_ci/ci_scripts/script.bash From 33642ca02ba1d72b1ff6a2a5470fc3d92e3c01ec Mon Sep 17 00:00:00 2001 From: Philipp Schillinger Date: Sat, 11 Sep 2021 16:25:47 +0200 Subject: [PATCH 03/10] Fix loading duplicate state without alias (see #team-vigir/flexbe_behavior_engine#149) --- src/io/io_codeparser.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/io/io_codeparser.js b/src/io/io_codeparser.js index 3618686..09aee6a 100644 --- a/src/io/io_codeparser.js +++ b/src/io/io_codeparser.js @@ -264,7 +264,7 @@ IO.CodeParser = new (function() { } - var parseCreateSection = function(code, only_interface) { + var parseCreateSection = function(code, only_interface, state_type_imports) { // get root sm var name var root_sm_name_result = code.match(return_sm_pattern); if (root_sm_name_result == null) throw "could not identify root state machine"; @@ -344,7 +344,7 @@ IO.CodeParser = new (function() { var idx = i * 2 + 1; sm_states.push({ sm_name: sm_parts[idx], - sm_states: parseStates(sm_parts[idx+1]) + sm_states: parseStates(sm_parts[idx+1], state_type_imports) }); } @@ -434,14 +434,14 @@ IO.CodeParser = new (function() { } - var parseStates = function(code) { + var parseStates = function(code, state_type_imports) { var code_splitted = code.split(state_begin_pattern); if (code_splitted.length == 1) throw "a container does not contain any states" var state_list = []; for (var i=4; i Date: Sat, 11 Sep 2021 16:59:11 +0200 Subject: [PATCH 05/10] Remove kinetic from ci --- .github/workflows/flexbe_ci.yml | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/.github/workflows/flexbe_ci.yml b/.github/workflows/flexbe_ci.yml index f82c408..3e91584 100644 --- a/.github/workflows/flexbe_ci.yml +++ b/.github/workflows/flexbe_ci.yml @@ -1,21 +1,15 @@ # This is a basic workflow to help you get started with Actions name: FlexBE CI # Controls when the action will run. -on: - # Triggers the workflow on push or pull request events but only for the master branch - push: - # Allows you to run this workflow manually from the Actions tab - workflow_dispatch: +on: [push, pull_request, workflow_dispatch] # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: test: strategy: matrix: - ros: [kinetic, melodic, noetic] + ros: [melodic, noetic] include: - - os: ubuntu-16.04 - ros: kinetic - os: ubuntu-18.04 ros: melodic - os: ubuntu-20.04 From bed566f62ee885bb353aefa8e7895f244f0051e4 Mon Sep 17 00:00:00 2001 From: David Conner Date: Thu, 18 May 2023 15:29:27 -0400 Subject: [PATCH 06/10] Updates for Melodic and Noetic release --- CHANGELOG.rst | 4 ++++ LICENSE | 2 +- README.md | 14 +++----------- package.xml | 2 +- 4 files changed, 9 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 979c29c..eecf015 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,6 +1,10 @@ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Changelog for package flexbe_app ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2.4.0 (2023-05-18) +------------------ +* Merge develop branch +* Updates for Melodic and Noetic releases on github.com/FlexBE 2.3.0 (2020-11-19) ------------------ diff --git a/LICENSE b/LICENSE index 09d493b..7759e1b 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ BSD 3-Clause License -Copyright (c) 2017, +Copyright (c) 2017-2023, All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/README.md b/README.md index 6bf0208..93c1008 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ User interface (editor + runtime control) for the FlexBE behavior engine. Clone the following repos into your ROS workspace: - git clone https://github.com/team-vigir/flexbe_behavior_engine.git # if not already present + git clone https://github.com/FlexBE/flexbe_behavior_engine.git # if not already present git clone https://github.com/FlexBE/flexbe_app.git Build you workspace: @@ -49,15 +49,7 @@ Use the following launch file to run both of the above for local behavior execut ## Backwards Compatibility -The FlexBE App in this repository replaces the previous *flexbe_chrome_app*. Please refer to the following announcement for an overview of the most important changes: [Future of the FlexBE Chrome App](https://github.com/pschillinger/flexbe_chrome_app/issues/11) - -If you have been using FlexBE already with the old Chrome app, you can convert the content of your repository according to the structure defined below. Besides adding the export statement to your state packages, you can automate this conversion by running the FlexBE App. If no behavior package is detected, it will suggest you to initialize one. - ---- - -Deprecated Chrome App branch: **deprecated/chrome_app** - -*Please checkout the above branch on all repos if available for a best-effort support of the deprecated Chrome app. However, please consider to update as soon as possible according to the instructions below to ensure that the system will remain working in the future and to receive all updates.* +The FlexBE App in this repository replaces the previous *flexbe_chrome_app*. --- @@ -77,7 +69,7 @@ A package is a state package for FlexBE if its `package.xml` declares the export ... -It is then expected to provide Python class definitions as described in [Developing Basic States](http://wiki.ros.org/flexbe/Tutorials/Developing%20Basic%20States). Example: [flexbe_states](https://github.com/team-vigir/flexbe_behavior_engine/tree/feature/flexbe_app/flexbe_states). Adding the above export statement is the only change to previous versions. +It is then expected to provide Python class definitions as described in [Developing Basic States](http://wiki.ros.org/flexbe/Tutorials/Developing%20Basic%20States). Example: [flexbe_states](https://github.com/FlexBE/flexbe_behavior_engine/tree/feature/flexbe_app/flexbe_states). Adding the above export statement is the only change to previous versions. ### Behavior packages diff --git a/package.xml b/package.xml index 221d466..f4470ba 100644 --- a/package.xml +++ b/package.xml @@ -1,6 +1,6 @@ flexbe_app - 2.3.0 + 2.4.0 flexbe_app provides a user interface (editor + runtime control) for the FlexBE behavior engine. From d4acb7898eb4c00b080d23feab48457af66bd06d Mon Sep 17 00:00:00 2001 From: David Conner Date: Fri, 19 May 2023 18:58:21 -0400 Subject: [PATCH 07/10] merge PR #74, 76, 77; tweak CI workflow --- .github/workflows/flexbe_ci.yml | 8 +++----- CMakeLists.txt | 2 +- package.xml | 2 ++ src/io/io_codegenerator.js | 6 +++--- src/ros/ros.js | 6 ++++-- 5 files changed, 13 insertions(+), 11 deletions(-) diff --git a/.github/workflows/flexbe_ci.yml b/.github/workflows/flexbe_ci.yml index 3e91584..67070c0 100644 --- a/.github/workflows/flexbe_ci.yml +++ b/.github/workflows/flexbe_ci.yml @@ -1,6 +1,6 @@ # This is a basic workflow to help you get started with Actions name: FlexBE CI -# Controls when the action will run. +# Controls when the action will run. on: [push, pull_request, workflow_dispatch] # A workflow run is made up of one or more jobs that can run sequentially or in parallel @@ -8,10 +8,8 @@ jobs: test: strategy: matrix: - ros: [melodic, noetic] + ros: [noetic] include: - - os: ubuntu-18.04 - ros: melodic - os: ubuntu-20.04 ros: noetic python: python3 @@ -24,7 +22,7 @@ jobs: # Steps represent a sequence of tasks that will be executed as part of the job steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Prepare CI run: | git clone https://github.com/FlexBE/flexbe_ci.git ~/flexbe_ci diff --git a/CMakeLists.txt b/CMakeLists.txt index bf268bb..5049425 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.8.3) +cmake_minimum_required(VERSION 3.0) project(flexbe_app) find_package(catkin REQUIRED) diff --git a/package.xml b/package.xml index df7dc81..02bbbef 100644 --- a/package.xml +++ b/package.xml @@ -14,7 +14,9 @@ curl + libasound2-dev libnss3-dev + libxss1 rospy genpy diff --git a/src/io/io_codegenerator.js b/src/io/io_codegenerator.js index 67fbe1c..92f5a9b 100644 --- a/src/io/io_codegenerator.js +++ b/src/io/io_codegenerator.js @@ -220,11 +220,11 @@ IO.CodeGenerator = new (function() { } code += ws+ws+"# " + pos.join(", ") + "\n"; if (sm.isConcurrent()) { - code += ws+ws+ sm_name + " = ConcurrencyContainer(outcomes=['" + sm.getOutcomes().join("', '") + "']"; + code += ws+ws+ sm_name + " = ConcurrencyContainer(outcomes=[" + sm.getOutcomes().map(x => "'" + x + "'").join(", ") + "]"; } else if (sm.isPriority()) { - code += ws+ws+ sm_name + " = PriorityContainer(outcomes=['" + sm.getOutcomes().join("', '") + "']"; + code += ws+ws+ sm_name + " = PriorityContainer(outcomes=[" + sm.getOutcomes().map(x => "'" + x + "'").join(", ") + "]"; } else { - code += ws+ws+ sm_name + " = OperatableStateMachine(outcomes=['" + sm.getOutcomes().join("', '") + "']"; + code += ws+ws+ sm_name + " = OperatableStateMachine(outcomes=[" + sm.getOutcomes().map(x => "'" + x + "'").join(", ") + "]"; } if (sm.getInputKeys().length > 0) { code += ", input_keys=['" + sm.getInputKeys().join("', '") + "']"; diff --git a/src/ros/ros.js b/src/ros/ros.js index 272c53f..c7f2ab9 100644 --- a/src/ros/ros.js +++ b/src/ros/ros.js @@ -93,10 +93,12 @@ rospy.spin() that.getPackagePythonPath = function(package_name, callback) { var python_path = undefined; + var temp_package_path = undefined; that.getPackageList((package_cache) => { for (var i=0; i { path_data += data; @@ -143,4 +145,4 @@ rospy.spin() // }); // } -}) (); \ No newline at end of file +}) (); From 3f5317d0fe5f08f343aeba2c87c5c7c7aeb28909 Mon Sep 17 00:00:00 2001 From: David Conner Date: Mon, 22 May 2023 14:09:01 -0400 Subject: [PATCH 08/10] Prepare for 2.4.1 release --- CHANGELOG.rst | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index eecf015..98ca2a7 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,6 +1,14 @@ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Changelog for package flexbe_app ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Forthcoming +----------- +* merge PR `#74 `_, 76, 77; tweak CI workflow +* Merge pull request `#60 `_ from fmessmer/fix/catkin_lint + some catkin_lint fixes +* some catkin_lint fixes +* Contributors: David Conner, dcconner, fmessmer + 2.4.0 (2023-05-18) ------------------ * Merge develop branch From c56aa5402212e4550d15fda31690d77d4233b1e2 Mon Sep 17 00:00:00 2001 From: David Conner Date: Mon, 22 May 2023 14:09:11 -0400 Subject: [PATCH 09/10] 2.4.1 --- CHANGELOG.rst | 4 ++-- package.xml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 98ca2a7..175acc4 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,8 +1,8 @@ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Changelog for package flexbe_app ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Forthcoming ------------ +2.4.1 (2023-05-22) +------------------ * merge PR `#74 `_, 76, 77; tweak CI workflow * Merge pull request `#60 `_ from fmessmer/fix/catkin_lint some catkin_lint fixes diff --git a/package.xml b/package.xml index 02bbbef..32ddc8e 100644 --- a/package.xml +++ b/package.xml @@ -1,6 +1,6 @@ flexbe_app - 2.4.0 + 2.4.1 flexbe_app provides a user interface (editor + runtime control) for the FlexBE behavior engine. From 0cc05c4d5bf7968799a88770a41b26c4106ed2d0 Mon Sep 17 00:00:00 2001 From: David Conner Date: Wed, 19 Jul 2023 14:50:41 -0400 Subject: [PATCH 10/10] update maintainer tags and add CI badge --- README.md | 2 ++ package.xml | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 93c1008..f832aa6 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ User interface (editor + runtime control) for the FlexBE behavior engine. +![FlexBE CI](https://github.com/FlexBE/flexbe_app/workflows/FlexBE%20CI/badge.svg?branch=noetic) + ## Installation Clone the following repos into your ROS workspace: diff --git a/package.xml b/package.xml index 32ddc8e..29708db 100644 --- a/package.xml +++ b/package.xml @@ -4,11 +4,12 @@ flexbe_app provides a user interface (editor + runtime control) for the FlexBE behavior engine. - Philipp Schillinger + Philipp Schillinger + Philipp Schillinger + David Conner BSD http://ros.org/wiki/flexbe_app - Philipp Schillinger catkin