Moved PathFragments from SetupTmplCode to extra class.

This commit is contained in:
2018-03-22 07:58:39 +01:00
parent b2ef60a595
commit 016e11e81f
7 changed files with 36 additions and 48 deletions

View File

@ -30,55 +30,21 @@ namespace KattekerCreator
public string UninstallIcon { get; set; }
public string ReleaseChannel { get; set; }
private readonly List<DirSplit> _directoriesList = new List<DirSplit>();
private readonly List<PathFragments> _directoriesList = new List<PathFragments>();
private string _appName;
private IEnumerable<string> DirectoriesToCreate()
{
foreach (var physicalFile in Files)
{
var dirSplit = new DirSplit(physicalFile.TargetPath);
if (dirSplit.SplitCount > 1 && !_directoriesList.Contains(dirSplit))
var dirSplit = new PathFragments(physicalFile.Target);
if (dirSplit.FragmentLength > 1 && !_directoriesList.Contains(dirSplit))
{
_directoriesList.Add(dirSplit);
}
}
return _directoriesList.Select(x=> x.ToString());
}
private class DirSplit
{
private const char SplitChar = '\\';
private readonly string[] _splits;
public int SplitCount => _splits.Length;
public DirSplit(string path)
{
_splits = path.Split(SplitChar);
}
public override string ToString()
{
return string.Join(SplitChar.ToString(), _splits.Take(_splits.Length - 1));
}
public override bool Equals(object obj)
{
return string.Equals(ToString(), obj?.ToString());
}
protected bool Equals(DirSplit other)
{
return Equals(_splits, other._splits);
}
public override int GetHashCode()
{
return (_splits != null ? _splits.GetHashCode() : 0);
}
return _directoriesList.Select(x => x.ToString());
}
}
}