public bool Process(ProjectItem projectItem) { if (projectItem.ItemType != SupportedProjectItemType) { return(false); } var filePath = projectItem.EvaluatedInclude; var filename = Path.GetFileName(filePath); if (filename != ContentsFileName) { return(false); } var parent = Directory.GetParent(filePath).ToString(); if (!parent.Contains(AssetSetExtension)) { return(false); } var assetName = Path.GetFileNameWithoutExtension(parent.Replace(AssetSetExtension, string.Empty)); var constName = ValidNamesProvider.GetCorrectConstName(assetName); var constValue = ValidNamesProvider.GetCorrectResourceBundleName(assetName); _consts.Add(constName, constValue); return(true); }
private bool AcceptAssetResourceProjectItem(ProjectItem projectItem) { var filePath = projectItem.EvaluatedInclude; var filename = Path.GetFileName(filePath); if (filename != ContentsFileName) { return(false); } var parent = Directory.GetParent(filePath).ToString(); if (!parent.Contains(AssetSetExtension)) { return(false); } var assetName = Path.GetFileNameWithoutExtension(parent.Replace(AssetSetExtension, string.Empty)); var constName = ValidNamesProvider.GetCorrectConstName(assetName); var constValue = ValidNamesProvider.GetCorrectResourceBundleName(assetName); _rootBundleDirectory.BundleResources.Add(constName, constValue); return(true); }
private bool AcceptBundleResourceProjectItem(ProjectItem projectItem) { var extension = Path.GetExtension(projectItem.EvaluatedInclude); if (SupportedImagesFormats.All(x => x != extension)) { return(false); } var splittedPath = projectItem.EvaluatedInclude.Split(Path.DirectorySeparatorChar); var currentBundleDirectoryCollection = new List <BundleDirectory> { _rootBundleDirectory }; var destinationDirectory = _rootBundleDirectory; if (splittedPath.Length > 3) { Console.WriteLine(); } while (splittedPath.Length > 1) { var directory = currentBundleDirectoryCollection.FirstOrDefault(x => x.Name == splittedPath[0]); if (directory == null) { directory = new BundleDirectory { Name = splittedPath[0] }; currentBundleDirectoryCollection.Add(directory); } destinationDirectory = directory; splittedPath = splittedPath.Skip(1).ToArray(); currentBundleDirectoryCollection = destinationDirectory.BundleSubDirectories; } var key = ValidNamesProvider.GetCorrectConstName(ValidNamesProvider.GetCorrectResourceBundleName(splittedPath[0])); var value = ValidNamesProvider.GetCorrectResourceBundleName(projectItem.EvaluatedInclude); if (destinationDirectory.BundleResources.Values.Any(x => x == value)) { return(true); } destinationDirectory.BundleResources.Add(key, value); return(true); }
public bool Process(ProjectItem projectItem) { if (projectItem.ItemType != SupportedProjectItemType) { return(false); } var filename = Path.GetFileName(projectItem.EvaluatedInclude); var extension = Path.GetExtension(filename); if (FontFileExtensions.All(x => extension != x)) { return(false); } var fileNameWithoutExtension = Path.GetFileNameWithoutExtension(filename); var constName = ValidNamesProvider.GetCorrectConstName(fileNameWithoutExtension); var constValue = ValidNamesProvider.GetCorrectResourceBundleName(fileNameWithoutExtension); _consts.Add(constName, constValue); return(true); }