summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHugo Locurcio <hugo.locurcio@hugo.pro>2019-06-08 21:13:16 +0200
committerHugo Locurcio <hugo.locurcio@hugo.pro>2019-07-04 17:01:07 +0200
commita84124fd1dd7e4cc797eec45db93fb53fd662e48 (patch)
tree6439bf2d20587b4787232858f2904e3d2ed6c99d
parent550f436f8fbea86984a845c821270fba78189143 (diff)
downloadredot-engine-a84124fd1dd7e4cc797eec45db93fb53fd662e48.tar.gz
Make `--doctool` create directories if they don't exist
This prevents errors due to missing directories when generating engine documentation. This closes #17297.
-rw-r--r--main/main.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/main/main.cpp b/main/main.cpp
index 3f84eca1d2..ef5c4109db 100644
--- a/main/main.cpp
+++ b/main/main.cpp
@@ -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);