Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Only include dependencies from the csproj in the project_path to review #70

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 15 additions & 10 deletions Plogon/BuildProcessor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -353,7 +353,7 @@ public ISet<BuildTask> GetBuildTasks(bool continuous)
return need;
}

private async Task RestorePackages(DirectoryInfo pkgFolder, NugetLockfile lockFileData, HttpClient client, HashSet<BuildResult.ReviewedNeed> reviewedNeeds)
private async Task RestorePackages(DirectoryInfo pkgFolder, NugetLockfile lockFileData, HttpClient client, HashSet<BuildResult.ReviewedNeed> reviewedNeeds, bool includeInReview)
{
foreach (var runtime in lockFileData.Runtimes)
{
Expand All @@ -363,12 +363,15 @@ private async Task RestorePackages(DirectoryInfo pkgFolder, NugetLockfile lockFi
.Where(x => x.Value.Type != NugetLockfile.Dependency.DependencyType.Project)
.Select(dependency => GetDependency(dependency.Key, dependency.Value, pkgFolder, client)).ToList());

foreach (var reviewedNeed in resultNeeds)
reviewedNeeds.Add(reviewedNeed);
if (includeInReview)
{
foreach (var reviewedNeed in resultNeeds)
reviewedNeeds.Add(reviewedNeed);
}
}
}

private async Task RestoreAllPackages(DirectoryInfo localWorkFolder, DirectoryInfo pkgFolder, HashSet<BuildResult.ReviewedNeed> reviewedNeeds)
private async Task RestoreAllPackages(DirectoryInfo localWorkFolder, DirectoryInfo? projectPath, DirectoryInfo pkgFolder, HashSet<BuildResult.ReviewedNeed> reviewedNeeds)
{
var lockFiles = localWorkFolder.GetFiles("packages.lock.json", SearchOption.AllDirectories);

Expand All @@ -389,7 +392,7 @@ private async Task RestoreAllPackages(DirectoryInfo localWorkFolder, DirectoryIn

runtimeDependencies.UnionWith(GetRuntimeDependencies(lockFileData));

await RestorePackages(pkgFolder, lockFileData, client, reviewedNeeds);
await RestorePackages(pkgFolder, lockFileData, client, reviewedNeeds, projectPath == null || file.Directory?.FullName == projectPath.FullName);
}

// fetch runtime packages
Expand Down Expand Up @@ -951,21 +954,23 @@ public async Task<BuildResult> ProcessTask(BuildTask task, bool commit, string?

// Archive source code before build
CopySourceForArchive(workDir, archiveDir);

// Create archive zip
var archiveZipFile =
new FileInfo(Path.Combine(this.workFolder.FullName, $"{taskFolderName}-{archiveDir.Name}.zip"));
ZipFile.CreateFromDirectory(archiveDir.FullName, archiveZipFile.FullName);

var diff = await GetPluginDiff(workDir, task, otherTasks, !commit);

var dalamudAssemblyDir = await this.dalamudReleases.GetDalamudAssemblyDirAsync(task.Channel);

WriteNugetConfig(new FileInfo(Path.Combine(workDir.FullName, "nuget.config")));


var projectPath = task.Manifest.Plugin.ProjectPath != null ? new DirectoryInfo(Path.Combine(workDir.FullName, task.Manifest.Plugin.ProjectPath)) : null;

await RetryUntil(async () => await GetNeeds(task, externalNeedsDir, allNeeds));
await RetryUntil(async () => await RestoreAllPackages(workDir, packagesDir, allNeeds));
await RetryUntil(async () => await RestoreAllPackages(workDir, projectPath, packagesDir, allNeeds));

var needsExtendedImage = task.Manifest?.Build?.Image == "extended";

var dockerEnv = new List<string>
Expand Down