ogma-cli 1.8.0 → 1.9.0
raw patch · 3 files changed
+44/−4 lines, 3 filesdep ~ogma-coredep ~optparse-applicative
Dependency ranges changed: ogma-core, optparse-applicative
Files
- CHANGELOG.md +6/−0
- ogma-cli.cabal +3/−3
- src/CLI/CommandROSApp.hs +35/−1
CHANGELOG.md view
@@ -1,5 +1,11 @@ # Revision history for ogma-cli +## [1.9.0] - 2025-08-06++* Version bump 1.9.0 (#284).+* Extend ROS command with flags to control testing package (#280).+* Bump upper version constraint on optparse-applicative (#279).+ ## [1.8.0] - 2025-07-13 * Version bump 1.8.0 (#275).
ogma-cli.cabal view
@@ -32,7 +32,7 @@ build-type: Simple name: ogma-cli-version: 1.8.0+version: 1.9.0 homepage: https://github.com/nasa/ogma bug-reports: https://github.com/nasa/ogma/issues license: OtherLicense@@ -152,11 +152,11 @@ build-depends: base >= 4.11.0.0 && < 5 , aeson >= 2.0.0.0 && < 2.3- , optparse-applicative >= 0.14 && < 0.19+ , optparse-applicative >= 0.14 && < 0.20 , microstache >= 1.0 && < 1.1 , text >= 1.2.3.1 && < 2.2 - , ogma-core >= 1.8.0 && < 1.9+ , ogma-core >= 1.9.0 && < 1.10 hs-source-dirs: src
src/CLI/CommandROSApp.hs view
@@ -43,7 +43,7 @@ where -- External imports-import Options.Applicative ( Parser, help, long, metavar, optional, short,+import Options.Applicative ( Parser, help, long, metavar, many, optional, short, showDefault, strOption, value ) -- External imports: command results@@ -68,6 +68,8 @@ , rosAppPropFormat :: String , rosAppPropVia :: Maybe String , rosAppTemplateVars :: Maybe String+ , rosAppTestingApps :: [String]+ , rosAppTestingVars :: [String] } -- | Create <https://www.ros.org/ Robot Operating System> (ROS) applications@@ -90,8 +92,17 @@ , Command.ROSApp.commandPropFormat = rosAppPropFormat c , Command.ROSApp.commandPropVia = rosAppPropVia c , Command.ROSApp.commandExtraVars = rosAppTemplateVars c+ , Command.ROSApp.commandTestingApps = appNames+ , Command.ROSApp.commandTestingVars = rosAppTestingVars c } + -- Turn the qualified app names into tuples of package and node name.+ appNames = map splitAppName $ rosAppTestingApps c++ splitAppName name = Command.ROSApp.Node package (drop 1 nodeT)+ where+ (package, nodeT) = break (== ':') name+ -- * CLI -- | ROS command description@@ -181,6 +192,19 @@ <> help strROSAppTemplateVarsArgDesc ) )+ <*> many (strOption+ ( long "testing-app"+ <> metavar "package:node"+ <> help strROSAppROSNodesTestingListArgDesc+ )+ )+ <*> many (strOption+ ( long "testing-vars"+ <> metavar "variable_name"+ <> showDefault+ <> help strROSAppHandlerListArgDesc+ )+ ) -- | Argument target directory to ROS app generation command strROSAppDirArgDesc :: String@@ -232,3 +256,13 @@ strROSAppTemplateVarsArgDesc :: String strROSAppTemplateVarsArgDesc = "JSON file containing additional variables to expand in template"++-- | Argument packages to tested list to ROS app generation command+strROSAppROSNodesTestingListArgDesc :: String+strROSAppROSNodesTestingListArgDesc =+ "Turn on ROS2 package node during testing"++-- | Argument variables to be tested list to ROS app generation command+strROSAppVarsTestingListArgDesc :: String+strROSAppVarsTestingListArgDesc =+ "Limit random input generation to these variables"