I'm on JAVA in general 0. Therefore, immediately apologize if something is not so described)
There was a need to modify one piece of code:
private static Map<String, String> getClassPropertyAnnotations(PhpModule pm) { Map<String, String> annotations = new HashMap(); String parentPath = pm.getSourceDirectory().getPath(); String[] paths = CIPreferences.getCustomLibraryPaths(pm); for (String path : paths) { File directory = new File(path); if (!directory.isAbsolute()) { directory = new File(parentPath, path); } if ((directory.exists()) && (directory.isDirectory())) { for (File file : directory.listFiles()) { if (file.getName().endsWith(".php")) { String fileName = file.getName().replace(".php", ""); String className = ucfirst(fileName); String propertyName = lcfirst(fileName); annotations.put(className, propertyName); } } } } return annotations; } Here we are interested in a piece of work with directories. It turns out this way: directories are transferred, they are analyzed by a cycle, and the necessary manipulation takes place.
BUT this code does not take into account that there can be subdirectories in the directory It is necessary for me that subdirectories are also taken into account (and the depth of the subdirectories can be different).
I hope described is available, can anyone help :)