fix projectdependnecy finder
This commit is contained in:
parent
46ab621422
commit
b0565e6498
1 changed files with 28 additions and 4 deletions
|
@ -61,13 +61,12 @@ namespace Microsoft.DotNet.ProjectJsonMigration
|
||||||
|
|
||||||
private Dictionary<string, ProjectDependency> FindPossibleProjectDependencies(string projectJsonFilePath)
|
private Dictionary<string, ProjectDependency> FindPossibleProjectDependencies(string projectJsonFilePath)
|
||||||
{
|
{
|
||||||
var projectDirectory = Path.GetDirectoryName(projectJsonFilePath);
|
var projectRootDirectory = GetRootFromProjectJson(projectJsonFilePath);
|
||||||
|
|
||||||
var projectSearchPaths = new List<string>();
|
var projectSearchPaths = new List<string>();
|
||||||
projectSearchPaths.Add(projectDirectory);
|
projectSearchPaths.Add(projectRootDirectory);
|
||||||
projectSearchPaths.Add(Path.GetDirectoryName(projectDirectory));
|
|
||||||
|
|
||||||
var globalPaths = GetGlobalPaths(projectDirectory);
|
var globalPaths = GetGlobalPaths(projectRootDirectory);
|
||||||
projectSearchPaths = projectSearchPaths.Union(globalPaths).ToList();
|
projectSearchPaths = projectSearchPaths.Union(globalPaths).ToList();
|
||||||
|
|
||||||
var projects = new Dictionary<string, ProjectDependency>(StringComparer.Ordinal);
|
var projects = new Dictionary<string, ProjectDependency>(StringComparer.Ordinal);
|
||||||
|
@ -105,6 +104,31 @@ namespace Microsoft.DotNet.ProjectJsonMigration
|
||||||
return projects;
|
return projects;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Finds the parent directory of the project.json.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="projectJsonPath">Full path to project.json.</param>
|
||||||
|
private static string GetRootFromProjectJson(string projectJsonPath)
|
||||||
|
{
|
||||||
|
if (!string.IsNullOrEmpty(projectJsonPath))
|
||||||
|
{
|
||||||
|
var file = new FileInfo(projectJsonPath);
|
||||||
|
|
||||||
|
// If for some reason we are at the root of the drive this will be null
|
||||||
|
// Use the file directory instead.
|
||||||
|
if (file.Directory.Parent == null)
|
||||||
|
{
|
||||||
|
return file.Directory.FullName;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return file.Directory.Parent.FullName;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return projectJsonPath;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Create the list of potential projects from the search paths.
|
/// Create the list of potential projects from the search paths.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue