private void link(File ghidraInstallDir, IJavaProject javaProject,
			ProjectPythonInterpreter pythonInterpreter, IProgressMonitor monitor)
			throws InvocationTargetException {
		IProject project = javaProject.getProject();
		try {
			info("Linking " + project.getName());
			monitor.beginTask("Linking " + project.getName(), 2);

			GhidraApplicationLayout ghidraLayout = new GhidraApplicationLayout(ghidraInstallDir);
			AppConfig appConfig =
				new AppConfig(ghidraLayout.getApplicationInstallationDir().getFile(false));
			GhidraProjectUtils.linkGhidraToProject(javaProject, ghidraLayout, appConfig,
				pythonInterpreter, monitor);
			monitor.worked(1);

			project.refreshLocal(IResource.DEPTH_INFINITE, monitor);
			monitor.worked(1);

			info("Finished linking " + project.getName());
		}
		catch (IOException | ParseException | CoreException e) {
			throw new InvocationTargetException(e);
		}
		finally {
			monitor.done();
		}
	}
Links a Java project's classpath and external links to a Ghidra installation directory.
 
@param ghidraInstallDir The Ghidra installation directory to use.
@param javaProject The Java project to link.
@param pythonInterpreter The Python interpreter to use.
@param monitor The monitor to use during project link.
@throws InvocationTargetException if an error occurred during link.
GhidraBuild/EclipsePlugins/GhidraDev/GhidraDevPlugin/src/main/java/ghidradev/ghidraprojectcreator/wizards/LinkGhidraWizard.java