diff options
author | Hugo Locurcio <hugo.locurcio@hugo.pro> | 2019-06-08 21:13:16 +0200 |
---|---|---|
committer | Hugo Locurcio <hugo.locurcio@hugo.pro> | 2019-07-04 17:01:07 +0200 |
commit | a84124fd1dd7e4cc797eec45db93fb53fd662e48 (patch) | |
tree | 6439bf2d20587b4787232858f2904e3d2ed6c99d | |
parent | 550f436f8fbea86984a845c821270fba78189143 (diff) | |
download | redot-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.cpp | 13 |
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); |