public static void writeAntProperties(IProject project, GhidraApplicationLayout ghidraLayout)
			throws IOException {
		if (!GhidraProjectUtils.isGhidraModuleProject(project)) {
			return;
		}

		IFolder dataFolder = project.getFolder("data");
		if (!dataFolder.exists()) {
			return;
		}
		IFile buildXmlFile = dataFolder.getFile("buildLanguage.xml");
		if (!buildXmlFile.exists()) {
			return;
		}

		File ghidraInstallDir = ghidraLayout.getApplicationInstallationDir().getFile(false);
		File antFile = new File(project.getLocation().toFile(), ".antProperties.xml"); // hidden

		try (PrintWriter writer = new PrintWriter(new FileWriter(antFile))) {
			writer.println(
				"<!-- This file is generated on each \"Link Ghidra\" command.  Do not modify. -->");
			writer.println();
			writer.println("<project>");
			writer.println("  <property name=\"ghidra.install.dir\" value=\"" +
				ghidraInstallDir.getAbsolutePath() + "\" />");
			writer.println("</project>");
		}
	}
Writes project-specific ant properties, which get imported by the module project's language
build.xml file to allow building against a Ghidra that lives in an external location. If the 
given project is not a Ghidra module project, or if the Ghidra module project does not have a 
language buildLanguage.xml ant file, this method has no effect.

@param project The project to receive the ant properties.
@param ghidraLayout The layout that contains the Ghidra installation directory that the project
  is currently linked against.
@throws IOException if there was a problem writing the ant properties file.
GhidraBuild/EclipsePlugins/GhidraDev/GhidraDevPlugin/src/main/java/ghidradev/ghidraprojectcreator/utils/GhidraModuleUtils.java