static void Main(string[] args) { if (args.Length == 0) { var config = new NuGetBuilderConfig { FilterOutMatches = new[] {"Direct"}, HeadFolder = @"F:\src\csiro\time\Solutions\Output", MainAssembliesFiles = new[] {"TIME.dll", "TIME.Tools.dll"}, OuputFolder = @"F:\tmp\testnuget", ReferencesFolders = new[] {@"F:\src\csiro\time\Solutions\Output"} }; Console.WriteLine(JsonIo.Serialize(config)); return; } NuGetBuilder.BuildPackages(args[0]); }
private static Dictionary<string, string[]> CreatePackages(NuGetBuilderConfig config) { List<string> files = new List<string>(); for (int i = 0; i < config.MainAssembliesFiles.Length; i++) { files.AddRange(Directory.GetFiles(config.HeadFolder, config.MainAssembliesFiles[i], SearchOption.TopDirectoryOnly)); } var mainAssmbFiles = files.ToArray(); var candidateRefFiles = AssemblyDiscover.GetCandidateRefFiles(config.HeadFolder, config.ReferencesFolders); candidateRefFiles = AssemblyDiscover.FilterOut(candidateRefFiles, config.FilterOutMatches); // some DirectX assembly caused problems with TIME var candidateAsmFiles = AssemblyDiscover.GetCandidateAssemblies(candidateRefFiles); Dictionary<string, string[]> pkgDependencies = AssemblyDiscover.FindDependencies(mainAssmbFiles, candidateAsmFiles); return MakePkgNames(pkgDependencies); }
public static void Save(NuGetBuilderConfig config, string filename) { JsonIo.Save<NuGetBuilderConfig>(config, filename); }