/// <summary> /// Called by <see cref="GetPackageFiles"/> method. /// </summary> /// <param name="packageId">The package identifier.</param> /// <param name="packagePath">The package path.</param> /// <returns>List of the files for deployment. <see cref="PackageFileDeploymentInfo"/></returns> protected IReadOnlyCollection <PackageFileDeploymentInfo> OnGetPackageFiles(PackageId packageId, string packagePath) { var files = new List <PackageFileDeploymentInfo>(); var toolsFolder = Path.Combine(packagePath, "tools"); var contentFolder = Path.Combine(packagePath, "content"); var libFolder = Path.Combine(packagePath, "lib"); if (Directory.Exists(toolsFolder)) { AddFiles(toolsFolder, _deploymentContext.ProductPath, FileAction.None, FileType.Tool, files); } if (Directory.Exists(contentFolder)) { AddFiles(contentFolder, _deploymentContext.ProductPath, FileAction.Copy, FileType.Content, files); } if (Directory.Exists(libFolder)) { var libFxFolder = Path.Combine(libFolder, _deploymentContext.TargetFramework); if (!Directory.Exists(libFxFolder)) { var fxName = NuGetEngine.GetMostCompatibleFramework(_deploymentContext.TargetFramework, Directory.EnumerateDirectories(libFolder).Select(Path.GetFileName)); if (fxName == null) { Console.WriteLine($"Skipping package {packageId.Id} because unkown framework present on PKG"); return(files); } libFxFolder = Path.Combine(libFolder, fxName); if (!Directory.Exists(libFxFolder)) { return(files); } } AddFiles(libFxFolder, _deploymentContext.ProductPath, FileAction.Copy, FileType.LibFile, files); } return(files); }
protected IEnumerable <PackageFileInfo> OnGetPackageFiles(PackageId packageId, string packagePath) { var files = new List <PackageFileInfo>(); var toolsFolder = Path.Combine(packagePath, "tools"); var contentFolder = Path.Combine(packagePath, "content"); var libFolder = Path.Combine(packagePath, "lib"); if (Directory.Exists(toolsFolder)) { AddFiles(toolsFolder, _deploymentContext.ProductPath, FileAction.None, FileType.Tool, files); } if (Directory.Exists(contentFolder)) { AddFiles(contentFolder, _deploymentContext.ProductPath, FileAction.Copy, FileType.Content, files); } if (Directory.Exists(libFolder)) { var libFxFolder = Path.Combine(libFolder, _deploymentContext.TargetFramework); if (!Directory.Exists(libFxFolder)) { var fxName = NuGetEngine.GetMostCompatibleFramework(_deploymentContext.TargetFramework, Directory.EnumerateDirectories(libFolder).Select(Path.GetFileName)); libFxFolder = Path.Combine(libFolder, fxName); if (!Directory.Exists(libFxFolder)) { return(files); } } AddFiles(libFxFolder, _deploymentContext.ProductPath, FileAction.Copy, FileType.LibFile, files); } return(files); }