public static IEnumerable <string> GetExistingMediaFiles(this BaseTask baseTask, string buildConfiguration)
        {
            var buildConfigAssetDir = baseTask.GetBuildConfigurationAssetDir(buildConfiguration);

            try
            {
                var files = Directory.EnumerateFiles(buildConfigAssetDir, "*.png", SearchOption.AllDirectories);
                if (baseTask.IsVerbose())
                {
                    if (files.Any())
                    {
                        baseTask.LogVerbose("{0} png files found in resources folder {1}", files.Count(), buildConfigAssetDir);
                        foreach (var file in files)
                        {
                            baseTask.LogDebug("Media file found {0}", file);
                        }
                    }
                    else
                    {
                        baseTask.LogVerbose("No files found in resources folder {0}", buildConfigAssetDir);
                    }
                }
                return(files);
            }
            catch (Exception ex)
            {
                baseTask.Log.LogErrorFromException(ex);
            }
            return(null);
        }
Ejemplo n.º 2
0
        public static string FindTopFileInProjectDir(this BaseTask baseTask, string fileToFind)
        {
            string filePath = String.Empty;

            try
            {
                baseTask.LogVerbose($"Searching for config file {fileToFind}");
                var currentDirectoryInfo = new DirectoryInfo(baseTask.ProjectDir);
                if (currentDirectoryInfo == null)
                {
                    baseTask.Log.LogError($"Directory {baseTask.ProjectDir} is null");
                }
                do
                {
                    var fileExistenceToTest = Path.Combine(currentDirectoryInfo.FullName, fileToFind);
                    //baseTask.LogVerbose($"Testing for file {fileExistenceToTest}");
                    if (File.Exists(fileExistenceToTest))
                    {
                        //baseTask.LogVerbose($"File exists at {fileExistenceToTest}");
                        filePath = fileExistenceToTest;
                    }
                    if (currentDirectoryInfo.Parent == null)
                    {
                        break;
                    }
                    currentDirectoryInfo = currentDirectoryInfo.Parent;
                } while (currentDirectoryInfo != null);

                if (!String.IsNullOrEmpty(filePath))
                {
                    baseTask.LogInformation($"Selecting {fileToFind} from {filePath}");
                }
                else
                {
                    baseTask.LogDebug($"Did not find file {fileToFind} in path {baseTask.ProjectDir}");
                }
            } catch (Exception e) {
                baseTask.Log.LogError($"Exception reading files {e.Message}");
            }
            return(filePath);
        }