Example #1
0
        void AddWebsiteResolveAndCopyReferencesTasks(Target target, ProjectInfo webProjectInfo,
                                                     string final_ref_item, string w_guid)
        {
            BuildTask task = target.AddNewTask("ResolveAssemblyReference");

            task.SetParameterValue("Assemblies", String.Format("@({0}->'%(FullPath)')", final_ref_item));
            task.SetParameterValue("TargetFrameworkDirectories", "$(TargetFrameworkPath)");
            task.SetParameterValue("SearchPaths", "{RawFileName};{TargetFrameworkDirectory};{GAC}");
            task.SetParameterValue("FindDependencies", "true");
            task.SetParameterValue("FindSatellites", "true");
            task.SetParameterValue("FindRelatedFiles", "true");
            task.Condition = String.Format("Exists ('%({0}.Identity)')", final_ref_item);

            string copylocal_item = String.Format("{0}_CopyLocalFiles", final_ref_item);

            task.AddOutputItem("CopyLocalFiles", copylocal_item);

            // Copy the references
            task = target.AddNewTask("Copy");
            task.SetParameterValue("SourceFiles", String.Format("@({0})", copylocal_item));
            task.SetParameterValue("DestinationFiles", String.Format(
                                       "@({0}->'$(Project_{1}_AspNetPhysicalPath)\\Bin\\%(DestinationSubDirectory)%(Filename)%(Extension)')",
                                       copylocal_item, w_guid));

            // AspNetConfiguration, is config for the website project, useful
            // for overriding from command line
            StringBuilder cond = new StringBuilder();

            foreach (string config in webProjectInfo.AspNetConfigurations)
            {
                if (cond.Length > 0)
                {
                    cond.Append(" or ");
                }
                cond.AppendFormat(" ('$(AspNetConfiguration)' == '{0}') ", config);
            }
            task.Condition = cond.ToString();

            task = target.AddNewTask("Message");
            cond = new StringBuilder();
            foreach (string config in webProjectInfo.AspNetConfigurations)
            {
                if (cond.Length > 0)
                {
                    cond.Append(" and ");
                }
                cond.AppendFormat(" ('$(AspNetConfiguration)' != '{0}') ", config);
            }
            task.Condition = cond.ToString();
            task.SetParameterValue("Text", "Skipping as the '$(AspNetConfiguration)' configuration is " +
                                   "not supported by this website project.");
        }
Example #2
0
        // emits the MSBuild task to GetTargetPath for the referenced project
        void AddWebsiteMSBuildTaskForReference(Target target, ProjectInfo depInfo, TargetInfo projectTargetInfo,
                                               TargetInfo solutionTargetInfo, string final_ref_item, int ref_num)
        {
            BuildTask task = target.AddNewTask("MSBuild");

            task.SetParameterValue("Projects", depInfo.FileName);
            task.SetParameterValue("Targets", "GetTargetPath");

            task.SetParameterValue("Properties", string.Format("Configuration={0}; Platform={1}; BuildingSolutionFile=true; CurrentSolutionConfigurationContents=$(CurrentSolutionConfigurationContents); SolutionDir=$(SolutionDir); SolutionExt=$(SolutionExt); SolutionFileName=$(SolutionFileName); SolutionName=$(SolutionName); SolutionPath=$(SolutionPath)", projectTargetInfo.Configuration, projectTargetInfo.Platform));
            task.Condition = string.Format(" ('$(Configuration)' == '{0}') and ('$(Platform)' == '{1}') ", solutionTargetInfo.Configuration, solutionTargetInfo.Platform);

            string ref_item = String.Format("{0}_{1}",
                                            final_ref_item, ref_num);

            task.AddOutputItem("TargetOutputs", ref_item);

            task = target.AddNewTask("CreateItem");
            task.SetParameterValue("Include", String.Format("@({0})", ref_item));
            task.SetParameterValue("AdditionalMetadata", String.Format("Guid={{{0}}}",
                                                                       depInfo.Guid.ToString().ToUpper()));
            task.AddOutputItem("Include", final_ref_item);
        }
Example #3
0
        private void AddXActBuildTask(string intermediateDirectory, string outputDirectory, string rootDirectory, string targetPlatform)
        {
            BuildTask xactTask = m_contentTarget.AddNewTask("CreateItem");

            xactTask.SetParameterValue("Include", "@(Content)");
            xactTask.Condition = "'%(Content.Importer)' == 'XactImporter'";
            xactTask.AddOutputItem("Include", "XACTContent");

            BuildTask bt = m_xnaTarget.AddNewTask("BuildXact");

            bt.SetParameterValue("XactProjects", "@(XACTContent)");
            bt.SetParameterValue("IntermediateDirectory", intermediateDirectory);
            bt.SetParameterValue("OutputDirectory", outputDirectory);
            bt.SetParameterValue("RootDirectory", rootDirectory);
            bt.SetParameterValue("TargetPlatform", targetPlatform);
            bt.SetParameterValue("XnaFrameworkVersion", "v1.0");
        }
Example #4
0
        private void AddContentBuildTask(string intermediateDirectory, string outputDirectory, string rootDirectory, string targetPlatform)
        {
            BuildTask contentTask = m_contentTarget.AddNewTask("CreateItem");

            contentTask.SetParameterValue("Include", "@(Content)");
            contentTask.Condition = "'%(Content.Importer)' != 'XactImporter'";
            contentTask.AddOutputItem("Include", "XNAContent");

            BuildTask bt = m_xnaTarget.AddNewTask("BuildContent");

            bt.SetParameterValue("SourceAssets", "@(XNAContent)");
            bt.SetParameterValue("PipelineAssemblies", "@(PipelineAssembly)");
            bt.SetParameterValue("IntermediateDirectory", intermediateDirectory);
            bt.SetParameterValue("OutputDirectory", outputDirectory);
            bt.SetParameterValue("RootDirectory", rootDirectory);
            bt.SetParameterValue("TargetPlatform", targetPlatform);
        }