Skip to content
This repository was archived by the owner on Sep 30, 2023. It is now read-only.

Commit 3b8922b

Browse files
committed
fix target .csproj
1 parent 32f751a commit 3b8922b

File tree

4 files changed

+12
-9
lines changed

4 files changed

+12
-9
lines changed

Commands/RefFix.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ private void Fix(BuildData buildInfo, List<Module> modules, HashSet<string> proc
7272
throw new TargetNotFoundException(rootModuleName);
7373

7474
var vsParser = new VisualStudioProjectParser(buildInfo.Target, modules);
75-
foreach (var file in vsParser.GetCsprojList(buildInfo.Configuration))
75+
foreach (var file in vsParser.GetCsprojList(buildInfo))
7676
{
7777
if (processedFiles.Contains(file))
7878
continue;

Common/DepsChecker.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public CheckDepsResult GetCheckDepsResult(bool notOnlyCement)
3232
if (bulid.Target.IsFakeTarget())
3333
continue;
3434
var vsParser = new VisualStudioProjectParser(Path.Combine(moduleDirectory, bulid.Target), modules);
35-
var files = vsParser.GetCsprojList(bulid.Configuration);
35+
var files = vsParser.GetCsprojList(bulid);
3636
var refs = files.SelectMany(file =>
3737
vsParser.GetReferencesFromCsproj(file, bulid.Configuration, notOnlyCement).Select(reference => reference.Replace('/', '\\')).Select(r => new ReferenceWithCsproj(r, file)));
3838
refsList.AddRange(refs);

Common/VisualStudioProjectParser.cs

+8-5
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@ public VisualStudioProjectParser(string solutionPath, IEnumerable<string> module
2626
solutionContent = File.ReadAllText(solutionPath).Split('\n');
2727
}
2828

29-
public List<string> GetReferences(string configName)
29+
public List<string> GetReferences(BuildData buildData)
3030
{
31-
var configCsprojList = GetCsprojList(configName).Select(csproj => Path.Combine(cwd, csproj)).ToList();
32-
return GetReferencesFromCsprojList(configCsprojList, configName);
31+
var configCsprojList = GetCsprojList(buildData).Select(csproj => Path.Combine(cwd, csproj)).ToList();
32+
return GetReferencesFromCsprojList(configCsprojList, buildData.Configuration);
3333
}
3434

3535
public List<string> GetSolutionConfigsByCsproj(string csprojFullPath)
@@ -216,10 +216,13 @@ public IEnumerable<string> GetCsprojList()
216216
return guidToCsprojDict.Select(kvp => kvp.Value).ToList();
217217
}
218218

219-
public IEnumerable<string> GetCsprojList(string configName)
219+
public IEnumerable<string> GetCsprojList(BuildData buildData)
220220
{
221+
if (buildData.Target.EndsWith(".csproj"))
222+
return new List<string> { Path.Combine(cwd, buildData.Target)};
223+
221224
var guidToCsprojDict = GetGuidToCsprojDict();
222-
var guidSetForConfig = GetGuidSetForConfig(configName);
225+
var guidSetForConfig = GetGuidSetForConfig(buildData.Configuration);
223226
return guidSetForConfig.Where(guid => guidToCsprojDict.ContainsKey(guid)).Select(guid => guidToCsprojDict[guid]).ToList();
224227
}
225228

Tests/CommandsTests/TestCheckDeps.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using System.Collections.Generic;
1+
using System.Collections.Generic;
22
using System.IO;
33
using System.Linq;
44
using Common;
@@ -60,7 +60,7 @@ public void TestCollectReferences()
6060

6161
File.WriteAllText(Path.Combine(tempDir.Path, "solution.sln"), slnContent);
6262
var vsParser = new VisualStudioProjectParser(Path.Combine(tempDir.Path, "solution.sln"), cementModules);
63-
var references = vsParser.GetReferences("Client");
63+
var references = vsParser.GetReferences(new BuildData("solution.sln", "Client"));
6464

6565
Assert.AreEqual(new[] {@"Dep2\src\bin\Kontur.Logging.dll"}, references);
6666
}

0 commit comments

Comments
 (0)