public async Task RunAsync() { _Log.Info("(+) => included references"); _Log.Info("(-) => ignored references"); _Log.Info("(~) => identified package rerferences"); _Log.Info(""); _Log.Info($"analyzing assemblies in"); foreach (var path in _Config.Assemblies.SourcePaths) { _Log.Info($" {path}"); } var folder = new AssemblySource(_Config.Assemblies.Sources, _Config.Assemblies.ExcludePatterns); var assemblies = await folder.GetAssembliesAsync(); var orderedByLeastReferences = assemblies.OrderBy(x => x.KnownReferences.Count()); _Log.Info(""); Echo(orderedByLeastReferences); _Log.Info(""); _Log.Info("deriving bundles / pacakges"); _Log.Info(""); var bundler = new Bundler(_Config); var bundles = bundler.GetBundles(orderedByLeastReferences); Echo(bundles); _Config.NuSpecDirectory.Create(); var writer = new NuSpecWriter(_Config); _Log.Info($"writing nuspec files to : {_Config.NuSpecDirectory}"); foreach (var bundle in bundles) { var target = new FileInfo(Path.Combine(_Config.NuSpecDirectory.FullName, $"{bundle.PackageFullName}.nuspec")); var nuspecContent = writer.GetNuSpec(bundle); _Log.Info($" {target.Name}"); File.WriteAllText(target.FullName, nuspecContent); } _Log.Info($"created {bundles.Count()} nuspec(s)"); }