private void Emit(PublishRoot root, IEnumerable<PackageAssembly> assemblies) { var resolver = new DefaultPackagePathResolver(root.TargetPackagesPath); TargetPath = resolver.GetInstallPath(Library.Name, Library.Version); root.Reports.Quiet.WriteLine(" Source: {0}", _libraryDescription.Path); root.Reports.Quiet.WriteLine(" Target: {0}", TargetPath); Directory.CreateDirectory(TargetPath); // Copy nuspec var nuspecName = resolver.GetManifestFileName(Library.Name, Library.Version); root.Reports.Quiet.WriteLine(" File: {0}", nuspecName.Bold()); CopyFile(root, Path.Combine(_libraryDescription.Path, nuspecName), Path.Combine(TargetPath, nuspecName)); // Copy assemblies for current framework foreach (var assembly in assemblies) { root.Reports.Quiet.WriteLine(" File: {0}", assembly.RelativePath.Bold()); var targetAssemblyPath = Path.Combine(TargetPath, assembly.RelativePath); CopyFile(root, assembly.Path, targetAssemblyPath); } // Special cases var specialFolders = new List<string> { "native", "InteropAssemblies", "redist", Path.Combine("lib", "contract") }; if (!root.NoSource) { // 'shared' folder is build time dependency, so we only copy it when deploying with source specialFolders.Add("shared"); } foreach (var folder in specialFolders) { var srcFolder = Path.Combine(_libraryDescription.Path, folder); var targetFolder = Path.Combine(TargetPath, folder); CopyFolder(root, srcFolder, targetFolder); } }
private void Emit(BundleRoot root, IEnumerable<PackageAssembly> assemblies) { var resolver = new DefaultPackagePathResolver(root.TargetPackagesPath); TargetPath = resolver.GetInstallPath(Library.Name, Library.Version); root.Reports.Quiet.WriteLine(" Source: {0}", _libraryDescription.Path); root.Reports.Quiet.WriteLine(" Target: {0}", TargetPath); Directory.CreateDirectory(TargetPath); // Copy nuspec var nuspecName = resolver.GetManifestFileName(Library.Name, Library.Version); root.Reports.Quiet.WriteLine(" File: {0}", nuspecName.Bold()); CopyFile(root, Path.Combine(_libraryDescription.Path, nuspecName), Path.Combine(TargetPath, nuspecName), root.Overwrite); // Copy assemblies for current framework foreach (var assembly in assemblies) { root.Reports.Quiet.WriteLine(" File: {0}", assembly.RelativePath.Bold()); var targetAssemblyPath = Path.Combine(TargetPath, assembly.RelativePath); CopyFile(root, assembly.Path, targetAssemblyPath, root.Overwrite); } // Special cases var specialFolders = new[] { "native", "InteropAssemblies", "redist", Path.Combine("lib", "contract") }; foreach (var folder in specialFolders) { var srcFolder = Path.Combine(_libraryDescription.Path, folder); var targetFolder = Path.Combine(TargetPath, folder); CopyFolder(root, srcFolder, targetFolder); } }