diff --git a/ide_plugins/vs/sourcetrail_plugin_vs.vsix b/ide_plugins/vs/sourcetrail_plugin_vs.vsix index a7d34490..cd29e14b 100644 Binary files a/ide_plugins/vs/sourcetrail_plugin_vs.vsix and b/ide_plugins/vs/sourcetrail_plugin_vs.vsix differ diff --git a/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailPlugin.IntegrationTests/Properties/AssemblyInfo.cs b/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailPlugin.IntegrationTests/Properties/AssemblyInfo.cs index af46f26a..2185003a 100644 --- a/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailPlugin.IntegrationTests/Properties/AssemblyInfo.cs +++ b/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailPlugin.IntegrationTests/Properties/AssemblyInfo.cs @@ -15,6 +15,5 @@ using System.Runtime.InteropServices; [assembly: Guid("9de8c188-0f0e-4f5d-b3c4-ecf9cfb23e0d")] -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] +[assembly: AssemblyVersion("0.9.*")] +//[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailPlugin/Properties/AssemblyInfo.cs b/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailPlugin/Properties/AssemblyInfo.cs index 6d8a0bc5..d955ca93 100644 --- a/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailPlugin/Properties/AssemblyInfo.cs +++ b/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailPlugin/Properties/AssemblyInfo.cs @@ -29,8 +29,8 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Revision and Build Numbers // by using the '*' as shown below: -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] +[assembly: AssemblyVersion("0.9.*")] +//[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailPlugin/Wizard/WindowCreateCDB.cs b/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailPlugin/Wizard/WindowCreateCDB.cs index faef2a9b..e260e8aa 100644 --- a/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailPlugin/Wizard/WindowCreateCDB.cs +++ b/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailPlugin/Wizard/WindowCreateCDB.cs @@ -203,33 +203,42 @@ namespace CoatiSoftware.SourcetrailPlugin.Wizard Task task = factory.StartNew(() => { - SolutionParser.SolutionParser solutionParser = new SolutionParser.SolutionParser(new VsPathResolver(_targetDir)); - - List commands = solutionParser.CreateCompileCommands(project, _configurationName, _platformName, _cStandard); - - lock (_lockObject) + try { - projectsProcessed++; - _headerDirectories.AddRange(solutionParser.HeaderDirectories); - } + SolutionParser.SolutionParser solutionParser = new SolutionParser.SolutionParser(new VsPathResolver(_targetDir)); - float relativProgress = (float)projectsProcessed / (float)_projects.Count; - Logging.Logging.LogInfo("Processing project \"" + Logging.Obfuscation.NameObfuscator.GetObfuscatedName(project.Name) + "\""); - backgroundWorker1.ReportProgress((int)(relativProgress * 100), "Processing project \"" + project.Name + "\""); + List commands = solutionParser.CreateCompileCommands(project, _configurationName, _platformName, _cStandard); - foreach (SolutionParser.CompileCommand command in commands) - { - // cdb.AddOrUpdateCommandObject(obj, false); // since the data is written to file right away now, no need to store it - // the cdb is however still needed to store some meta data later - - string serializedCommand = ""; - foreach (string line in command.SerializeToJson().Split('\n')) + lock (_lockObject) { - serializedCommand += " " + line + "\n"; + projectsProcessed++; + _headerDirectories.AddRange(solutionParser.HeaderDirectories); } - serializedCommand = serializedCommand.TrimEnd('\n'); - fileWriter.PushMessage(serializedCommand + ",\n"); + float relativProgress = (float)projectsProcessed / (float)_projects.Count; + Logging.Logging.LogInfo("Processing project \"" + Logging.Obfuscation.NameObfuscator.GetObfuscatedName(project.Name) + "\""); + backgroundWorker1.ReportProgress((int)(relativProgress * 100), "Processing project \"" + project.Name + "\""); + + foreach (CompileCommand command in commands) + { + // cdb.AddOrUpdateCommandObject(obj, false); // since the data is written to file right away now, no need to store it + // the cdb is however still needed to store some meta data later + + string serializedCommand = ""; + foreach (string line in command.SerializeToJson().Split('\n')) + { + serializedCommand += " " + line + "\n"; + } + serializedCommand = serializedCommand.TrimEnd('\n'); + + fileWriter.PushMessage(serializedCommand + ",\n"); + } + } + catch (Exception e) + { + Logging.Logging.LogError("Failed to create CDB for project with exception: " + e.Message); + Logging.Logging.LogError("Stack Trace: " + e.StackTrace); + throw (e); } }); @@ -246,7 +255,8 @@ namespace CoatiSoftware.SourcetrailPlugin.Wizard } catch(Exception e) { - Logging.Logging.LogError("Failed to create CDB: " + e.Message); + Logging.Logging.LogError("Failed to create CDB for solution with exception: " + e.Message); + Logging.Logging.LogError("Stack Trace: " + e.StackTrace); } finally { diff --git a/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailPlugin/source.extension.vsixmanifest b/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailPlugin/source.extension.vsixmanifest index 0f72a417..4f15e3b6 100644 --- a/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailPlugin/source.extension.vsixmanifest +++ b/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailPlugin/source.extension.vsixmanifest @@ -1,7 +1,7 @@  - + SourcetrailPlugin The Sourcetrail Plugin allows Visual Studio to communicate with Sourcetrail - an external source code exploration tool. It also enables Visual Studio to generate a Clang Compilation Database from any Visual Studio Solution which can be used to automate the Sourcetrail project setup and to run other Clang based tools. https://www.sourcetrail.com/ diff --git a/ide_plugins/vs/vs2015/SourcetrailPlugin/VCProjectEngineWrapper/Properties/AssemblyInfoVs2012.cs b/ide_plugins/vs/vs2015/SourcetrailPlugin/VCProjectEngineWrapper/Properties/AssemblyInfoVs2012.cs index 7f71caa6..66261e5c 100644 --- a/ide_plugins/vs/vs2015/SourcetrailPlugin/VCProjectEngineWrapper/Properties/AssemblyInfoVs2012.cs +++ b/ide_plugins/vs/vs2015/SourcetrailPlugin/VCProjectEngineWrapper/Properties/AssemblyInfoVs2012.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] +[assembly: AssemblyVersion("0.9.*")] +//[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/ide_plugins/vs/vs2015/SourcetrailPlugin/VCProjectEngineWrapper/Properties/AssemblyInfoVs2013.cs b/ide_plugins/vs/vs2015/SourcetrailPlugin/VCProjectEngineWrapper/Properties/AssemblyInfoVs2013.cs index 4a47e6b0..723f9839 100644 --- a/ide_plugins/vs/vs2015/SourcetrailPlugin/VCProjectEngineWrapper/Properties/AssemblyInfoVs2013.cs +++ b/ide_plugins/vs/vs2015/SourcetrailPlugin/VCProjectEngineWrapper/Properties/AssemblyInfoVs2013.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] +[assembly: AssemblyVersion("0.9.*")] +//[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/ide_plugins/vs/vs2015/SourcetrailPlugin/VCProjectEngineWrapper/Properties/AssemblyInfoVs2015.cs b/ide_plugins/vs/vs2015/SourcetrailPlugin/VCProjectEngineWrapper/Properties/AssemblyInfoVs2015.cs index 476e0ef9..4cdf019b 100644 --- a/ide_plugins/vs/vs2015/SourcetrailPlugin/VCProjectEngineWrapper/Properties/AssemblyInfoVs2015.cs +++ b/ide_plugins/vs/vs2015/SourcetrailPlugin/VCProjectEngineWrapper/Properties/AssemblyInfoVs2015.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] +[assembly: AssemblyVersion("0.9.*")] +//[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/ide_plugins/vs/vs2015/SourcetrailPlugin/VCProjectEngineWrapper/Properties/AssemblyInfoVs2017.cs b/ide_plugins/vs/vs2015/SourcetrailPlugin/VCProjectEngineWrapper/Properties/AssemblyInfoVs2017.cs index a77f319f..71679c39 100644 --- a/ide_plugins/vs/vs2015/SourcetrailPlugin/VCProjectEngineWrapper/Properties/AssemblyInfoVs2017.cs +++ b/ide_plugins/vs/vs2015/SourcetrailPlugin/VCProjectEngineWrapper/Properties/AssemblyInfoVs2017.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] +[assembly: AssemblyVersion("0.9.*")] +//[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/ide_plugins/vs/vs2015/SourcetrailPlugin/VCProjectEngineWrapperFactories/Properties/AssemblyInfo.cs b/ide_plugins/vs/vs2015/SourcetrailPlugin/VCProjectEngineWrapperFactories/Properties/AssemblyInfo.cs index 3d303b26..8f59eb14 100644 --- a/ide_plugins/vs/vs2015/SourcetrailPlugin/VCProjectEngineWrapperFactories/Properties/AssemblyInfo.cs +++ b/ide_plugins/vs/vs2015/SourcetrailPlugin/VCProjectEngineWrapperFactories/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] +[assembly: AssemblyVersion("0.9.*")] +//[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/ide_plugins/vs/vs2015/SourcetrailPlugin/VCProjectEngineWrapperFactories/VCProjectWrapperFactory.cs b/ide_plugins/vs/vs2015/SourcetrailPlugin/VCProjectEngineWrapperFactories/VCProjectWrapperFactory.cs index 18c871a8..5da3af96 100644 --- a/ide_plugins/vs/vs2015/SourcetrailPlugin/VCProjectEngineWrapperFactories/VCProjectWrapperFactory.cs +++ b/ide_plugins/vs/vs2015/SourcetrailPlugin/VCProjectEngineWrapperFactories/VCProjectWrapperFactory.cs @@ -1,4 +1,6 @@ -namespace VCProjectEngineWrapper +using System; + +namespace VCProjectEngineWrapper { public static class VCProjectWrapperFactory { @@ -6,19 +8,52 @@ { IVCProjectWrapper wrapper = null; - wrapper = new VCProjectWrapperVs2017(wrapped); + try + { + if (wrapper == null || !wrapper.isValid()) + { + wrapper = new VCProjectWrapperVs2017(wrapped); + } + } + catch (Exception e) + { + wrapper = null; + } - if (wrapper == null || !wrapper.isValid()) + try { - wrapper = new VCProjectWrapperVs2015(wrapped); + if (wrapper == null || !wrapper.isValid()) + { + wrapper = new VCProjectWrapperVs2015(wrapped); + } } - if (wrapper == null || !wrapper.isValid()) + catch (Exception e) { - wrapper = new VCProjectWrapperVs2013(wrapped); + wrapper = null; } - if (wrapper == null || !wrapper.isValid()) + + try { - wrapper = new VCProjectWrapperVs2012(wrapped); + if (wrapper == null || !wrapper.isValid()) + { + wrapper = new VCProjectWrapperVs2013(wrapped); + } + } + catch (Exception e) + { + wrapper = null; + } + + try + { + if (wrapper == null || !wrapper.isValid()) + { + wrapper = new VCProjectWrapperVs2012(wrapped); + } + } + catch (Exception e) + { + wrapper = null; } return wrapper; diff --git a/ide_plugins/vs/vs2015/SourcetrailPlugin/VCProjectEngineWrapperInterfaces/Properties/AssemblyInfo.cs b/ide_plugins/vs/vs2015/SourcetrailPlugin/VCProjectEngineWrapperInterfaces/Properties/AssemblyInfo.cs index c4c306d6..9cf4ca0b 100644 --- a/ide_plugins/vs/vs2015/SourcetrailPlugin/VCProjectEngineWrapperInterfaces/Properties/AssemblyInfo.cs +++ b/ide_plugins/vs/vs2015/SourcetrailPlugin/VCProjectEngineWrapperInterfaces/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] +[assembly: AssemblyVersion("0.9.*")] +//[assembly: AssemblyFileVersion("1.0.0.0")]