Make `--doctool` create directories if they don't exist

This prevents errors due to missing directories when generating
engine documentation.

This closes #17297.
This commit is contained in:
Hugo Locurcio 2019-06-08 21:13:16 +02:00
parent 550f436f8f
commit a84124fd1d
No known key found for this signature in database
GPG Key ID: 39E8F8BE30B0A49C
1 changed files with 12 additions and 1 deletions

View File

@ -1374,7 +1374,7 @@ bool Main::start() {
{
DirAccessRef da = DirAccess::open(doc_tool);
if (!da) {
ERR_EXPLAIN("Argument supplied to --doctool must be a base godot build directory");
ERR_EXPLAIN("Argument supplied to --doctool must be a base Godot build directory");
ERR_FAIL_V(false);
}
}
@ -1392,12 +1392,23 @@ bool Main::start() {
doc_data_classes[name] = path;
if (!checked_paths.has(path)) {
checked_paths.insert(path);
// Create the module documentation directory if it doesn't exist
DirAccess *da = DirAccess::create_for_path(path);
da->make_dir_recursive(path);
memdelete(da);
docsrc.load_classes(path);
print_line("Loading docs from: " + path);
}
}
String index_path = doc_tool.plus_file("doc/classes");
// Create the main documentation directory if it doesn't exist
DirAccess *da = DirAccess::create_for_path(index_path);
da->make_dir_recursive(index_path);
memdelete(da);
docsrc.load_classes(index_path);
checked_paths.insert(index_path);
print_line("Loading docs from: " + index_path);