コード例 #1
0
    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();
    }
コード例 #2
0
    public void ProcessTaskFile(Project project)
    {
        var toolsDirectory = ProjectReader.GetToolsDirectory(project.FullName);

        if (toolsDirectory == null)
        {
            return;
        }

        var directoryInfo = fullPathResolver.GetFullPath(toolsDirectory, project);
        var targetFile    = new FileInfo(Path.Combine(directoryInfo.FullName, "Costura.dll"));

        if (!targetFile.Exists)
        {
            return;
        }
        if (VersionChecker.IsVersionNewer(targetFile))
        {
            taskFileReplacer.AddFile(directoryInfo);
        }
    }
コード例 #3
0
    public void ProcessAttributeFile(Project project)
    {
        var dependenciesDirectory = ProjectReader.GetDependenciesDirectory(project.FullName);

        if (dependenciesDirectory == null)
        {
            return;
        }

        var directoryInfo = fullPathResolver.GetFullPath(dependenciesDirectory, project);
        var targetFile    = new FileInfo(Path.Combine(directoryInfo.FullName, "NotifyPropertyWeaver.dll"));

        if (!targetFile.Exists)
        {
            return;
        }
        if (VersionChecker.IsVersionNewer(targetFile))
        {
            var frameworkType = FrameworkTypeReader.GetFrameworkType(project.FullName);
            fileExporter.ExportAttribute(directoryInfo, frameworkType);
        }
    }
コード例 #4
0
    void Configure(ConfigureWindowModel model, Project project)
    {
        var directoryInfo = fullPathResolver.GetFullPath(model.ToolsDirectory, project);
        var targetFile    = new FileInfo(Path.Combine(directoryInfo.FullName, "Costura.dll"));

        if (!targetFile.Exists || VersionChecker.IsVersionNewer(targetFile))
        {
            if (!fileExporter.ExportTask(directoryInfo))
            {
                taskFileReplacer.AddFile(directoryInfo);
            }
        }

        var defaulter       = new Defaulter();
        var projectInjector = new CosturaProjectInjector
        {
            ProjectFile = project.FullName
        };

        defaulter.FromModel(projectInjector, model);
        projectInjector.Execute();
    }