Пример #1
0
        ///<summary>
        /// Load the prevgen files, using the given controller to get the path to load them from.
        ///</summary>
        ///<param name="controller"></param>
        public void LoadPrevGenFiles(IWorkbenchProjectController controller)
        {
            PrevGenUtility utility       = new PrevGenUtility();
            string         stagingFolder = controller.GetTempFilePathForComponent(ComponentKey.SlyceMerge_PrevGen);

            if (Directory.Exists(stagingFolder))
            {
                Utility.DeleteDirectoryBrute(stagingFolder);
            }
            if (Directory.GetDirectories(controller.CurrentProject.ProjectSettings.OutputPath, ".ArchAngel", SearchOption.AllDirectories).Length != 0)
            {
                // New Way
                utility.CopyUserPrevGenFiles(controller.CurrentProject.ProjectSettings.OutputPath,
                                             stagingFolder,
                                             controller.CurrentProject.ProjectSettings.ProjectGuid);
                LoadPreviousVersionMD5s(controller);
            }
            else if (Slyce.Common.Utility.GetFiles(controller.CurrentProject.ProjectSettings.OutputPath, "*.aaz", SearchOption.AllDirectories).Count != 0)
            {
                // Old way
                //utility.CopyPrevGenFiles_AAZ(controller.CurrentProject.ProjectSettings.ProjectPath, stagingFolder);
                //controller.AAZFound = true;
            }

            foreach (ProjectFileTreeNode node in allNodes)
            {
                if (node.IsFolder == false)
                {
                    node.AssociatedFile.LoadPrevGenFile(controller.GetTempFilePathForComponent(ComponentKey.SlyceMerge_PrevGen));
                }
            }
        }
 protected void ClearScratchFolder()
 {
     lock (SCRATCH_FOLDER)
     {
         if (Directory.Exists(SCRATCH_FOLDER))
         {
             Directory.Delete(SCRATCH_FOLDER, true);
         }
         Directory.CreateDirectory(SCRATCH_FOLDER);
         utility = new PrevGenUtility();
     }
 }
Пример #3
0
        private static void LoadMD5sForNode(ProjectFileTreeNode node, string dir)
        {
            if (node.IsFolder == false)
            {
                return;
            }
            string manifestFile = System.IO.Path.Combine(dir, ManifestConstants.MANIFEST_FILENAME);

            if (File.Exists(manifestFile) == false)
            {
                return;
            }

            XmlDocument doc = new XmlDocument();

            try
            {
                doc.Load(manifestFile);
            }
            catch (Exception)
            {
                return;
            }

            foreach (ProjectFileTreeNode childNode in node.ChildNodes)
            {
                if (childNode.AssociatedFile != null)
                {
                    string userMD5, templateMD5, prevgenMD5;
                    PrevGenUtility.GetMD5sForFile(doc, System.IO.Path.GetFileName(childNode.Path), out prevgenMD5,
                                                  out templateMD5, out userMD5);
                    childNode.AssociatedFile.SetPreviousVersionMD5s(prevgenMD5, templateMD5, userMD5);
                }
                else if (childNode.IsFolder)
                {
                    LoadMD5sForNode(childNode, System.IO.Path.Combine(dir, childNode.Text));
                }
            }
        }
Пример #4
0
        ///<summary>
        /// Load the prevgen files, using the given controller to get the path to load them from.
        ///</summary>
        ///<param name="controller"></param>
        public void LoadPrevGenFiles(IWorkbenchProjectController controller)
        {
            PrevGenUtility utility = new PrevGenUtility();
            string stagingFolder = controller.GetTempFilePathForComponent(ComponentKey.SlyceMerge_PrevGen);
            if (Directory.Exists(stagingFolder))
            {
                Utility.DeleteDirectoryBrute(stagingFolder);
            }
            if (Directory.GetDirectories(controller.CurrentProject.ProjectSettings.OutputPath, ".ArchAngel", SearchOption.AllDirectories).Length != 0)
            {
                // New Way
                utility.CopyUserPrevGenFiles(controller.CurrentProject.ProjectSettings.OutputPath,
                                             stagingFolder,
                                             controller.CurrentProject.ProjectSettings.ProjectGuid);
                LoadPreviousVersionMD5s(controller);
            }
            else if (Slyce.Common.Utility.GetFiles(controller.CurrentProject.ProjectSettings.OutputPath, "*.aaz", SearchOption.AllDirectories).Count != 0)
            {
                // Old way
                //utility.CopyPrevGenFiles_AAZ(controller.CurrentProject.ProjectSettings.ProjectPath, stagingFolder);
                //controller.AAZFound = true;
            }

            foreach (ProjectFileTreeNode node in allNodes)
            {
                if (node.IsFolder == false)
                {
                    node.AssociatedFile.LoadPrevGenFile(controller.GetTempFilePathForComponent(ComponentKey.SlyceMerge_PrevGen));
                }
            }
        }