-
Notifications
You must be signed in to change notification settings - Fork 28
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Describe the bug
Java codeanalyzer
fails when project or CLDK installation path has a space in it.
To Reproduce
Steps to reproduce the behavior:
- Run Java codeanalyzer.py against Java project with space in path e.g.
/Users/user/My Projects/java-project
OR - Install CLDK in a location with a space in the path e.g.
/Users/user/Library/Application Support/python3.12/site-packages/cldk
Expected behavior
The code analysis should be performed without failing
Logs
See in the log that the path to the codeanalyzer-2.3.5.jar
is split into two args in the command list.
cldk.utils.exceptions.exceptions.CodeanalyzerExecutionException: Command '['java', '-jar', '/Users/timrbula/Library/Application', 'Support/uv/tools/aster/lib/python3.12/site-packages/cldk/analysis/java/codeanalyzer/jar/codeanalyzer-2.3.5.jar', '-i', '/Users/timrbula/Workspaces/tmp/commons-cli', '--analysis-level=1', '-o', '/Users/timrbula/Workspaces/tmp/commons-cli/output/commons-cli', '-v']' returned non-zero exit status 1.
Additional context
File: cldk/analysis/java/codeanalyzer/codeanalyzer.py
Potential fixes:
Quote the path values in the f-string e.g. codeanalyzer_args = codeanalyzer_exec + shlex.split(f"-i '{Path(self.project_dir)}' --analysis-level={analysis_level} -o '{Path(self.analysis_json_path)}' -v")
Wrap the path in a shlex.quote
call e.g. shlex.split(f"java -jar {shlex.quote(str(codeanalyzer_jar_file))}")
OS: macOS 15.6.1
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working