diff --git a/build/Targets/Dependencies.props b/build/Targets/Dependencies.props index ef79537491d1dbbc542e9dca19276541b8a6e098..7fe0ec9035fa2d451b96bfdc617197c058b49a9a 100644 --- a/build/Targets/Dependencies.props +++ b/build/Targets/Dependencies.props @@ -4,7 +4,6 @@ 0.8.31-beta 1.1.0-beta1-60625-03 1.4.0 - 1.2.0-beta1-60706-02 1.2.0-beta1-60723-01 4.1.0 4.0.11 @@ -30,8 +29,8 @@ 4.1.0 4.1.0 4.0.1 - 4.0.1 1.4.1-beta-24322-03 + 4.0.1 4.1.0 4.0.1 4.1.0 @@ -58,4 +57,4 @@ 4.0.11 4.0.1 - + \ No newline at end of file diff --git a/build/ToolsetPackages/roslynsdk.project.json b/build/ToolsetPackages/roslynsdk.project.json index f7d8d25410ebadedf8be25500cc0ed20aa5f6696..2e72e1310f614feacb2a39e90fc9d7487f0b46ef 100644 --- a/build/ToolsetPackages/roslynsdk.project.json +++ b/build/ToolsetPackages/roslynsdk.project.json @@ -11,8 +11,8 @@ "Microsoft.CodeAnalysis.VisualBasic": "1.0.0", "Microsoft.CodeAnalysis.VisualBasic.Workspaces": "1.0.0", "Microsoft.CodeAnalysis.Workspaces.Common": "1.0.0", - "System.Reflection.Metadata": "1.0.21", - "System.Collections.Immutable": "1.1.36", + "System.Reflection.Metadata": "1.4.1-beta-24322-03", + "System.Collections.Immutable": "1.2.0", }, "frameworks": { ".NETFramework,Version=v4.6": {} diff --git a/src/Tools/RepoUtil/ProjectJsonUtil.cs b/src/Tools/RepoUtil/ProjectJsonUtil.cs index 13698b5d27587bdb896a418da5028ea537bbe23f..dd358ca6d122f3f2443cefa2b4e27dca1bcef470 100644 --- a/src/Tools/RepoUtil/ProjectJsonUtil.cs +++ b/src/Tools/RepoUtil/ProjectJsonUtil.cs @@ -129,10 +129,9 @@ internal static bool VerifyTracked(string sourcesPath, IEnumerable fil return allGood; } - // TODO: Need to include our toolset files not named project.json. internal static IEnumerable GetProjectJsonFiles(string sourcesPath) { - return Directory.EnumerateFiles(sourcesPath, "project.json", SearchOption.AllDirectories); + return Directory.EnumerateFiles(sourcesPath, "*project.json", SearchOption.AllDirectories); } } } diff --git a/src/Tools/RepoUtil/RepoData.json b/src/Tools/RepoUtil/RepoData.json index cfa9b5768e13df9640c9e4bef5d63ec9f73cc4c4..6ca51f5e80c1c7269d52ceb06de31cd53061a77e 100644 --- a/src/Tools/RepoUtil/RepoData.json +++ b/src/Tools/RepoUtil/RepoData.json @@ -3,41 +3,14 @@ "Microsoft.Build.Framework": [ "0.1.0-preview-00005", "0.1.0-preview-00023-160527" ], "Microsoft.Build.Tasks.Core": [ "0.1.0-preview-00005", "0.1.0-preview-00023-160527" ], "Microsoft.Build.Utilities.Core": [ "0.1.0-preview-00005", "0.1.0-preview-00023-160527" ], - "Microsoft.VisualStudio.Composition": "14.2.19-pre", - "Microsoft.VisualStudio.Data.Core": "9.0.21022", - "Microsoft.VisualStudio.Data.Services": "9.0.21022", - "Microsoft.VisualStudio.Debugger.Engine": [ "14.3.25420", "14.3.25421" ], - "Microsoft.VisualStudio.Debugger.Metadata": [ "14.3.25420", "14.3.25421" ], - "Microsoft.VisualStudio.Designer.Interfaces": "1.1.4322", - "Microsoft.VisualStudio.Editor": "14.3.25407", - "Microsoft.VisualStudio.ImageCatalog": "14.3.25407", - "Microsoft.VisualStudio.Imaging": "14.3.25407", - "Microsoft.VisualStudio.Imaging.Interop.14.0.DesignTime": "14.3.25407", "Microsoft.VisualStudio.Language.Intellisense": [ "14.3.25407", "15.0.25123-Dev15Preview" ], - "Microsoft.VisualStudio.Language.StandardClassification": "14.3.25407", - "Microsoft.VisualStudio.ManagedInterfaces": "8.0.50727", - "Microsoft.VisualStudio.OLE.Interop": "7.10.6070", - "Microsoft.VisualStudio.SDK.EmbedInteropTypes": "14.1.2", - "Microsoft.VisualStudio.Shell.14.0": "14.3.25407", - "Microsoft.VisualStudio.Shell.Design": "14.3.25407", - "Microsoft.VisualStudio.Shell.Interop.10.0": "10.0.30319", - "Microsoft.VisualStudio.Shell.Interop.11.0": "11.0.61030", - "Microsoft.VisualStudio.Shell.Interop.12.1.DesignTime": "12.1.30328", - "Microsoft.VisualStudio.Shell.Interop.14.0.DesignTime": "14.3.25407", - "Microsoft.VisualStudio.Text.Data": "14.3.25407", - "Microsoft.VisualStudio.Text.Logic": "14.3.25407", - "Microsoft.VisualStudio.Text.UI": "14.3.25407", - "Microsoft.VisualStudio.Text.UI.Wpf": "14.3.25407", - "Microsoft.VisualStudio.TextManager.Interop.10.0": "10.0.30319", - "Microsoft.VisualStudio.TextManager.Interop.12.0": "12.0.30110", - "Microsoft.VisualStudio.TextManager.Interop.12.1.DesignTime": "12.1.30328", - "Microsoft.VisualStudio.WCFReference.Interop": "9.0.30729", "Newtonsoft.Json": [ "6.0.4", "7.0.1", "8.0.2", "9.0.1" ], - "xunit.runner.console": [ "2.1.0", "2.2.0-beta1-build3239" ] + "xunit.runner.console": [ "2.1.0", "2.2.0-beta1-build3239" ], + "Microsoft.VSSDK.BuildTools": [ "14.3.25407", "15.0.25201-Dev15Preview2" ] }, "toolsetPackages": [ - + "Microsoft.VSSDK.BuildTools" ], "generate": { diff --git a/src/Tools/RepoUtil/VerifyCommand.cs b/src/Tools/RepoUtil/VerifyCommand.cs index e13d422a3347accbeeabe45cae8568db8d82bca1..4876e7051c684125df58e7d8e51a5674517c7b58 100644 --- a/src/Tools/RepoUtil/VerifyCommand.cs +++ b/src/Tools/RepoUtil/VerifyCommand.cs @@ -37,7 +37,9 @@ internal VerifyCommand(RepoConfig repoConfig, string sourcesPath) public bool Run(TextWriter writer, string[] args) { - return VerifyProjectJsonContents(writer); + return + VerifyProjectJsonContents(writer) && + VerifyRepoConfig(writer); } /// @@ -84,5 +86,31 @@ private bool VerifyProjectJsonContents(TextWriter writer) return allGood; } + + /// + /// Verify that all of the data contained in the repo configuration is valid. In particular that it hasn't gotten + /// stale and referring to invalid packages. + /// + /// + private bool VerifyRepoConfig(TextWriter writer) + { + writer.WriteLine($"Verifying RepoData.json"); + var packages = ProjectJsonUtil + .GetProjectJsonFiles(_sourcesPath) + .SelectMany(x => ProjectJsonUtil.GetDependencies(x)); + var set = new HashSet(packages); + var allGood = true; + + foreach (var package in _repoConfig.FixedPackages) + { + if (!set.Contains(package)) + { + writer.WriteLine($"Error: Fixed package {package.Name} - {package.Version} is not used anywhere"); + allGood = false; + } + } + + return allGood; + } } }