#20846: Allowing None as action in projects

Work Item:20846
This commit is contained in:
Jay Harris
2014-08-06 12:10:18 -07:00
committed by Sebastien Ros
parent 25e334e66b
commit f864fdc916

View File

@@ -96,17 +96,27 @@ namespace MSBuild.Orchard.Tasks {
.Elements(None);
foreach (var element in elements) {
var include = (element.Attribute(Include) == null ? null : element.Attribute(Include).Value);
bool isValid = string.IsNullOrEmpty(include);
var filePath = (element.Attribute(Include) == null ? null : element.Attribute(Include).Value);
bool isValid = IsValidExcludeFile(filePath);
if (!isValid) {
string message = string.Format(
"\"{0}\" element name for include \"{1}\" should be \"{2}\".",
element.Name.LocalName, include, Content.LocalName);
element.Name.LocalName, filePath, Content.LocalName);
AddValidationError(element, message);
}
}
}
private static bool IsValidExcludeFile(string filePath) {
var validExtensions = new[] { ".sass", ".scss", ".less", ".coffee", ".ls", ".ts", ".md", };
if (string.IsNullOrEmpty(filePath)) return true;
var fileExtension = Path.GetExtension(filePath);
if (string.IsNullOrEmpty(fileExtension)) return false;
return validExtensions.Contains(fileExtension, StringComparer.InvariantCultureIgnoreCase);
}
private void CheckCodeAnalysisRuleSet(XDocument document) {
const string orchardbasiccorrectnessRuleset = "OrchardBasicCorrectness.ruleset";