From 021f4a82416d1ad8d304dc3ac39fccb2d5e1f467 Mon Sep 17 00:00:00 2001 From: Sangamesh Vijaykumar Date: Tue, 6 Oct 2026 14:52:47 +0530 Subject: [PATCH] fix: Support registering FAA tool using fcli tool env init command --- .../com/fortify/cli/tool/_common/helper/Tool.java | 2 +- .../tool/faa/cli/cmd/ToolFortifyAgenticAnalyzer.java | 2 +- .../cli/cmd/ToolFortifyAgenticAnalyzerRunCommand.java | 11 +++++++++++ .../com/fortify/cli/tool/i18n/ToolMessages.properties | 8 +++++--- 4 files changed, 18 insertions(+), 5 deletions(-) diff --git a/fcli-core/fcli-tool/src/main/java/com/fortify/cli/tool/_common/helper/Tool.java b/fcli-core/fcli-tool/src/main/java/com/fortify/cli/tool/_common/helper/Tool.java index b6f7aa99961..3cd4e9d88a3 100644 --- a/fcli-core/fcli-tool/src/main/java/com/fortify/cli/tool/_common/helper/Tool.java +++ b/fcli-core/fcli-tool/src/main/java/com/fortify/cli/tool/_common/helper/Tool.java @@ -277,7 +277,7 @@ public boolean requiresToolDefinitions() { * Helper implementation for fortify agentic analyzer (faa) tool. */ private static final class ToolHelperFortifyAgenticAnalyzer implements IToolHelper { - private static final String TOOL_NAME = "fortify-agentic-analyzer"; + private static final String TOOL_NAME = "fortifyaa"; @Override public String getToolName() { diff --git a/fcli-core/fcli-tool/src/main/java/com/fortify/cli/tool/faa/cli/cmd/ToolFortifyAgenticAnalyzer.java b/fcli-core/fcli-tool/src/main/java/com/fortify/cli/tool/faa/cli/cmd/ToolFortifyAgenticAnalyzer.java index 8812aca72b8..76accf19eb2 100644 --- a/fcli-core/fcli-tool/src/main/java/com/fortify/cli/tool/faa/cli/cmd/ToolFortifyAgenticAnalyzer.java +++ b/fcli-core/fcli-tool/src/main/java/com/fortify/cli/tool/faa/cli/cmd/ToolFortifyAgenticAnalyzer.java @@ -17,7 +17,7 @@ import picocli.CommandLine.Command; /** - * Container command for all 'fcli tool fortify-agentic-analyzer' subcommands. + * Container command for all 'fcli tool fortifyaa' subcommands. * * @author Sangamesh Vijaykumar */ diff --git a/fcli-core/fcli-tool/src/main/java/com/fortify/cli/tool/faa/cli/cmd/ToolFortifyAgenticAnalyzerRunCommand.java b/fcli-core/fcli-tool/src/main/java/com/fortify/cli/tool/faa/cli/cmd/ToolFortifyAgenticAnalyzerRunCommand.java index e76dee1bff7..a796b363d1c 100644 --- a/fcli-core/fcli-tool/src/main/java/com/fortify/cli/tool/faa/cli/cmd/ToolFortifyAgenticAnalyzerRunCommand.java +++ b/fcli-core/fcli-tool/src/main/java/com/fortify/cli/tool/faa/cli/cmd/ToolFortifyAgenticAnalyzerRunCommand.java @@ -11,8 +11,13 @@ * without notice. */ package com.fortify.cli.tool.faa.cli.cmd; + +import java.util.List; + +import com.fortify.cli.common.util.PlatformHelper; import com.fortify.cli.tool._common.cli.cmd.AbstractToolRunCommand; import com.fortify.cli.tool._common.helper.Tool; +import com.fortify.cli.tool._common.helper.ToolInstallationDescriptor; import picocli.CommandLine.Command; @@ -29,4 +34,10 @@ protected Tool getTool() { return Tool.FORTIFY_AGENTIC_ANALYZER; } + @Override + protected List getBaseCommand(ToolInstallationDescriptor descriptor) { + var baseCmd = PlatformHelper.isWindows() ? "fortifyaa.exe" : "fortifyaa"; + return List.of(descriptor.getBinPath().resolve(baseCmd).toString()); + } + } diff --git a/fcli-core/fcli-tool/src/main/resources/com/fortify/cli/tool/i18n/ToolMessages.properties b/fcli-core/fcli-tool/src/main/resources/com/fortify/cli/tool/i18n/ToolMessages.properties index abc7eee3939..66b239c3686 100644 --- a/fcli-core/fcli-tool/src/main/resources/com/fortify/cli/tool/i18n/ToolMessages.properties +++ b/fcli-core/fcli-tool/src/main/resources/com/fortify/cli/tool/i18n/ToolMessages.properties @@ -1,4 +1,4 @@ -# Make sure none of the commands inherit usage header or description of the top-level fcli command +# Make sure none of the commands inherit usage header or description of the top-level fcli command # Note that we define these as usage.* whereas our parent bundle defines fcli.usage.* (with fcli prefix). # For some reason, overriding fcli.usage.* doesn't work. usage.header = @@ -185,6 +185,8 @@ fcli.tool.env.init.usage.description = Detects, registers, and installs Fortify \n ${fcli.tool.vuln-exporter.envPrefix}_VERSION, ${fcli.tool.vuln-exporter.envPrefix}_HOME\n\ - sourceanalyzer: \ \n ${fcli.tool.sourceanalyzer.envPrefix}_VERSION, ${fcli.tool.sourceanalyzer.envPrefix}_HOME\n\ + - fortifyaa: \ + \n ${fcli.tool.fortifyaa.envPrefix}_VERSION, ${fcli.tool.fortifyaa.envPrefix}_HOME\n\ \n\ For ScanCentral Client, the init command will look for a compatible JRE based on the following environment variables \ (in this order):\n\ @@ -500,7 +502,7 @@ fcli.tool.fortifyaa.register.usage.description.1 = Examples:\n\ fcli.tool.fortifyaa.run.usage.header = Run Fortify Agentic Analyzer. fcli.tool.fortifyaa.run.usage.description = This command allows for running Fortify Agentic Analyzer as already installed in the user's machine. It is recommended to use double dashes to separate \ - fcli options from Fortify Agentic Analyzer options, i.e., 'fcli tool fortify-agentic-analyzer run -- ' \ + fcli options from Fortify Agentic Analyzer options, i.e., 'fcli tool fortifyaa run -- ' \ to explicitly differentiate between fcli options and Fortify Agentic Analyzer options. ################################################################################################################# # The following are technical properties that shouldn't be internationalized #################################### @@ -509,4 +511,4 @@ fcli.tool.output.table.header.isDefaultMarker = fcli.tool.output.table.args = name,version,aliasesString,stable,installDir,isDefaultMarker fcli.tool.list-platforms.output.table.args = platform fcli.tool.definitions.output.table.args = name,source,lastUpdate -fcli.tool.env.init.output.table.args = name,version,installDir \ No newline at end of file +fcli.tool.env.init.output.table.args = name,version,installDir