Skip to content

Commit

Permalink
Simplify code (#54)
Browse files Browse the repository at this point in the history
  • Loading branch information
dfederm authored Aug 10, 2024
1 parent 9faa592 commit 3e887f7
Show file tree
Hide file tree
Showing 3 changed files with 179 additions and 156 deletions.
15 changes: 5 additions & 10 deletions src/PackagesConfigConverter/PackageInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,29 +9,24 @@

namespace PackagesConfigConverter
{
internal sealed class PackageInfo
internal sealed class PackageInfo : IEquatable<PackageInfo>
{
public PackageInfo(PackageIdentity identity, PackagePathResolver packagePathResolver, VersionFolderPathResolver versionFolderPathResolver)
{
Identity = identity;

InstalledPackageFilePath = PackagePathHelper.GetInstalledPackageFilePath(Identity, packagePathResolver ?? throw new ArgumentNullException(nameof(packagePathResolver)));

RepositoryInstalledPath = Path.GetDirectoryName(InstalledPackageFilePath);

RepositoryInstalledPath = packagePathResolver.GetInstallPath(Identity);
GlobalInstalledPath = Path.GetFullPath(versionFolderPathResolver.GetInstallPath(identity.Id, identity.Version));

HasAnalyzers = Directory.Exists(Path.Combine(RepositoryInstalledPath, "analyzers"));
HasAnalyzers = Directory.Exists(Path.Combine(GlobalInstalledPath, "analyzers"));
}

public string GlobalInstalledPath { get; }

public string InstalledPackageFilePath { get; }

public PackageIdentity Identity { get; }

public string RepositoryInstalledPath { get; }

public bool HasAnalyzers { get; }

public bool Equals(PackageInfo other) => Identity.Equals(other.Identity);
}
}
18 changes: 3 additions & 15 deletions src/PackagesConfigConverter/PackageUsage.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,33 +2,21 @@
//
// Licensed under the MIT license.

using System.Collections.Generic;
using System.Linq;
using CommandLine;
using Microsoft.Build.Construction;
using NuGet.LibraryModel;
using NuGet.Versioning;

namespace PackagesConfigConverter
{
internal sealed class PackageUsage
{
public PackageUsage(PackageInfo packageInfo, bool isDevelopmentDependency)
public PackageUsage(PackageInfo packageInfo)
{
PackageInfo = packageInfo;
IsDevelopmentDependency = isDevelopmentDependency;
}

public PackageInfo PackageInfo { get; }

public bool IsDevelopmentDependency { get; }

public IEnumerable<ProjectElement> AllElements => AnalyzerItems.Cast<ProjectElement>().Concat(AssemblyReferences).Concat(Imports);

public List<ProjectItemElement> AnalyzerItems { get; } = new();

public List<ProjectItemElement> AssemblyReferences { get; } = new();

public List<ProjectImportElement> Imports { get; } = new();
public LibraryIncludeFlags UsedAssets { get; set; }

public bool GeneratePathProperty { get; set; }

Expand Down
Loading

0 comments on commit 3e887f7

Please sign in to comment.