public Task <T> Find <T>(PackageDescriptor descriptor) where T : IPackage { if (!descriptor.IsPathSpecified) { if (_directoryAccessor.DirectoryExists(descriptor.Name)) { var directoryAccessor = _directoryAccessor.GetDirectoryAccessorForRelativePath(descriptor.Name); var pkg = new Package2( descriptor, directoryAccessor); if (pkg is T t) { return(Task.FromResult(t)); } } } return(Task.FromResult <T>(default));
public async Task <T> Find <T>(PackageDescriptor descriptor) where T : class, IPackage { if (!descriptor.IsPathSpecified) { if (_directoryAccessor.DirectoryExists(descriptor.Name)) { var directoryAccessor = _directoryAccessor.GetDirectoryAccessorForRelativePath(descriptor.Name); var pkg = new Package2( descriptor, directoryAccessor); pkg.Add(new ProjectAsset(directoryAccessor)); if (pkg is T t) { return(t); } } } return(default);
public static bool RootDirectoryExists( this IDirectoryAccessor directoryAccessor) => directoryAccessor.DirectoryExists(new RelativeDirectoryPath("."));
public static bool DirectoryExists( this IDirectoryAccessor directoryAccessor, string relativePath) => directoryAccessor.DirectoryExists(new RelativeDirectoryPath(relativePath));