Exemple #1
0
        public override bool Execute()
        {
            _resultFolders.Clear();
            try
            {
                Log.LogMessage(MessageImportance.Normal, "Searching Nuget package folder...");

                if (string.IsNullOrEmpty(PackageID))
                {
                    throw new InvalidDataException("Nuget PackageID is not set");
                }

                var targetFolders = (TargetFolders ?? Enumerable.Empty <ITaskItem>()).Select(f => f.ItemSpec).ToList();
                if (!targetFolders.Any())
                {
                    targetFolders.Add(Environment.CurrentDirectory);
                    targetFolders.Add(Environment.CurrentDirectory + "\\..\\");
                }

                var packageFolders = NugetExtensions.FindPackageLattestVersionFolders(PackageID, targetFolders.ToArray());

                if (!packageFolders.Any())
                {
                    Log.LogMessage(MessageImportance.Normal, "  * There is no packages found");
                    return(true);
                }

                foreach (var packageFolder in packageFolders)
                {
                    var path = Path.GetFullPath(packageFolder.Path);
                    if (!string.IsNullOrEmpty(RelativeToPath))
                    {
                        path = IOExtensions.MakeRelativePath(RelativeToPath, path);
                    }
                    Log.LogMessage(MessageImportance.Normal, "  * Found package: {0}", path);
                    _resultFolders.Add(new TaskItem(path));
                }
            }
            catch (Exception e)
            {
                Log.LogError(e.ToString());
                return(false);
            }

            return(true);
        }
        private DelegateReplacement CreateNugetReplacer()
        {
            return(new DelegateReplacement("nuget",
                                           value =>
            {
                var targetFolders = new List <string>();
                if (!string.IsNullOrEmpty(ProjectDir))
                {
                    targetFolders.Add(ProjectDir);
                    targetFolders.Add(ProjectDir + "\\..\\");
                }
                if (!string.IsNullOrEmpty(SolutionDir))
                {
                    targetFolders.Add(SolutionDir);
                }

                targetFolders.Add(AppDomain.CurrentDomain.BaseDirectory);
                targetFolders.Add(AppDomain.CurrentDomain.BaseDirectory + "\\..\\");

                var packageFolders = NugetExtensions.FindPackageLattestVersionFolders(value,
                                                                                      targetFolders.ToArray());
                return packageFolders.FirstOrDefault()?.Path;
            }));
        }
Exemple #3
0
        private static string GetValuesFromNupkg(string path, string packageName)
        {
            var nuspecContent = NugetExtensions.GetNuspecContent(path, packageName);

            return(string.Join(Environment.NewLine, nuspecContent.Select(x => $"{x.Key} {x.Value}")));
        }