public static File getInstallationDirectory() {

		File repo = getCurrentRepoDirectory();
		if (repo != null) {
			// development mode: either user-level or test machine
			return repo;
		}

		// Assumption - in an installation the current user dir is /.../<Ghidra Install Dir>/Ghidra
		// Assume that core library files are bundled in a jar file.  Find the installation
		// directory by using the distributed jar file.
		File jarFile = SystemUtilities.getSourceLocationForClass(SystemUtilities.class);
		if (jarFile == null || !jarFile.getName().endsWith(".jar")) {
			throw new AssertException("Unable to determine the installation directory");
		}

		// Assumption - jar file location follows this form:
		// <Installation Dir>/App Name/Module Group/Module Name/lib/file.jar
		List<String> parts = FileUtilities.pathToParts(jarFile.getAbsolutePath());
		int last = parts.size() - 1;
		int installDir = last - 5; // 5 folders above the filename (see above)

		String path = StringUtils.join(parts.subList(0, installDir + 1), File.separator);
		return new File(path);
	}
Returns the directory containing the installation of this application.   The value returned
here will either be an actual installation directory or the parent directory of a cloned
repository.  This method will work in the various modes of operation, including:
<ul>
	<li><u>Development Mode</u> - running from a repo clone, from inside of an IDE or the 
command-line.   In this mode a sample directory structure is:
<pre>
		/.../git_repos/ghidra_clone/ghidra/Ghidra/Features/Base/src/...

		which means this method will return 'ghidra_clone'
</pre>
 </li>
 <li><u>Batch Testing Mode</u> - running from a test server, but not from inside a 
 complete build.  This mode uses jar files for the compiled source code, but is running 
 from within the structure of a cloned repo.  In this mode a sample directory structure is:
<pre>
		/.../git_repos/ghidra_clone/ghidra/Ghidra/Features/Base/src/...

		which means this method will return 'ghidra_clone'
</pre>
 </li>
 <li><u>Eclipse Release Development Mode</u> - running from a full application release.  
 This mode uses jar files from the installation for dependencies.  The user test files 
 are run from within an Eclipse that has been linked with the application installation.
 In this mode a sample directory structure is:
<pre>
		/.../Software/ghidra_10.0/Ghidra/Features/Base/lib/Base.jar

		which means this method will return 'ghidra_10.0'
</pre>
 </li>
</ul>


@return the installation directory
Ghidra/Framework/Generic/src/main/java/ghidra/framework/TestApplicationUtils.java