Example #1
0
    /// <summary>
    /// Gets all enabled june build validation methods.
    /// </summary>
    /// <returns>The all enabled june build validation methods.</returns>
    /// <param name="assembly">Assembly.</param>
    private static List <MethodInfo> GetAllEnabledJuneBuildValidationMethods(Assembly assembly, JuneBuildTargets buildTarget)
    {
        if (null == assembly)
        {
            return(null);
        }

        return(assembly.GetTypes()
               .SelectMany(t => t.GetMethods())
               .Where(m => {
            var attr = m.GetCustomAttributes(typeof(JuneBuildValidationAttribute), false);
            if (null != attr && 1 == attr.Length && attr[0] is JuneBuildValidationAttribute)
            {
                // Filter methods that are enabled
                //var buildAttr = (JuneBuildValidationAttribute)attr[0];
                //return buildAttr.Enable && ((buildAttr.Targets & buildTarget) > 0);
                return true;
            }
            return false;
        })
               .ToList());
    }
Example #2
0
 public JuneBuildValidationAttribute(bool enabled, JuneBuildTargets targets)
 {
     this.Enable  = enabled;
     this.Targets = targets;
 }
Example #3
0
 /// <summary>
 /// Gets all june validation items.
 /// </summary>
 /// <returns>The all june validation items.</returns>
 /// <param name="assembly">Assembly.</param>
 /// <param name="buildTarget">Build target.</param>
 private static List <JuneBuildValidationItem> GetAllJuneValidationItems(Assembly assembly, JuneBuildTargets buildTarget)
 {
     return(GetAllEnabledJuneBuildValidationMethods(assembly, buildTarget)
            .FindAll(VerifyMethodSignature)
            .ConvertAll(m => new JuneBuildValidationItem(m))
            .ToList());
 }