public void Execute()
{
GetNuspecPath();
SubstituteNuspecContent();
var fileName = string.Format("{0}.{1}.nupkg", Id, Version);
var nupkgPath = Path.Combine(PackageDirectory, fileName);
File.Delete(nupkgPath);
using (var package = Package.Open(nupkgPath, FileMode.CreateNew))
{
WriteManifest(package);
WriteFiles(package);
WriteMetadata(package);
package.Flush();
package.Close();
}
if (TargetDir != null)
{
Directory.CreateDirectory(TargetDir);
foreach (var fileToDelete in Directory.EnumerateFiles(TargetDir, Id + ".*.nupkg"))
{
File.Delete(fileToDelete);
}
var destinationFileName = Path.Combine(TargetDir, fileName);
File.Move(nupkgPath, destinationFileName);
}
}