void Configure(ConfigureWindowModel model, Project project)
{
var directoryInfo = fullPathResolver.GetFullPath(model.ToolsDirectory, project);
var targetFile = new FileInfo(Path.Combine(directoryInfo.FullName, "NotifyPropertyWeaverMsBuildTask.dll"));
if (!targetFile.Exists || VersionChecker.IsVersionNewer(targetFile))
{
if (!fileExporter.ExportTask(directoryInfo))
{
taskFileReplacer.AddFile(directoryInfo);
}
}
if (model.IncludeAttributeAssembly)
{
var frameworkType = FrameworkTypeReader.GetFrameworkType(project.FullName);
fileExporter.ExportAttribute(fullPathResolver.GetFullPath(model.DependenciesDirectory, project), frameworkType);
}
var defaulter = new Defaulter();
var projectInjector = new NotifyPropertyWeaverProjectInjector
{
ProjectFile = project.FullName
};
defaulter.FromModel(projectInjector, model);
projectInjector.Execute();
}