private void WriteCheckProject(IProjectConfiguration config)
{
var check = config as ICheckProject;
if (check == null)
return;
var args = new List<Arg>
{
new Arg("name", check.Name),
new Arg("local", check.SourceDirectory()),
new Arg("remote", check.TfsPath),
new Arg("extension", check.ProjectExtension)
};
/*var company = "CNET Content Solutions";
var assembly = config as IAssembly;
if (assembly != null)
{
if (assembly.RootNamespace != null)
args.Add(new Arg("RootNamespace", assembly.RootNamespace));
if (assembly.CustomAssemblyName != null)
args.Add(new Arg("AssemblyName", assembly.CustomAssemblyName));
if (assembly.CustomCompanyName != null)
company = assembly.CustomCompanyName;
}
args.Add(new Arg("CompanyName", company));*/
var issues = new List<string>();
issues.Add(F01_ProjectFileShouldExist);
issues.Add(F02_AssemblyInfoShouldExist);
issues.Add(S01_ProjectFolderShouldHaveProjectName);
issues.Add(S02_PrimarySolutionShouldExist);
//xxxissues.Add(S03_NugetFolderShouldNotExist);
issues.Add(S04_PackagesFolderShouldNotExist);
if (config is FabricApplicationProjectConfiguration)
{
issues.Remove(F02_AssemblyInfoShouldExist);
}
if (!String.IsNullOrWhiteSpace(check.CustomIssues))
{
var all = check.CustomIssues.Split('|');
var force = all.Where(code => code.StartsWith("+")).Select(code => code.Substring(1)).ToList();
var ignore = all.Where(code => code.StartsWith("-")).Select(code => code.Substring(1)).ToList();
issues = issues.Union(force).Except(ignore).ToList();
}
args.Add(new Arg("issues", String.Join("|", issues)));
ExecTask(
"$(netBuildCheckProject)",
"Check project",
args.ToArray());
}