From 4ff3c9e0468ca69daf67bc86016100ac238e9beb Mon Sep 17 00:00:00 2001
From: Thijs Wenker <me@thoys.nl>
Date: Mon, 22 Jan 2018 19:00:45 +0100
Subject: [PATCH] fix jsdoc output folder

---
 tools/jsdoc/CMakeLists.txt            | 3 ++-
 tools/jsdoc/plugins/hifiJSONExport.js | 7 +++++--
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/tools/jsdoc/CMakeLists.txt b/tools/jsdoc/CMakeLists.txt
index 9a9883a6ad..265d8e9913 100644
--- a/tools/jsdoc/CMakeLists.txt
+++ b/tools/jsdoc/CMakeLists.txt
@@ -5,10 +5,11 @@ add_custom_target(${TARGET_NAME})
 SET(JSDOC_WORKING_DIR ${CMAKE_SOURCE_DIR}/tools/jsdoc)
 file(TO_NATIVE_PATH ${JSDOC_WORKING_DIR}/node_modules/.bin/jsdoc JSDOC_PATH)
 file(TO_NATIVE_PATH ${JSDOC_WORKING_DIR}/config.json JSDOC_CONFIG_PATH)
+file(TO_NATIVE_PATH ${JSDOC_WORKING_DIR}/out OUTPUT_DIR)
 file(TO_NATIVE_PATH ${JSDOC_WORKING_DIR} NATIVE_JSDOC_WORKING_DIR)
 
 add_custom_command(TARGET ${TARGET_NAME}
-  COMMAND (npm --no-progress install) & (${JSDOC_PATH} ${NATIVE_JSDOC_WORKING_DIR} -c ${JSDOC_CONFIG_PATH})
+  COMMAND (npm --no-progress install) & (${JSDOC_PATH} ${NATIVE_JSDOC_WORKING_DIR} -c ${JSDOC_CONFIG_PATH} -d ${OUTPUT_DIR})
   WORKING_DIRECTORY ${JSDOC_WORKING_DIR}
   COMMENT "generate the JSDoc JSON for the JSConsole auto-completer"
 )
diff --git a/tools/jsdoc/plugins/hifiJSONExport.js b/tools/jsdoc/plugins/hifiJSONExport.js
index 5531d3ff25..cd14c9faad 100644
--- a/tools/jsdoc/plugins/hifiJSONExport.js
+++ b/tools/jsdoc/plugins/hifiJSONExport.js
@@ -1,11 +1,14 @@
 exports.handlers = {
     processingComplete: function(e) {
         const pathTools = require('path');
-        var rootFolder = pathTools.join(__dirname, '..');
+        var outputFolder = pathTools.join(__dirname, '../out');
         var doclets = e.doclets.map(doclet => Object.assign({}, doclet));
         const fs = require('fs');
+        if (!fs.existsSync(outputFolder)) {
+            fs.mkdirSync(outputFolder);
+        }
         doclets.map(doclet => {delete doclet.meta; delete doclet.comment});
-        fs.writeFile(pathTools.join(rootFolder, "out/hifiJSDoc.json"), JSON.stringify(doclets, null, 4), function(err) {
+        fs.writeFile(pathTools.join(outputFolder, "hifiJSDoc.json"), JSON.stringify(doclets, null, 4), function(err) {
             if (err) {
                 return console.log(err);
             }