Browse Source

Cleaning up compile source (output to Artifacts), support for TypeScript libraries

Josh Engebretson 10 years ago
parent
commit
f153b8a32c

+ 4 - 1
Script/AtomicEditor/ui/modal/build/BuildWindow.ts

@@ -23,7 +23,10 @@ class BuildWindow extends ModalWindow {
 
         var currentPlatform = ToolCore.toolSystem.currentPlatform;
 
-        this.buildPathField.text = "/Users/josh/Desktop/MyBuilds/";
+        if (Atomic.platform == "Windows")
+            this.buildPathField.text = "C:/Users/Josh/Desktop/MyBuilds/";
+        else
+            this.buildPathField.text = "/Users/josh/Desktop/MyBuilds/";
 
         switch (currentPlatform.name) {
 

+ 11 - 0
Script/ToolCore/build/BuildSettings.ts

@@ -0,0 +1,11 @@
+
+
+class BuildSettings {
+
+  constructor() {
+
+  }
+
+}
+
+export = BuildSettings;

+ 7 - 3
Script/AtomicEditor/tsconfig.json → Script/tsconfig.json

@@ -6,10 +6,14 @@
         "noImplicitAny": false,
         "removeComments": true,
         "noLib": false,
-        "outDir": "out/",
+        "outDir": "../Artifacts/Script",
         "sourceMap": true
     },
     "filesGlob": [
-        "./**/*.ts"
+        "./ToolCore/**/*.ts",
+        "./AtomicEditor/**/*.ts"
+    ],
+    "files": [
+
     ]
-}
+}

+ 3 - 3
Source/AtomicEditor/Application/AEEditorApp.cpp

@@ -47,7 +47,7 @@ void AEEditorApp::Start()
 
     context_->RegisterSubsystem(new EditorMode(context_));
 
-    vm_->SetModuleSearchPaths("AtomicEditor/out");
+    vm_->SetModuleSearchPaths("AtomicEditor");
 
     // Do not create bone structure by default when in the editor
     // this can be toggled temporarily, for example to setup an animation preview
@@ -71,7 +71,6 @@ void AEEditorApp::Start()
         ErrorExit("Error executing main.js");
     }
 
-
     GetSubsystem<LicenseSystem>()->Initialize();
 
 }
@@ -113,7 +112,7 @@ void AEEditorApp::Setup()
 
 #ifdef ATOMIC_DEV_BUILD
     engineParameters_["ResourcePrefixPath"] = "";
-    String ScriptPath = env->GetRootSourceDir() + "Script";
+    String ScriptPath = env->GetRootSourceDir() + "Artifacts/Script";
     String resourcePaths = env->GetCoreDataDir() + ";" +  env->GetEditorDataDir() + ";" + ScriptPath;
     engineParameters_["ResourcePaths"] = resourcePaths;
 #else
@@ -139,6 +138,7 @@ void AEEditorApp::Stop()
 
 void AEEditorApp::HandleExitRequested(StringHash eventType, VariantMap& eventData)
 {
+
 }
 
 void AEEditorApp::HandleJSError(StringHash eventType, VariantMap& eventData)

+ 4 - 4
Source/AtomicEditor/CMakeLists.txt

@@ -57,8 +57,8 @@ if (APPLE)
 
     # compile the editor scripts
     add_custom_command (TARGET AtomicEditor POST_BUILD
-    COMMAND "${CMAKE_SOURCE_DIR}/Build/Mac/node/node" "${CMAKE_SOURCE_DIR}/Build/TypeScript/tsc.js"
-    WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/Script/AtomicEditor)
+    COMMAND "${CMAKE_SOURCE_DIR}/Build/Mac/node/node" "${CMAKE_SOURCE_DIR}/Build/TypeScript/tsc.js" "-p" "./Script"
+    WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
 
 elseif(LINUX)
     target_link_libraries(AtomicEditor curl nativefiledialog ${GTK3_LIBRARIES})
@@ -67,8 +67,8 @@ else()
 
     # compile the editor scripts
     add_custom_command (TARGET AtomicEditor POST_BUILD
-    COMMAND "${CMAKE_SOURCE_DIR}/Build/Windows/node/node.exe" "${CMAKE_SOURCE_DIR}/Build/TypeScript/tsc.js"
-    WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/Script/AtomicEditor)
+    COMMAND "${CMAKE_SOURCE_DIR}/Build/Windows/node/node.exe" "${CMAKE_SOURCE_DIR}/Build/TypeScript/tsc.js" "-p" "./Script"
+    WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
 
     # pre-Windows 8 can't count on D3DCompiler_47.dll being on system
     add_custom_command (TARGET AtomicEditor POST_BUILD

+ 8 - 0
Source/ToolCore/JSBind/JSBDoc.cpp

@@ -4,6 +4,7 @@
 
 #include <Atomic/Atomic.h>
 #include <Atomic/IO/Log.h>
+#include <Atomic/IO/FileSystem.h>
 #include <Atomic/Core/ProcessUtils.h>
 #include <Atomic/Resource/ResourceCache.h>
 
@@ -262,6 +263,13 @@ void JSBDoc::ExportModuleEnums(JSBModule* module)
 }
 void JSBDoc::WriteToFile(const String &path)
 {
+    FileSystem* fs = package_->GetSubsystem<FileSystem>();
+
+    String jsDocPath = GetPath(path);
+
+    if (!fs->DirExists(jsDocPath))
+        fs->CreateDir(jsDocPath);
+
     File file(package_->GetContext());
     file.Open(path, FILE_WRITE);
 

+ 1 - 1
Source/ToolCore/JSBind/JSBPackage.cpp

@@ -79,7 +79,7 @@ void JSBPackage::GenerateSource(const String &outPath)
     JSBind* jsbind = GetSubsystem<JSBind>();
 
     JSBDoc jdoc;
-    jdoc.Emit(this, jsbind->GetSourceRootFolder() + "Bin/" + name_ + ".js");
+    jdoc.Emit(this, jsbind->GetSourceRootFolder() + "Artifacts/JSDoc/" + name_ + ".js");
 
     JSBTypeScript ts;
     ts.Emit(this, jsbind->GetSourceRootFolder() + "Script/TypeScript/" + name_ + ".d.ts");