public void Pack(BuildItem nuspecFile, Action <PackArgs> config) { using (_tracer.StartTask("Nuget - Pack")) { var args = new PackArgs(); if (config != null) { config(args); } _tracer.Info("Packing '{0}'.", nuspecFile); ExecNuget( GetExecutable(args.ToolPath), "pack \"{0}\" ".F(nuspecFile) + GetArguments(args), args.Timeout); } }
private string GetArguments(PackArgs args) { var list = GetBaseArguments(args); if (!args.NonInteractive.HasValue || args.NonInteractive.Value) { list.Add("-NonInteractive"); } if (args.BasePath != null) { list.Add("-BasePath \"{0}\"".F(args.BasePath)); } if (args.OutputDirectory != null) { list.Add("-OutputDirectory \"{0}\"".F(args.OutputDirectory)); } if (args.Symbols.HasValue && args.Symbols.Value) { list.Add("-Symbols"); } if (args.Version != null) { list.Add("-Version " + args.Version); } if (args.Properties.Count > 0) { list.Add("-Properties"); foreach (var property in args.Properties) { list.Add("{0}=\"{1}\"".F(property.Key, property.Value)); } } return(string.Join(" ", list)); }