Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 51f11bf

Browse filesBrowse files
committed
CompilationDependencyResolver should operate on known list of CSX files
1 parent cd4a1d0 commit 51f11bf
Copy full SHA for 51f11bf

File tree

2 files changed

+20
-7
lines changed
Filter options

2 files changed

+20
-7
lines changed

‎src/Dotnet.Script.DependencyModel/Compilation/CompilationDependencyResolver.cs

Copy file name to clipboardExpand all lines: src/Dotnet.Script.DependencyModel/Compilation/CompilationDependencyResolver.cs
+9-5Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,23 +43,27 @@ private static IRestorer CreateRestorer(LogFactory logFactory)
4343
return new ProfiledRestorer(new DotnetRestorer(commandRunner, logFactory),logFactory);
4444
}
4545

46+
[Obsolete("Please use the overload that takes in a list of script files")]
4647
public IEnumerable<CompilationDependency> GetDependencies(string targetDirectory, bool enableScriptNugetReferences, string defaultTargetFramework = "net46")
4748
{
48-
var pathToProjectFile = _scriptProjectProvider.CreateProject(targetDirectory, defaultTargetFramework,
49-
enableScriptNugetReferences);
49+
return GetDependencies(targetDirectory, null, enableScriptNugetReferences, defaultTargetFramework);
50+
}
51+
52+
public IEnumerable<CompilationDependency> GetDependencies(string targetDirectory, IEnumerable<string> scriptFiles, bool enableScriptNugetReferences, string defaultTargetFramework = "net46")
53+
{
54+
var pathToProjectFile = scriptFiles == null ?
55+
_scriptProjectProvider.CreateProject(targetDirectory, defaultTargetFramework, enableScriptNugetReferences) :
56+
_scriptProjectProvider.CreateProject(targetDirectory, scriptFiles, defaultTargetFramework, enableScriptNugetReferences);
5057

5158
if (pathToProjectFile == null)
5259
{
5360
return Array.Empty<CompilationDependency>();
5461
}
5562

5663
var dependencyInfo = _scriptDependencyInfoProvider.GetDependencyInfo(pathToProjectFile, Array.Empty<string>());
57-
5864
var dependencyContext = dependencyInfo.DependencyContext;
59-
6065
var compilationAssemblyResolvers = GetCompilationAssemblyResolvers(dependencyInfo.NugetPackageFolders);
6166

62-
6367
List<CompilationDependency> result = new List<CompilationDependency>();
6468
var compileLibraries = dependencyContext.CompileLibraries;
6569

‎src/Dotnet.Script.DependencyModel/ProjectSystem/ScriptProjectProvider.cs

Copy file name to clipboardExpand all lines: src/Dotnet.Script.DependencyModel/ProjectSystem/ScriptProjectProvider.cs
+11-2Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,16 @@ private void LogProjectFileInfo(string pathToProjectFile)
7474

7575
public string CreateProject(string targetDirectory, string defaultTargetFramework = "net46", bool enableNuGetScriptReferences = false)
7676
{
77+
return CreateProject(targetDirectory, Directory.GetFiles(targetDirectory, "*.csx", SearchOption.AllDirectories), defaultTargetFramework, enableNuGetScriptReferences);
78+
}
79+
80+
public string CreateProject(string targetDirectory, IEnumerable<string> scriptFiles, string defaultTargetFramework = "net46", bool enableNuGetScriptReferences = false)
81+
{
82+
if (scriptFiles == null || !scriptFiles.Any())
83+
{
84+
return null;
85+
}
86+
7787
var pathToProjectFile = Directory.GetFiles(targetDirectory, "*.csproj").FirstOrDefault();
7888
if (pathToProjectFile == null && !enableNuGetScriptReferences)
7989
{
@@ -82,8 +92,7 @@ public string CreateProject(string targetDirectory, string defaultTargetFramewor
8292

8393
_logger.Debug($"Creating project file for *.csx files found in {targetDirectory} using {defaultTargetFramework} as the default framework.");
8494

85-
var csxFiles = Directory.GetFiles(targetDirectory, "*.csx", SearchOption.AllDirectories);
86-
return SaveProjectFileFromScriptFiles(targetDirectory, defaultTargetFramework, csxFiles);
95+
return SaveProjectFileFromScriptFiles(targetDirectory, defaultTargetFramework, scriptFiles.ToArray());
8796
}
8897

8998
public string CreateProjectForScriptFile(string scriptFile)

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.