Ejemplo n.º 1
0
        static IEnumerable <SrcPackage> CreatePackageList(
            string name,
            string path,
            IEnumerable <SrcPackage> packageListConfig)
        {
            var firstPackage = packageListConfig.First();
            var dir          = new Dir(new DirectoryInfo(path), "");
            var remainder    = dir.FileList().ToHashSet();

            foreach (var p in packageListConfig.Skip(1))
            {
                var fileList = dir.FileList(p.FileList);
                remainder.ExceptWith(fileList);
                yield return(new SrcPackage(
                                 name:
                                 name +
                                 "_" +
                                 p.Name.Select(n => n, () => string.Empty),
                                 package: p,
                                 fileList: fileList
                                 ));
            }
            //
            remainder.UnionWith(dir.FileList(firstPackage.FileList));
            yield return(new SrcPackage(
                             name: name,
                             package: firstPackage,
                             fileList: remainder
                             ));
        }
Ejemplo n.º 2
0
 static IEnumerable<Package> CreatePackageList(
     string name,
     string path,
     IEnumerable<Package> packageListConfig)
 {
     var firstPackage = packageListConfig.First();
     var dir = new Dir(new DirectoryInfo(path), "");
     var remainder = dir.FileList().ToHashSet();
     foreach (var p in packageListConfig.Skip(1))
     {
         var fileList = dir.FileList(p.FileList);
         remainder.ExceptWith(fileList);
         yield return new Package(
             name:
                 name +
                 "_" +
                 p.Name.Select(n => n, () => string.Empty),
             package: p,
             fileList: fileList
         );
     }
     //
     remainder.UnionWith(dir.FileList(firstPackage.FileList));
     yield return new Package(
         name: name,
         package: firstPackage,
         fileList: remainder
     );
 }