-
Notifications
You must be signed in to change notification settings - Fork 51
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
File Hierarchy Cannot Handle Nested Directories #61
Comments
Hmm. Nested directories are (supposed to be) supported. So what this means is that Doxygen did not create a directory node for this. Or at least Is this code public? It could be a Doxygen config problem, a file documentation comment problem, or a bug in exhale. Doxygen does weird things on Windows where sometimes they report Windows paths and sometimes they report Unix paths. I thought I fixed all of those though. If the project is not public, can you include the xml for both the file and the directory? I need to see what path names it's using |
Unfortunately not a public project. The relevant file structure is as follows:
If I put the documented .h files from doxygen into utests/; I get the warning and subsequent problem. I tried putting in a nested include and had the same issue/"fix" Here's the xml.zip folder from the doxygen generation. |
|
Oops - I introduced that error by not doing a clean build :P Sorry! I removed the "includeAswell" directory and shifted the associated .h to the parent so the problem would just exist with the utests directory so it could be isolated. Rather look at this.
Is the one throwing the warning. It has an "Innerdir" of:
Which has the 2 "innerfile"s that I get the warnings from. In this particular instance it states (for the .h file):
The \file issue did actually exist - funnily enough. But I adjusted to just have \file without the filename appended and nothing changed. |
Hmmmmm ok this seems good, How are you calling The path stripping logic is probably the cause here, I'm digging around right now.... |
Are you able to edit --- a/exhale/graph.py
+++ b/exhale/graph.py
@@ -1882,6 +1882,19 @@ class ExhaleRoot(object):
all_directories.sort()
+ err = StringIO()
+ err.write("\nDirectories\n")
+ err.write(("-" * 44) + "\n")
+ for d in all_directories:
+ err.write("- {0}\n".format(d.name))
+
+ err.write("\n\nFiles\n")
+ err.write(("-" * 44) + "\n")
+ for f in self.files:
+ err.write("- {0}\n".format(f.location))
+
+ raise RuntimeError(err.getvalue())
+
for f in self.files:
if not f.location:
sys.stderr.write(utils.critical( Just shoving an error message in to see what's going on, I think the cause of what we're seeing here is something related to how the |
Based on your comments and where they were leading - I managed to resolve the issue by changing the STRIP_FROM_PATH setting in doxygen to match what was being done by exhale (ie. everything up to and including project directory name). This has resolved the issue. |
It seems that the file hierarchy option cannot handle nested directories.
For example, if I have:
I get the error:
"Could not find directory parent of file [bar.h] with location [Project\include\nestedInclude\bar.h]."
bar.h still shows up in the file hierarchy, just without a parent directory.
Would it be possible to include functionality such that the include directory in the file hierarchy is able to have sub-directories as part of the list and not just files?
The text was updated successfully, but these errors were encountered: