示例#1
0
        private void AddPublishDataFromSteps(BuildType buildConfig, BuildTypeDetails details)
        {
            //Check for nuget publish steps
            var steps = details.Steps.Where(s => s.Type.Equals("jb.nuget.publish"));

            //Constrain by feed if required.
            if (!string.IsNullOrEmpty(Feed))
            {
                steps = steps.Where(s =>
                {
                    var prop = s.Properties.FirstOrDefault(p => p.Name.Equals("nuget.publish.source"));
                    if (prop != null && prop.value.Equals(Feed))
                    {
                        return(true);
                    }
                    return(false);
                });
            }

            foreach (var publishStep in steps)
            {
                AddBuildPackageMappingIfRequired(buildConfig);
                var packageNames = GetPackageNames(publishStep.Properties.First(p => p.Name.Equals("nuget.publish.files")).value);
                foreach (var package in packageNames)
                {
                    if (!_mappings[buildConfig.Name].Publishes.Contains(package))
                    {
                        _mappings[buildConfig.Name].Publishes.Add(package);
                    }
                }
            }
        }
示例#2
0
        private void AddSubscribeDataFromTriggers(BuildType buildConfig, BuildTypeDetails details)
        {
            //Check for nuget trigger steps
            var triggers = details.Triggers.Where(t => t.Type.Equals("nuget.simple"));

            //Constrain by feed if required
            if (!string.IsNullOrEmpty(Feed))
            {
                triggers = triggers.Where(t =>
                {
                    var prop = t.Properties.FirstOrDefault(p => p.Name.Equals("nuget.source"));
                    if (prop != null && prop.value.Equals(Feed))
                    {
                        return(true);
                    }
                    return(false);
                });
            }

            foreach (var trigger in triggers)
            {
                var package = trigger.Properties.First(p => p.Name.Equals("nuget.package")).value;
                AddBuildPackageMappingIfRequired(buildConfig);
                if (!_mappings[buildConfig.Name].Subscribes.Contains(package))
                {
                    _mappings[buildConfig.Name].Subscribes.Add(package);
                }
            }
        }