C#: Adjust buildless source generator folders

This commit is contained in:
Tamas Vajk
2024-08-20 12:13:49 +02:00
parent 79bd81fa12
commit 0037ad406d
10 changed files with 27 additions and 50 deletions

View File

@@ -83,7 +83,7 @@ namespace Semmle.Extraction.CSharp.DependencyFetching
var targetDir = GetTemporaryWorkingDirectory(FileType.ToLowerInvariant());
return groupedFiles
.SelectMany(group => sourceGenerator.RunSourceGenerator(group.Value, group.Key, references, targetDir));
.SelectMany(group => sourceGenerator.RunSourceGenerator(group.Value, group.Key, references, targetDir, fileProvider.SourceDir.FullName));
}
catch (Exception ex)
{

View File

@@ -33,11 +33,12 @@ namespace Semmle.Extraction.CSharp.DependencyFetching
protected abstract void GenerateAnalyzerConfig(IEnumerable<string> additionalFiles, string csprojFile, string analyzerConfigPath);
public IEnumerable<string> RunSourceGenerator(IEnumerable<string> additionalFiles, string csprojFile, IEnumerable<string> references, string targetDir)
public IEnumerable<string> RunSourceGenerator(IEnumerable<string> additionalFiles, string csprojFile, IEnumerable<string> references, string targetDir, string sourceDir)
{
try
{
var name = FileUtils.ComputeHash($"{csprojFile}{Environment.NewLine}{this.GetType().Name}");
var relativePathToCsProj = Path.GetRelativePath(sourceDir, csprojFile);
var name = FileUtils.ComputeHash($"{relativePathToCsProj}{Environment.NewLine}{this.GetType().Name}");
using var tempDir = new TemporaryDirectory(Path.Join(FileUtils.GetTemporaryWorkingDirectory(out _), "source-generator"), "source generator temporary", logger);
var analyzerConfigPath = Path.Combine(tempDir.DirInfo.FullName, $"{name}.txt");
var dllPath = Path.Combine(tempDir.DirInfo.FullName, $"{name}.dll");