GP-0: Fixing user settings location in dev mode for LaunchSupport and

PyGhidra
This commit is contained in:
Ryan Kurtz
2025-11-19 09:41:32 -05:00
parent 6d36df6eca
commit c32ead3c69
2 changed files with 9 additions and 2 deletions

View File

@@ -57,7 +57,9 @@ def get_user_settings_dir(install_dir: Path, dev: bool) -> Path:
app_release_name: str = app_props['application.release.name']
versioned_name: str = f'{app_name}_{app_version}_{app_release_name}'
if dev:
versioned_name += f'_location_{install_dir.parent.name}'
ghidra_repos_config = install_dir / 'ghidra.repos.config'
dir_name = install_dir.parent.name if ghidra_repos_config.is_file() else install_dir.name
versioned_name += f'_location_{dir_name}'
# Check for application.settingsdir in launch.properties
for launch_prop in get_launch_properties(install_dir, dev):
@@ -224,6 +226,8 @@ def main() -> None:
venv_dir = get_ghidra_venv(install_dir, args.dev)
python_cmd: List[str] = find_supported_python_exe(install_dir, args.dev)
print(install_dir)
if python_cmd is not None:
print(f'Using Python command: "{" ".join(python_cmd)}"')
else:

View File

@@ -396,7 +396,10 @@ public class AppConfig {
String userSettingsDirName = appName + "_" + applicationVersion + "_" +
applicationReleaseName.replaceAll("\\s", "").toUpperCase();
if (isDev) {
userSettingsDirName += "_location_" + installDir.getParentFile().getName();
String dirName = new File(installDir, "ghidra.repos.config").isFile()
? installDir.getParentFile().getName()
: installDir.getName();
userSettingsDirName += "_location_" + dirName;
}
// Ensure there is a user home directory (there definitely should be)