Example #1
0
        private static IEnumerable<FileEntry> TrimPaths(IEnumerable<FileEntry> fileEntries, dynamic rule)
        {
            var trimPath = rule.trimPath.Value as string ?? TrimPath.none.ToString();

            var trim = TrimPath.none;

            if (!Enum.TryParse(trimPath, true, out trim)) {
                AutopackageMessages.Invoke.Warning(MessageCode.TrimPathOptionInvalid, rule.trimPath, "trim-path option '{0}' not valid, assuming 'none'", trimPath);
            }

            switch (trim) {
                case TrimPath.all:
                    return fileEntries.Select(each => new FileEntry (each.SourcePath,  Path.GetFileName(each.DestinationPath))).ToList();

                case TrimPath.minimal:
                    return fileEntries.GetMinimalPaths().ToList();

            }
            return fileEntries;
        }