ソースを参照

Generate UUID instead of specifying them in the json

Josh Engebretson 10 年 前
コミット
e0e9f962db

+ 0 - 3
Script/AtomicNET/AtomicNETProjects.json

@@ -6,7 +6,6 @@
   "projects" : [
   "projects" : [
     {
     {
       "name": "AtomicNETBootstrap",
       "name": "AtomicNETBootstrap",
-      "projectGuid": "9821AC3A-E926-4FBB-90EC-BD4EBCD43FBE",
       "outputType" : "Library",
       "outputType" : "Library",
       "rootNamespace" : "Atomic.Bootstrap",
       "rootNamespace" : "Atomic.Bootstrap",
       "assemblyName" : "AtomicNETBootstrap",
       "assemblyName" : "AtomicNETBootstrap",
@@ -20,7 +19,6 @@
     },
     },
     {
     {
       "name": "AtomicNETEngine",
       "name": "AtomicNETEngine",
-      "projectGuid": "9821AC3B-E926-4FBB-90EC-BC4EBCD43FBC",
       "outputType" : "Library",
       "outputType" : "Library",
       "rootNamespace" : "AtomicEngine",
       "rootNamespace" : "AtomicEngine",
       "assemblyName" : "AtomicNETEngine",
       "assemblyName" : "AtomicNETEngine",
@@ -37,7 +35,6 @@
     },
     },
     {
     {
       "name": "AtomicNETTools",
       "name": "AtomicNETTools",
-      "projectGuid": "9821DC3B-E926-5EBC-90FD-BC4EBCD43FBC",
       "outputType" : "Library",
       "outputType" : "Library",
       "rootNamespace" : "AtomicTools",
       "rootNamespace" : "AtomicTools",
       "assemblyName" : "AtomicNETTools",
       "assemblyName" : "AtomicNETTools",

+ 12 - 3
Source/ToolCore/NETTools/NETProjectGen.cpp

@@ -5,6 +5,9 @@
 // license information: https://github.com/AtomicGameEngine/AtomicGameEngine
 // license information: https://github.com/AtomicGameEngine/AtomicGameEngine
 //
 //
 
 
+#include <Poco/UUID.h>
+#include <Poco/UUIDGenerator.h>
+
 #include <Atomic/IO/Log.h>
 #include <Atomic/IO/Log.h>
 #include <Atomic/IO/File.h>
 #include <Atomic/IO/File.h>
 #include <Atomic/IO/FileSystem.h>
 #include <Atomic/IO/FileSystem.h>
@@ -222,7 +225,6 @@ void NETCSProject::CreateMainPropertyGroup(XMLElement& projectRoot)
     platform.SetValue("AnyCPU");
     platform.SetValue("AnyCPU");
 
 
     // ProjectGuid
     // ProjectGuid
-    // Look into Poco::UUIDGenerator
     XMLElement guid = pgroup.CreateChild("ProjectGuid");
     XMLElement guid = pgroup.CreateChild("ProjectGuid");
     guid.SetValue(projectGuid_);
     guid.SetValue(projectGuid_);
 
 
@@ -281,7 +283,8 @@ bool NETCSProject::Load(const JSONValue& root)
     bool gameBuild = projectGen_->GetGameBuild();
     bool gameBuild = projectGen_->GetGameBuild();
 
 
     name_ = root["name"].GetString();
     name_ = root["name"].GetString();
-    projectGuid_ = root["projectGuid"].GetString();
+
+    projectGuid_ = projectGen_->GenerateUUID();
 
 
     if (gameBuild)
     if (gameBuild)
         outputType_ = "Library";
         outputType_ = "Library";
@@ -369,7 +372,6 @@ bool NETSolution::Generate()
 
 
 void NETSolution::GenerateXamarinStudio(const String &slnPath)
 void NETSolution::GenerateXamarinStudio(const String &slnPath)
 {
 {
-
     String source = "Microsoft Visual Studio Solution File, Format Version 12.00\n";
     String source = "Microsoft Visual Studio Solution File, Format Version 12.00\n";
     source += "# Visual Studio 2012\n";
     source += "# Visual Studio 2012\n";
 
 
@@ -504,4 +506,11 @@ bool NETProjectGen::LoadProject(const String& projectPath, bool gameBuild)
     return LoadProject(jvalue, gameBuild);
     return LoadProject(jvalue, gameBuild);
 }
 }
 
 
+String NETProjectGen::GenerateUUID()
+{
+    Poco::UUIDGenerator& generator = Poco::UUIDGenerator::defaultGenerator();
+    Poco::UUID uuid(generator.create()); // time based
+    return String(uuid.toString().c_str()).ToUpper();
+}
+
 }
 }

+ 2 - 0
Source/ToolCore/NETTools/NETProjectGen.h

@@ -122,6 +122,8 @@ public:
 
 
     bool Generate();
     bool Generate();
 
 
+    String GenerateUUID();
+
     bool LoadProject(const JSONValue& root, bool gameBuild = false);
     bool LoadProject(const JSONValue& root, bool gameBuild = false);
     bool LoadProject(const String& projectPath, bool gameBuild = false);
     bool LoadProject(const String& projectPath, bool gameBuild = false);